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

4576 commits

Author SHA1 Message Date
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
Charles Kerr
d6cb99e57c
perf: use scrape to know when a private swarm is all-seeds (#1780)
* perf: use scrape to know when a swarm is all-seeds

For private torrents, the tracker is the sole source of peers. So when a
private torrent's tracker responds that there are 0 leechers, we can use
that information to mark the entire swarm as seeders and to not initiate
connections to those peers if we are seeding. This can help seedboxes to
more efficiently pick which swarms to prioritize.

This strategy is not used on public torrents, since new seeder-to-seeder
connections can be useful there for pex.

This PR changes tr_peerMgrAddPex() to (1) remove tr_atom.seedProbability
field (which was not as robust as intended) and (2) add batches of peers
instead of a single peer.

* fix: only use all-seeds check for private torrents
2021-09-09 15:25:30 -05:00
Mike Gelfand
db3d40d0ed Switch to clang-format for code formatting, include Mac client 2021-08-16 00:38:29 +03:00
Dmitry Serov
af3a4d4557
Modern Objective-C syntax (#509)
* Update enabled complier warnings

* Convert to Modern Objective-C syntax using Xcode's tool

* Convert to modern objc syntax manually, fix some PR issues

* Remove unnecessary parentheses

* Use property syntax for all custom properties

* Use property syntax for all system properties

* Fix erroneously autoreleased values

* Revert VDKQueue to old objc syntax

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
Co-authored-by: Mitch Livingston <livings124@mac.com>
2021-08-07 10:27:56 +03:00
Mike Gelfand
faafc9e02f Generate app icon file for CMake build
TODO: Look into switching to .car file for all resources.

Fixes: #1672
2021-04-25 00:56:48 +03:00
Mitchell Livingston
7edd656536 Update app icon from icns to pngs in the asset catalog 2021-03-29 22:07:55 -04:00
Mitch Livingston
fc0e14da06
Merge pull request #1651 from transmission/icon-badges
Simplified download badges
2021-03-29 19:04:45 -04:00
Mitchell Livingston
20bd1146ce Simplified download badges
Thanks to Rodger Werner
2021-03-29 18:39:57 -04:00
Mitchell Livingston
180e59ab6b macOS icon redesigned for Big Sur 2021-03-29 18:05:30 -04:00
Dzmitry Neviadomski
e5bff86ae7 Remove redutant statements. 2021-01-18 05:52:38 +03:00
Dzmitry Neviadomski
18266e080e Move ivars to @implementation. 2021-01-12 22:06:30 +03:00
Mitchell Livingston
e9ece48c87 remove unused method 2021-01-02 23:30:47 -05:00
Mitchell Livingston
1527698de4 Fix a few deprecation warnings 2021-01-02 23:29:08 -05:00
Mitchell Livingston
37573c9821 Remove unused background gradient variables 2020-12-30 20:18:12 -05:00
Mitchell Livingston
567cfff1e7 Update CMakeLists.txt 2020-12-23 08:15:32 -05:00
Mitchell Livingston
74189416c6 Remove pre-10.10 codepaths 2020-12-22 22:00:06 -05:00