Commit Graph

4813 Commits

Author SHA1 Message Date
Gary Elshaw ed394af4d6
Replace gear icon with ellipsis in macOS client (#3178) 2022-06-11 23:24:31 -05:00
Gary Elshaw d4bc5662fe
Add files via upload (#3238) 2022-06-09 12:35:12 -05:00
A Cœur af5db6e6f2
refactor: autogenerate the macOS client's Message Log dots (#3224)
* Replaces DotFlat png with generated icons

* code review: udating popup item icons

* code review: increasing inset
2022-06-08 16:35:51 -05:00
SweetPPro 7056765468
update macOS group indicators (#3183)
* update macOS group indicators

proposal for updated Group indicators, inspired by Xcode, and ios Calendar.

Discussion over here: https://github.com/transmission/transmission/issues/3058

* Update TorrentCell.mm

resolve some pr isssues

* Update TorrentCell.mm

add a group indicator width definition
2022-06-08 15:13:29 -05:00
SweetPPro aabb8c809e
macOS remove FullScreen support (#3220)
removed fullscreen support, as it opens a can of worms trying to fully support it....

https://github.com/transmission/transmission/issues/3215#issuecomment-1147477253
2022-06-08 14:15:51 -05:00
A Cœur 7b6b87b0e6
fix: macOS build warning "cannot find protocol definition for 'PortCheckerDelegate'" (#3222) 2022-06-07 14:27:40 -05:00
SweetPPro 5a140d205d
feat: use system lock icon if available (#3221) 2022-06-06 17:56:05 -05:00
SweetPPro 8d61f07930
fix: missing source file in CMake macOS build (#3208)
* Update CMakeLists.txt

correctly add new files to xcode project
2022-06-05 13:33:18 -05:00
SweetPPro 9cbb4d3384
fix a number of UI render issues in the macOS torrent creator window (#3205)
* fixes a number of UI issues in the macOS torrent creator window listed in: https://github.com/transmission/transmission/issues/1891

* also fixes positioning of the source field, the piece info textfield, and the piece info stepper

* also updates the  tracker add/remove control to use the newer rounded trect style as in the rest of the UI
2022-06-05 11:14:33 -05:00
SweetPPro 70a54b3603
add gearshape temeplate to macOS CMakeLists.txt (#3202)
add missing macOS icon asset to CMakeLists.txt
https://github.com/transmission/transmission/issues/3199
2022-06-05 09:54:45 -05:00
SweetPPro 163f6c2544
more FullScreen fixes, and some toolbar animation fixes (#3195)
* Update Controller.mm

fix fullscreen behaviour as described here https://github.com/transmission/transmission/issues/1906

* more FullScreen fixes, and some toolbar animation fixes

https://github.com/transmission/transmission/issues/1906, https://github.com/transmission/transmission/issues/1903
2022-06-05 08:49:31 -05:00
A Cœur 84195254ec
Fix: "Cannot begin activity without reason string or empty reason string" (#3197) 2022-06-04 18:42:32 -05:00
SweetPPro d31254df50
Update Controller.mm (#3191)
fix fullscreen behaviour as described here https://github.com/transmission/transmission/issues/1906
2022-06-04 14:30:03 -05:00
A Cœur 4906349e3a
Make Sparkle optional to allow running Transmission without Apple Developer Program (#3050)
* Make Sparkle optional to allow building without Apple Developer Program

* Display a nice alert for developers clicking "checkForUpdates" when app isn't signed for Sparkle

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-06-03 12:47:33 -05:00
Mike Gelfand 79d90167fd
Sync translations (#3184)
* Sync translations with code

* Sync translations with Transifex
2022-06-03 10:06:59 +01:00
SweetPPro df657e9a04
Updated macOS segmented control alignment and popup button style (#3156)
* updated macOS group popup button alignment

popup button alignment enhancements described in the following issue: https://github.com/transmission/transmission/issues/3143

* updated macOS segmented controls in Preferences window

as described in the following issue: https://github.com/transmission/transmission/issues/3143
2022-06-02 19:05:15 -05:00
FX Coudert f5e6c5b782
fix: minor xcode warnings in macOS client (#3174) 2022-06-01 19:51:09 -05:00
SweetPPro 182e51492a
fix macOS statusBar icons (#3113)
* fix macOS statusBar icons

* improved CleanupTemplagte images
2022-05-27 06:59:37 -05:00
A Cœur b033b6598e
Fix group icon border (#3094) 2022-05-26 16:04:20 -05:00
A Cœur 2e25370cc5
Fix QuickLook (#3001)
* Fix QuickLook symbol not found; add file sort and filesize
2022-05-19 23:07:17 -05:00
Antoine Cœur 3c056001b1
support pasting multiple magnet links (#3087) 2022-05-16 23:48:39 -05:00
Charles Kerr a28b07b390
Revert "refactor: move tr_torrent callbacks to tr_session (#3003)" (#3104)
This reverts commit 27fbfd8da6.

Fixes #3088.
2022-05-16 13:48:43 -05:00
Antoine Cœur e23a4b3589
refactor copyMagnetLinks (#3086) 2022-05-16 12:08:20 -05:00
Antoine Cœur 25ef121d71
Add "Verify Local Data" to context menu (#3025) 2022-05-14 21:14:54 -05:00
Antoine Cœur 60254710b8
Rename sortTorrentsAndIncludeQueueOrder and nonEmptyComponentsSeparatedByCharactersInSet (#3051)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-05-14 14:00:55 -05:00
SweetPPro 82bede40d1
fix for macOS "Stay within the global bandwith limits" always displaying true (#3079) 2022-05-14 12:57:22 -05:00
Charles Kerr 27fbfd8da6
refactor: move tr_torrent callbacks to tr_session (#3003)
* refactor: move tr_torrent callbacks to tr_session

* Support tr_sessionSet* (#3044)

Co-authored-by: Antoine Cœur <coeur@gmx.fr>
2022-05-14 10:00:13 -05:00
Antoine Cœur c1f5911fc7
'beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:' is deprecated: (#3031)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-05-14 08:20:56 -05:00
Antoine Cœur 340f88bc12
Fix "The left operand of '<' is a garbage value" (#3042) 2022-05-14 02:53:30 -05:00
wiz78 79274bb335
macOS: disable App Nap. Fixes #577 (#874)
* disable App Nap

* Update Controller.m

merged with upstream changes

* Delete Controller.m

* chore: code-style.sh

Co-authored-by: Simone Tellini <wiz78>
Co-authored-by: Simone Tellini <simone@Argon.local>
Co-authored-by: Simone Tellini <simone@tellini.info>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-05-14 01:57:20 -05:00
Antoine Cœur 5d52da8726
Address format conversion warnings in localizations (#3059) 2022-05-14 00:31:24 -05:00
Antoine Cœur 659969a436
Fix Display window option incorrectly enabled on start (#3056) 2022-05-13 21:27:31 -05:00
Antoine Cœur 67f6562ae4
Updating group icon style for newer macOS (#3065) 2022-05-13 19:54:10 -05:00
Antoine Cœur 5026d43920
Add ⌘C support (#3072) 2022-05-13 16:03:07 -05:00
Antoine Cœur d5533ee648
Fix "Port checker returned invalid status: 0" (#3064)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2022-05-10 09:54:39 -05:00
Antoine Cœur e7312eba14
Rename "Remove Data File" to "Trash Data File" (#3057) 2022-05-08 20:47:56 -05:00
Cœur 1f419a3a6f Fix retrieving groups with predicates 2022-05-05 16:14:06 +08:00
Antoine Cœur a57d265968
Set recommended CODE_SIGN_IDENTITY and PRODUCT_BUNDLE_IDENTIFIER (#3043) 2022-05-01 16:55:09 -05:00
Antoine Cœur d498aa1ae1
The left operand of '+' is a garbage value (#3041) 2022-05-01 07:26:45 -05:00
Antoine Cœur 7eecdca68e
clang-format version 12.0.1 + 14.0.3 (#3027) 2022-04-30 12:49:52 -05:00
Antoine Cœur 34ec2f5aa4
Adopting lightweight generics (#2974) 2022-04-29 17:51:40 -05:00
Antoine Cœur aafedcaae1
Address deprecations with NSKeyedUnarchiver (#2973) 2022-04-29 16:44:59 -05:00
Antoine Cœur 42713c6716
OS X → macOS (#2986) 2022-04-26 09:11:44 -05:00
Antoine Cœur 7f9264940e
Compatibility to build on the last macOS 32 bit system with its last compatible Xcode (#2844)
* Compatibility to build on the last macOS 32 bit system with its last compatible Xcode

* Code review: Compatibility declarations

* compatibility with `make`

* Code review: headers

* Avoiding dummy NSImageSymbolConfiguration implementation

* clang-format

* Don't force-include compat header

* Remove compat header from pch header

Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-04-24 21:34:30 +01:00
Antoine Cœur fe40692dea
Balancing HTML opening-closing tags (#2975) 2022-04-24 12:15:02 -05:00
Charles Kerr 32f854a7cf
refactor: add a tr_port safety class (#2952) 2022-04-21 10:58:13 -05:00
Antoine Cœur bdac708762
docs: fix various typos and misspellings (#2955) 2022-04-21 09:28:38 -05:00
Charles Kerr 6cdc7e3828
refactor: remove tr_announce_list::tracker info.announce (#2931) 2022-04-16 15:41:51 -05:00
Antoine Cœur bafb8d6495
Trim spaces when using cmd+u sheet (#2915) 2022-04-15 23:02:25 -05:00
Charles Kerr 31c65eec1f
refactor: remove tr_strvJoin() (#2896) 2022-04-07 17:26:59 -05:00
Charles Kerr 7aeb5d8b2f
Merge branch 'main' into nevack/mojave-infowindow-fix 2022-04-03 13:34:31 -05:00
Dzmitry Neviadomski 7cf920a020 [macOS] Fix Tab selection in InfoWindow on Mojave
Fixes #2599
2022-04-03 16:41:09 +03:00
Gary Elshaw 57b03114dc
New images for 'Message Log' (#2779) 2022-04-02 20:08:39 -05:00
Mike Gelfand d943f069f5
Fix code_style.sh to include *.mm files after switch to Obj-C++ (#2846) 2022-03-31 00:52:23 +03:00
Ali 0a8cfba3b3
Add ability to change piece size during torrent creation in MacOS GUI… (#2805)
* Add ability to change piece size during torrent creation in MacOS GUI (#2416)

* Shouldn't have committed the xcodeproj file
2022-03-24 22:26:21 -05:00
Charles Kerr fa8aaf7631
refactor: remove remaining vararg log messages (#2776) 2022-03-17 17:39:06 -05:00
Charles Kerr 5df252d1e1
fix: calculate ratio as uploaded / sizeWhenDone (#2770) 2022-03-17 13:41:48 -05:00
Charles Kerr 54ef7341a2
refactor: fmt pt 4 (#2774)
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-03-16 19:23:44 -05:00
SweetPPro 4f2472cd93
Update Torrent.mm (#2777) 2022-03-16 15:16:23 -05:00
Charles Kerr 2bd42f8225
fixup: macos log error (#2764)
* fix: assertion failure in MessageWindowController

* feat: update messagwindow xib to new log levels
2022-03-12 11:42:43 -06:00
Charles Kerr d2f8e1d4e0
refactor: set logging levels (#2755) 2022-03-11 15:09:22 -06:00
Markus Amalthea Magnuson 143c5f5381
Added ability to filter on error status. (#19) 2022-03-07 01:01:01 -05:00
SweetPPro a009a7f930
migrate macOS client to using tr_sessionLoadTorrents (#2686)
* migrate macOS client to using tr_sessionLoadTorrents

With this PR the macOS client now loads torrents at startup using `tr_sessionLoadTorrents`

The history file is used in tandem to provide macOS specific additions
2022-03-02 15:11:04 -08:00
Charles Kerr 80ab910cbd
feat: update built-in speed limit settings (#2697)
Fixes #2092.
2022-02-23 20:27:28 -06:00
Dmitry Serov 54d1a02e92
Use properties instead of ivars (#2453) 2022-02-22 10:04:20 -06:00
Mike Gelfand b2a01df64d
Sync existing translations with Transifex 2022-02-21 21:30:30 +00:00
Mike Gelfand bcc0cfa127
Sync existing translations with code 2022-02-21 21:24:50 +00:00
Mitchell Livingston d2ee48d05d Remove the accent color
The app will now use the default system blue when no system-level accent color is set.
2022-02-21 09:38:22 -05:00
Mitchell Livingston 5ea99cb32a Remove the info panel's icons from the xib.
They are not available on earlier versions of macOS and are reset in code.
2022-02-20 17:58:55 -05:00
Charles Kerr 02b6cc76d1
feat: add tr_torrentSetTrackerList(), tr_torrentGetTrackerList() (#2642)
Add a getter/setter for torrent announce URLs as text that can be copied
and pasted: one URL per line, with a blank line between tiers.

C API: tr_torrentGetTrackerList() and tr_torrentSetTrackerList()
RPC APi: `trackerList` in `torrent-get` and `torrent-set`.

This deprecates `trackerAdd`, `trackerRemove`, and `trackerEdit`
from the RPC API.
2022-02-18 11:52:01 -06:00
Charles Kerr 2410ad2fa6
feat: support webseeds in transmission-create (#2611) 2022-02-12 12:50:47 -06:00
Charles Kerr 7bdb6f777b
refactor: remove callback from tr_torrentVerify() public API (#2592) 2022-02-09 12:02:59 -06:00
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
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
Mitch Livingston de3f53131c
Merge branch 'master' into macos-11 2020-11-30 18:06:20 -05:00
Mitch Livingston 21684464e5
Merge branch 'master' into alert-deprecations 2020-11-22 09:05:48 -05:00
Mitchell Livingston 73f2bb52f5 Silence two more warnings 2020-11-22 08:31:39 -05:00
Mitch Livingston c67c3c1b7c
Merge branch 'master' into replace-deprecated-api 2020-11-22 08:07:36 -05:00
Mitchell Livingston 185d6b78a5 Remove beginSheetModalForWindow: deprecation warnings 2020-11-22 08:02:29 -05:00
Mitchell Livingston 21f173904a Update the preferences window to use SF Symbols 2020-11-21 08:27:38 -05:00
Mitchell Livingston b51fd847e7 Update the main window to use SF Symbols 2020-11-21 08:27:07 -05:00
Mitchell Livingston 55e883318d Set an app accent color on macOS 11 2020-11-17 23:46:03 -05:00
Mitchell Livingston 0916844fa5 Remove deprecated min/max toolbar item size 2020-11-17 22:34:33 -05:00
Mitchell Livingston 31413dffb1 Explicitly set the preference window's toolbar style 2020-11-17 22:08:08 -05:00
Mitchell Livingston 7651bb4821 Fix main table view styling 2020-11-17 22:07:45 -05:00
Mitchell Livingston c25bfd70d0 Remove deprecated toolbar items 2020-11-17 22:07:25 -05:00
Mitchell Livingston 08381e4ba3 Update Sparkle to 1.24.0 2020-11-15 10:19:32 -05:00
Mike Gelfand a6798adf2c Sync existing translations with Transifex 2020-11-03 20:26:30 +03:00
Charles Kerr 0bfbc3eba7
Sonarcloud warnings 4 (#1499)
* chore: fix some sonarcloud html warnings (e.g. deprecated attribute use)

* chore: uppercase literal suffixes

* chore: remove redundant casts

* chore: remove commented-out code

* chore: use qInfo() instead of std::cerr
2020-11-02 09:16:12 -06:00
Charles Kerr 73fdd722a7
Sonarcloud warnings 3 (#1498)
* chore: use ClassName:: for calling static methods

* chore: prefer to initialize member data in the class initializer
2020-11-01 19:13:32 -06:00
Charles Kerr 19e52d8b9a
chore: sonarcloud warnings 2 (#1496)
* fix "merge nested if" sonarcloud warnings

* fix explicit constructor warnings in qt client
2020-11-01 15:47:57 -06:00
Charles Kerr e59fe7daaf
fix: silence some sonarcloud warnings (#1493)
* refactor: add null ptr check in initPeerRow()

* refactor: add a nullptr gurad in icon_cache_get_mime_type_icon

* chore: silence two "break notreached" warnings

* chore: silence sonarcloud html warnings

* chore: silence sonarcloud uninitialized var warning

* chore: silence sonarcloud nullptr warning
2020-10-31 16:23:43 -05:00
Mike Gelfand 4c7153fa48
Remove autotools-based build system (#1465)
* Support .git files (e.g. for worktrees, submodules)
* Fix symlinks in source tarball, switch to TXZ, adjust non-release name
* Remove autotools stuff
2020-10-13 03:15:19 +03:00
Mike Gelfand 3a4cc558b6 Sync existing translations with Transifex 2020-10-03 15:36:23 +03:00
Charles Kerr 09cc4c7a68
fix: broken HTML (#1446)
* chore: refresh css files with sass 1.26.10

* fix: css selector for toolbar-separator

* chore: fix duplicate html ids in mac client faq

* fix: duplicate ID 'pagetitle' tags in Mac help

* fix: duplicate ID 'taskbox' tags in Mac help

* chore: fix mismatched div
2020-09-12 21:44:47 -05:00
Federico Bond 78e1436044 macosx: Replace deprecated NSRunAlertPanel call in Controller.m 2020-09-10 02:42:53 -03:00
Mike Gelfand ff8d0dbf3b Switch from UNUSED macro to TR_UNUSED macro
Since there is no way to mark parameters as [potentially] unused in
standard C and when using MSVC compiler, use the widely accepted
cast-to-void approach instead.
2020-08-18 14:19:55 +03:00
Mike Gelfand 0c10308e06
Add missing files that fail build from tarball (#1247)
Fixes: #1246, #1138
2020-05-23 02:13:59 +03:00
Mike Gelfand 4aa60bad52 Sync existing translations with Transifex 2020-05-14 19:16:15 +03:00
Mike Gelfand 2d940e5caf
Bump copyright to 2020 (some more places) (#1206)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2020-05-02 12:26:42 -05:00
Charles Kerr 8739cb9c88
fixup! (trunk) update credits (#1205) 2020-05-02 11:42:18 -05:00
Mike Gelfand a79dbe4436 Sync existing translations with Transifex 2020-05-02 13:25:56 +03:00
Mitchell Livingston 470ee010f2 Revert "Merge pull request #1039 from MaddTheSane/patch-4"
This reverts commit c0c463d660, reversing
changes made to cd2587a435.
2020-04-25 10:35:15 -04:00
Mitch Livingston 3c56953dac
Merge branch 'master' into patch-4 2020-04-20 08:21:23 -04:00
Mitch Livingston 05c67c8a27
Merge branch 'master' into dock_string_crash_fix 2020-04-20 07:59:47 -04:00
Mitch Livingston 8a28db8c1f
Merge branch 'master' into patch-4 2020-04-20 07:55:12 -04:00
Mitch Livingston d8e8d89545
Merge branch 'master' into Progress-bar-colors 2020-04-19 10:18:08 -04:00
Mitchell Livingston b1bdf8e54a Update the progress bar colors in dark mode 2020-04-19 09:40:20 -04:00
Mitchell Livingston fc421b61cd Update PeerProgressIndicatorCell.m
Fix the peer progress number in dark mode.
2020-04-19 08:59:57 -04:00
Mitchell Livingston 3fc90f389e Bump copyright to 2020 2020-04-18 15:18:02 -04:00
Mitchell Livingston 0f8f38b742 Update Sparkle to 1.23.0 2020-04-18 10:52:03 -04:00
Mitch Livingston f041f229bf
Load the tracker icon on the main thread (#1086)
* Load the tracker icon on the main thread

* Call loadTrackerIcon: directly
2020-01-03 00:12:59 -05:00
Mitchell Livingston 1f5a9b35a1 Bump Sparkle to 1.22.0 2019-12-23 21:46:05 -05:00
C.W. Betts 33b792531d Use -[[NSFileManager defaultManager] stringWithFileSystemRepresentation:length:] in one other place. 2019-07-28 16:13:57 -06:00
C.W. Betts 751200f59a Update PrefsController:
Use [[NSFileManager defaultManager] stringWithFileSystemRepresentation:length:] instead of using NSString's creation.
2019-07-21 15:04:09 -06:00
C.W. Betts cabffe76eb Replace -[[NSURL path] fileSystemRepresentation] with just -[NSURL fileSystemRepresentation].
We're targeting a late-enough version of OS X that has that API.
2019-07-20 14:00:19 -06:00
C.W. Betts f1616c5065 Replace some instances of -UTF8String with -fileSystemRepresentation. 2019-07-20 13:40:33 -06:00
Dmitry Serov 4d071deead Log attempts to open non-URL strings 2019-04-19 15:41:02 +07:00
Dmitry Serov 4331d9f0c7 Ignore non-URL strings when opening URLs 2019-04-19 02:28:45 +07:00
Mike Gelfand 3debbc7cb8 Sync existing translations with Transifex 2019-03-06 03:12:51 +03:00
Mike Gelfand 1d6d946388 Fixup some formatting leftovers 2019-02-16 10:50:37 +03:00
fetzu 3c0cb395c5 Updated copyright strings to 2019
Updated Transmission Project copyright dates to 2005-2019 in headers and code.
2019-01-11 19:36:19 +01:00
Mitchell Livingston 4a4233feae Update some selector-based alerts to block-based 2018-12-26 10:15:33 -05:00
Mitchell Livingston 7b815b766c More dark mode fixes 2018-12-26 09:37:03 -05:00
Mitchell Livingston 8b386186e2 missed one 2018-12-24 18:57:23 -05:00
Mitchell Livingston 902ab9a800 Update Sparkle to 1.21.2 2018-12-24 18:57:10 -05:00
Mitchell Livingston 0cbf62411b Enable hardened runtime 2018-12-21 20:15:46 -05:00
Mitchell Livingston adedcf0ff0 Don't have a background on group rules 2018-12-21 18:04:03 -05:00
Mitchell Livingston a1055838e3 On 10.14, use the accent color for the selected info tab 2018-12-21 17:58:15 -05:00
Mitchell Livingston 47cbb898f8 Update the info tab on appearance change 2018-12-21 17:37:17 -05:00
Mitchell Livingston daf6a9d307 Proper dark mode for group rules sheet 2018-12-21 17:14:44 -05:00
Mitchell Livingston d2b3010210 Dark mode support
This is the first pass. A bit more work is needed.
2018-12-21 16:39:47 -05:00
Ilya Chirkov c3bee045e1
Fix typo 2018-10-16 21:11:58 +03:00
Mike Gelfand 1b36e34d9b Update Sparkle to 1.20.0
Unfortunately, due to the nature of the issue a manual update to a new
version will be required.

Fixes: #600
2018-10-04 23:38:23 +03:00
Mike Gelfand 00deae05c1 Disable tabbing mode for all Mac client windows 2018-09-30 14:41:40 +03:00
Mike Gelfand 8863e88570 Fix build with Xcode 10
For some reason, Mac client is the only project that references
libtransmission files as if they were a part of its own project, and
inconsistently so. Make the include/import style uniform an in line with
other projects.

Adjust Mac client include directory settings a bit along the way.
2018-09-30 13:37:30 +03:00
Mitch Livingston 7f00828ec5
Merge pull request #583 from TimeDoctor/master
Updated copyright string to 2018
2018-09-02 11:08:45 -04:00