1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-02-20 21:26:53 +00:00
Commit graph

4591 commits

Author SHA1 Message Date
Charles Kerr
318d60b72d
refactor: fix sonarcloud "use enum class" code smells (#2590)
* refactor: prefer constexpr over enum for GUI_PAD values

* refactor: prefer constexpr over enum for PrefsDialog values

* refactor: prefer constexpr over enum for StatsDialog values

* refactor: use enum class for GtrUnicode types

* refactor: prefer constexpr over enum for BT peer msg codes

* refactor: use enum class for TrMakemetaResult

* refactor: prefer constexpr over enum for BT metadata message types

* refactor: use enum class for AwaitingBt

* refactor: use enum class for EncryptionPreference

* refactor: use enum class for TrFormat in rpcimpl

* refactor: prefer constexpr over enum for QApp intervals

* refactor: prefer constexpr over enum for tr_resume bitfields

* refactor: prefer constexpr over enum for Qt/TrFileModel bitfields

* refactor: remove obsolete TODO comment in announce-list
2022-02-08 20:25:19 -06:00
Mitchell Livingston
0ea4a38c73 Update Sparkle to 1.27.1 2022-01-30 17:10:51 -05:00
FX Coudert
4fe33496c7
macOS: remove quitting badge (#2495)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-01-25 11:45:06 -06:00
C.W. Betts
3b4909ac9d
Move private interfaces to interface extensions (#932) 2022-01-23 19:32:45 -06:00
Charles Kerr
df1cca9b57
chore: update copyright years, make notices consistent (#2463) 2022-01-20 12:27:56 -06:00
Charles Kerr
8d75736ad1
fix: empty torrent filename (#2435)
fix torrents readded due to unremoved cfg files.
2022-01-17 23:14:00 -06:00
Charles Kerr
bcf5e4636a
fix: calculate seed ratio by torrent size. (#2424)
Previously was calculated by number of bytes downloaded, which caused
edge cases when those two numbers were not the same, e.g. if the user
already had part of the torrent from another source and only downloaded
a small part. When this happened, the ratio could be very large and use
of seedratio would behave in a way that most people would not expect.

Note, the old behavior has been around for a VERY LONG TIME. Even though
this is a bugfix, it does change semantics. I don't think there is any
third-party code that depends on the old behavior but this is arguably
a breaking change.
2022-01-17 17:16:37 -06:00
Charles Kerr
dfc06fe918
refactor: use std::vector in tr_info (#2386) 2022-01-09 10:55:09 -06:00
Charles Kerr
8b65b660c8
refactor: use std::string in tr_file (#2382) 2022-01-08 12:53:35 -06:00
Charles Kerr
02aa2f46d4
refactor: don't use varargs in tr_error (#2352) 2021-12-27 20:32:22 -06:00
Charles Kerr
a515c1d94b
refactor: use tr_torrent_metainfo in tr ctor (#2345) 2021-12-26 10:25:07 -06:00
Charles Kerr
3f8cf63e59
refactor: use tr_torrent_metainfo in mac client (#2343) 2021-12-25 21:12:32 -06:00
Charles Kerr
b058daff4b
refactor: change tr_torrentNew() args (#2337) 2021-12-24 16:05:17 -06:00
Charles Kerr
dd1379b0b6
refactor: add tr_interned_string (#2332) 2021-12-23 11:16:05 -06:00
Charles Kerr
b93f3f0463
refactor: more tr_torrent housekeeping (#2320) 2021-12-16 03:43:51 -06:00
Charles Kerr
1e20d676c1
refactor: make tr_torrentInfo() private (#2285)
* refactor: make tr_torrentInfo() private
2021-12-14 15:59:44 -06:00
Charles Kerr
656df477f2
refactor: add tr_announce_list (#2308)
* refactor: add tr_announce_list (#2308)
2021-12-14 14:59:40 -06:00
Dzmitry Neviadomski
e73395e531 [macOS] Use old icon name for Square Grid to support older macOS
`square.grid.3x3.fill.square` is deprecated name for `square.grid.3x3.square`.
The former is available on macOS 11.0+, while the latter is for macOS 12.0+.
They are the same visually.

Fixes this report https://github.com/transmission/transmission/pull/2269#issuecomment-991980368
2021-12-13 07:36:03 +03:00
Dzmitry Neviadomski
c38ee22f7f [macOS] Update Info window.
Use SF Symbols on macOS 11+

Use NSSegmentedControl instead of custom view.

Add NSImage extension to fallback loading from
assets on macOS 10.15 and older.

Also should fix sizing issues when changing pane from Options
to Files.

Fixes #2247
2021-12-12 08:24:16 +03:00
Charles Kerr
ef7ff98f03
Merge branch 'master' into patch-1 2021-12-09 11:17:44 -06:00
Charles Kerr
ab0c49859e
refactor: add tr_torrentTrackers() (#2282)
* refactor: add tr_torrentTrackers()
2021-12-08 10:55:52 -06:00
Charles Kerr
c46ce2da06
refactor: add tr_torrentWebseed(), tr_torrentWebseedCount() (#2277)
* refactor: add tr_torrentWebseedCount()
2021-12-07 12:11:28 -06:00
FX Coudert
c4b9a5b53a
Change accent color to match macOS red choice 2021-12-07 09:16:53 +01:00
Charles Kerr
34881f6295
refactor: make parts of tr file private (#2241)
* refactor: make parts of tr_file private
2021-11-27 21:17:47 -06:00
FX Coudert
d3c3058f16
Mac client uses freed memory (#2234)
* Update main.mm
2021-11-27 15:59:46 -06:00
Dzmitry Neviadomski
1459220b5b
[macOS] Fix downloading compressed peer blocklists (#2191)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-11-21 11:36:06 -06:00
Dzmitry Neviadomski
53f799ada6
Migrate macOS BlocklistDownloader to NSURLSession. (#2101)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-11-10 12:55:15 -06:00
Dzmitry Neviadomski
1449ccac49
Migrate deprecated NSWorkspaceRecycleOperation (#2113)
Also make code flow less nested

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-11-10 12:20:06 -06:00
Charles Kerr
d8b57fe4dc
refactor: web_utils (#2121)
* chore: move web utils from web, utils to web-utils
2021-11-08 21:30:03 -06:00
Charles Kerr
4ecf74081c
refactor: remove tr_ctorSetMetainfoFromHash() (#2116)
* refactor: remove tr_ctorSetMetainfoFromHash()
2021-11-07 20:04:07 -06:00
Dzmitry Neviadomski
689063b305
Fix deprecated NSURL to NSString conversion. (#2090)
clang warning:
```
'stringByReplacingPercentEscapesUsingEncoding:' is deprecated: first deprecated in macOS 10.11 - Use -stringByRemovingPercentEncoding instead, which always uses the recommended UTF-8 encoding. [-Wdeprecated-declarations]
```

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-11-03 10:04:05 -05:00
Dzmitry Neviadomski
1bf6189526
Migrate Deprecated OSAtomicIncrement32 function. (#2074)
As per clang output:
`warning: 'OSAtomicIncrement32' is deprecated: first deprecated in macOS 10.12 - Use std::atomic_fetch_add_explicit(std::memory_order_relaxed) from <atomic> instead`
2021-11-03 01:00:52 -05:00
Dzmitry Neviadomski
b8c01a581e
[macos] Replace Deprecated constants. (#2038)
* Replace Deprecated constants pt.1

- `NSOnState` -> `NSControlStateValueOn`
- `NSOffState` -> `NSControlStateValueOff`
- `MSMixedState` -> `NSControlStateValueMixed`

* Replace Deprecated constants pt.2

- `NS(\w+)AlertStyle` -> `NSAlertStyle$1`

* Replace Deprecated constants pt.3

- `NSFileHandlingPanel(\w+)Button` -> `NSModalResponse$1`

* Replace Deprecated constants pt.4

- `NSMouse(Entered|Exited)Mask` -> `NSEventMaskMouse$1`
- `NS(Left|Right)Mouse(Down|Up|Dragged)Mask` -> `NSEventMask$1Mouse$2`
- `NSMouse(Entered|Exited)` -> `NSEventTypeMouse$1`
- `NS(Left|Right)Mouse(Up|Down)` -> `NSEventType$1Mouse$2`

* Replace Deprecated constants pt.5

- `NSComposite(\w+)` -> `NSCompositingOperation$1`

* Replace Deprecated constants pt.6

- `NSAlternateKeyMask` -> `NSEventModifierFlagOption`
- `NSCommandKeyMask` -> `NSEventModifierFlagCommand`

* Replace Deprecated constants pt.7

- `NS(\w+)TextAlignment` -> `NSTextAlignment$1`
- `NSBackgroundStyleDark` -> `NSBackgroundStyleEmphasized`

* Replace Deprecated constants pt.8

- `NSTexturedRoundedBezelStyle` -> `NSBezelStyleTexturedRounded`
- `NSBorderlessWindowMask` -> `NSWindowStyleMaskBorderless`
- `NS(OK|Cancel)Button` -> `NSModalResponse$1`
2021-10-31 10:18:27 -05:00
Dzmitry Neviadomski
cdec576fc9 Fix clang warning in VDKQueue.m
Fix warning `Method override for the designated
initializer of the superclass '-init' not found`
with `NS_UNAVAILABLE` marker.
2021-10-30 01:05:13 +03:00
Dzmitry Neviadomski
9bb3de406b
Fix CMake and Ninja rebuilds on macOS. (#2036)
The problem could occur with Makefiles also.
Use `-r` option on `rm` as `*.iconset` is a directory.

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-10-24 16:48:20 -05:00
Oleg Chashko
54b85583e6
Fixes #1904 (#2019)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-10-22 19:16:08 -05:00
Oleg Chashko
0c39924074
Fixed: #1890 (#2013) 2021-10-22 11:58:53 -05:00
Oleg Chashko
af38bb1dc3
Fixed: In the "Filter Bar" the "Groups" icon is clipped at the top #1905 (#2005)
* Fix & Added for #443. Fixes: #1905
2021-10-22 07:46:54 -05:00
Oleg Chashko
3d5fb103d3
Fixed: #1902 (#2008)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-10-22 07:45:09 -05:00
Charles Kerr
8cdc2c633e
refactor: replace tr_torrentFiles() with tr_torrentFileProgress() (#1994)
* refactor: s/tr_torrentFiles/tr_torrentFileProgress

Replace tr_torrentFiles() with a new function, tr_torrentFileProgress().

tr_torrentFiles() heap-allocated an array of progress structs. There is
nothing intrinsic in tr_torrent making batch computation more efficient,
so this PR replaces it with tr_torrentFileProgress(), a per-file variant
that doesn't use the heap.
2021-10-21 13:31:03 -05:00
Charles Kerr
241dc34019
fixup! refactor: tr_variant*Str() functions now take a std::string_view (#1990) (#1999) 2021-10-20 17:43:31 -05:00
Oleg Chashko
83ec912c5d
Fix & Added for #443 (#1991)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-10-19 09:15:37 -05:00
Daniel Kamil Kozar
77b11232f2
Add support for creating torrents with a source flag (#443)
* Add support for creating torrents with a source flag

* Add the source flag functionality for Mac OSX

* Source flag should be a part of the info dictionary

* Address review comments

* Rename "sourceFlag" to "source" since "Flag" is usually reserved for booleans.
* Free the "source" pointer in tr_metainfoFree.
* Add information about transmission-create argument to its manpage.

* Replace all occurences of "sourceFlag" with "source" and use "Source tag" in UI

* Settle on just "Source" in UI

* The last usage of "flag" hopefully bites the dust! ;-)

* Add a missing free for the source in tr_metainfoFree

* Add a "source" field to the torrent-get RPC method

* uncrustify

* Test for torrents having different infohashes due to different source flags.

This is the whole point of this feature, so it makes sense to test it.

* case is important

* try to incorporate the macosx xml changes
2021-10-18 18:05:39 -05:00
Oleg Chashko
2bd2f0738e
fix: macOS gui with Russian l10n does not fit lines of text. (Fixes #1963) (#1973)
* Fixed: #1963

* Fixed: (✕) -> Changed to (No Group) & (None)

* Fixed: Удалённое управление -> Удалённый доступ

* Удаленное управление -> Удалённый доступ
2021-10-17 13:45:25 -05:00
Oleg Chashko
b0f36a9841
Fix: issue #1940 (#1955)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-10-14 13:18:18 -05:00
Oleg Chashko
5947329a51
Fix: issue #1889, #1894, #1912, #1913 (#1923)
* Fix: issue #1889

* Fix: issue #1894

* Fix: issue #1912

* Fix: issue #1913
2021-10-13 11:04:10 -05:00
Charles Kerr
98e16a178f
refactor: add an enumeration of the script types (#1934)
* refactor: add an enumeration of the script types

This simplifies the API by having a single set of functions that can be
used for getting/setting all the script types.
2021-10-12 22:46:12 -05:00
Charles Kerr
1fb5a79813
refactor: use maybe unused attribute (#1918)
* refactor: replace TR_UNUSED with [[maybe_unused]]
2021-10-10 11:52:26 -05:00
Mike Gelfand
b7ba261359
Port macOS client to C++ (#1830)
* Rename all .m (Obj-C) files to .mm (Obj-C++)

* Fix build in Obj-C++ mode

* Fix Xcode build
2021-09-24 07:56:57 -05:00
Charles Kerr
97a6f1232e
fixup! perf: prioritize announces based on scrape stats (#1782) (#1786)
* fixup! perf: prioritize announces based on scrape stats (#1782)
2021-09-11 08:11:46 -05:00