Commit Graph

117 Commits

Author SHA1 Message Date
Dzmitry Neviadomski
54f0417f42 Simplify "bars" logic in Main Window (#7840)
* Adopt NSTitlebarAccessoryViewController for filter and status bars

Also remove custom views as separator is drawn with Horizontal Line.
Simplifies maintainance a bit.

* Unembed main content and status bar from NSStackView

Stack is no longer needed, as bars are moved into titlebar.
2025-11-19 21:30:55 -05:00
Dzmitry Neviadomski
4d8a1e5e78 Adapt to Liquid Glass window corner metrics (#7829) 2025-11-17 19:50:18 -05:00
Cœur
78238ec3de fix corruption: torrentVerify on completion (#4178)
* torrentVerify on completion

* Make torrent verify on completion configurable via settings

* code review: replacing tr_verify_complete_mode with bool

* code review: sorting torrent_complete_verify_enabled with bool

* Update Application.cc

* code review: avoiding `session->onTorrentCompletenessChanged` before verification completion
2025-11-10 14:16:15 -06:00
Dzmitry Neviadomski
85a325ed71 feat: Introduce PowerManager on macOS (#7543)
- Use modern APIs to prevent idle system sleep.
- Consolidate all related logic.
- Make Controller class a little bit less huge.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2025-11-02 14:41:22 -06:00
Yat Ho
08ec7fb7c7 build: lint header files with clang-tidy (#7527)
* build: clang-tidy headers when building libtransmission

* chore: revert `= default` workaround

It was introduced in 6909ec0bad to fix build issues with macOS 10.14. We
no longer support that version.

* fix: clang-tidy warnings for libtransmission

* build: clang-tidy headers when building tests

* fix: clang-tidy warnings for tests

* build: clang-tidy headers when building qt

* code review: don't manually edit mime-types.h

* code review: unify variable naming for static private members
2025-05-07 22:10:16 +01:00
Cœur
9513cdaebb feat: clear the badge when quitting app (#7088) 2024-10-22 09:34:55 -05:00
Cœur
4e25c038a6 mac os autosize dock fix (#7188)
* macOS autosize dock fix

* Fix: Move variable declaration inside block to minimize scope length

* Fix: Move comment to its own line for better readability

* Fix: Use dot syntax for accessing scrollViewHeight property in calculateScrollViewHeightWithDockAdjustment method

* Fix: Add CGFloat type declaration for height variable

* rollback alignment change for clang-format

---------

Co-authored-by: emeritaacuity0u <emerita.acuity_0u@icloud.com>
2024-10-22 09:33:28 -05:00
Cœur
d9d87eddd8 Bumping MACOSX_DEPLOYMENT_TARGET to 11.0 (#6911)
* Bumping MACOSX_DEPLOYMENT_TARGET to 11.0

* removing obsolete code and resources

* Add a build action for Transmission.xcodeproj

* removing obsolete code
2024-08-22 15:07:17 -05:00
Cœur
fe385259cc Opt-in to secure coding explicitly (#7020) 2024-08-13 01:00:02 +01:00
Cœur
92478ec849 refactor: rename "UpdateQueue" to "UpdateTorrentsState" (#6613) 2024-05-25 18:43:08 -05:00
Cœur
c0c00d0d19 Replace mac app default BindPort with a random port (#5102) 2024-04-01 11:53:04 -05:00
Cœur
c63c66c737 fix: Sparkle Version Comparator (#5263)
* fix: Sparkle Version Comparator

* Code review: Reducing CFBundleVersion to three components and avoiding versionComparatorForUpdater

* adding +99 when it's a non-beta release

* code review: set CFBUNDLE_VERSION and unset components

* re-adding support for ignoring beta
2024-03-17 16:23:39 -05:00
Cœur
3f71114691 feat: support multiple magnets on the same line (#6465) 2024-02-11 19:05:03 -06:00
Cœur
81008a1692 only use a single concurrent queue for timeMachineExclude instead of one queue per torrent (#6523)
* only use a single concurrent queue for timeMachineExclude instead of one queue per torrent

* moving to +initialize for now (will become a `static let` in Swift anyway)

* DISPATCH_QUEUE_SERIAL because DISPATCH_QUEUE_CONCURRENT is limited to 64 simultaneous torrent dispatch_async

* `static` is better than `global`, to make it private to a single compilation unit
2024-01-28 22:49:06 -06:00
Cœur
6647df9be6 feat: support multiple URL objects from pasteboard (#6467) 2024-01-01 22:35:57 -06:00
Cœur
e5e768e2ab fix: implicit conversion loses integer precision (#6466) 2023-12-31 14:04:26 -06:00
Mingye Wang
e951ed2508 Use screen.visibleFrame instead of screen.frame (#6321)
* Use screen.visibleFrame instead of screen.frame

NSScreen.frame does not account for the dock, which can be at the bottom or any of the sides. As a result, layout errors that smash things into the dock can occur in the Y or X direction. visibleFrame accounts for the dock.

Should fix #4779. Untested.

* Update TorrentTableView.mm

* Remove -= 50 in max height calculation
2023-12-16 09:22:06 -06:00
Charles Kerr
76521a1751 refactor: Values pt. 7 - remove tr_formatter_init methods (#6258)
* refactor: initialize libtransmission::Values units in Application::initUnits()

* refactor: use libtransmission::Values instead of Formatter::unitStr()

* refactor: remove Formatter::Size, Formatter:Type

* refactor: use Values::Config to init units in transmission-qt

* refactor: use Values::Config to init units in transmission-mac

* chore: remove unused tr_formatter_foo_init() functions

* chore: make Value::operator+() const

* use Values::Speed, Values::Storage in GTK client

* chore: use snake_case for Formatter methods

* refactor: use Values::Speed in GTK client details dialog

* feat: add Values::Value::is_zero()

* refactor: remove unnecessary UTF8String calls
2023-11-15 22:15:40 -06:00
Cœur
5d56e9039a fix: torrentTableView crash after superview.superview.superview (#6207) 2023-11-05 14:35:22 -06:00
Cœur
586a9eb862 fix: Implicit conversion loses integer precision (#4919) 2023-11-05 09:06:24 -06:00
Julien
8ac323d5d6 chore: removed copyright timespans in headers (#4850) 2023-11-01 16:11:11 -05:00
Cœur
a7f93f4f15 feat: support redirects to magnet (#6012) 2023-09-30 16:02:10 -05:00
Charles Kerr
6ead147620 refactor: use new tr_variant API in tr_session (#6006) 2023-09-16 08:23:35 -05:00
Cœur
92c8c41c0b fix: selected torrents when moving rows (#5991)
* Fix selected torrents when moving rows

* code review: keep selected torrents when toggling group presentation
2023-09-10 21:39:01 -05:00
Charles Kerr
ebb1b775af refactor: public tr_session settings API now returns tr_variants (#5983) 2023-09-07 19:05:16 -05:00
Charles Kerr
5837603b6f refactor: make tr_variant follow RAII (#5923) 2023-08-20 23:15:23 -05:00
SweetPPro
635268854b refactor: view-based TorrentTableView in macOS client (#5147)
Converted TorrentTableView from older style cell based table to more modern view based
* floating group rows are now used for an improved groups experience
* individual group indicators are hidden when _Use Groups_ is selected to minimize visual clutter (see #3328 )
* removed negated `usesAlternatingRowBackgroundColors` flag for minimal view in Controller.mm (personal preference - easy to restore)
2023-06-27 14:40:44 -05:00
Gary Elshaw
52c45eb85f fix: some typos in macos source code comments (#5475) 2023-04-29 14:00:35 -05:00
Charles Kerr
9d2507c7e3 refactor: snake_case in libtransmission class methods (#5428) 2023-04-22 20:25:55 -05:00
Dmitry Serov
ca392ba5da refactor: use idiomatic enum names & types in objc (#5090) 2023-04-15 16:33:43 -05:00
Cœur
6156d90917 build: use RECOMMENDED_MACOSX_DEPLOYMENT_TARGET (#5282) 2023-04-14 15:02:52 -05:00
Cœur
febc5b7ef4 feat: add "Show Toolbar" toggle (#4419) 2023-04-14 13:09:12 -05:00
Cœur
1851b80d8c feat: add sort-by-ETA for macOS (#4169) 2023-04-14 12:19:06 -05:00
Cœur
1b81883e66 fix: crash on launch from tapping on a notification (#5280) 2023-03-24 08:04:30 -05:00
Cœur
8a374a3310 fix: macOS watchdirs (#5058) 2023-02-25 22:50:30 -06:00
Dzmitry Neviadomski
026ab5ffc6 fix: Use bounds for relative NSPopover positioning. (#5019)
Fixes #5013

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2023-02-23 18:40:29 -06:00
Julien
4b8cfa2e57 chore: update copyrights to 2023 (#4834) 2023-02-11 14:49:42 -06:00
Cœur
3fb1f8bcd7 fix: CoreAutoLayout hang during runCustomizationPalette on macOS 13.2 (#4709) 2023-02-06 12:54:38 -06:00
Cœur
41b8044b88 fix ToolbarItemIdentifierPauseResumeAll (regression from #3974) (#4692) 2023-01-31 11:04:41 -06:00
Clément Fauchereau
096db96bca fix: two Help menus in macOS (#4500) 2023-01-14 15:25:57 -06:00
SweetPPro
d967de0c5b macOS remove defunct share code (#4440) 2022-12-22 15:44:46 -06:00
Cœur
db802afc4f Addressed various warnings (#4414) 2022-12-21 14:21:16 -06:00
Cœur
cc9bc748b0 Removed ToolbarSegmentedCell (#4418) 2022-12-21 11:13:12 -06:00
Cœur
578099bf1c Replaced deprecated NSURLDownload with NSURLSessionDownloadTask. (#4308) 2022-12-15 18:19:27 -06:00
Cœur
fe1ee80342 Sorting by size should be instead by sizeWhenDone (#4365) 2022-12-14 11:46:32 -06:00
Cœur
84c0001e2f Fixed archivedDataWithRootObject: is deprecated (#4310) 2022-12-14 00:42:49 -06:00
SweetPPro
9f2a981c8c fix: empty tableview rows on macOS (#4333) 2022-12-09 13:06:00 -06:00
A Cœur
e4276a3018 Use NSIndexSet getIndexes:maxCount:inIndexRange: directly (#4179) 2022-11-27 23:10:03 -06:00
Daniil Subbotin
9a6fbc9ced Fix deleting previously selected torrent when trying to clear search field using Command + Delete (#4245)
* Fix deleting previously selected torrent when trying to clear search field using Command + Delete

Fixes #3599

* Fixes after code review

* Fixes after code review

* chore: make clang-format happy

Co-authored-by: Daniil Subbotin <d.subbotin@opends.tech>
2022-11-27 22:31:26 -06:00
A Cœur
3ecf0dfccd Fix "NSFilenamesPboardType is deprecated" (#4221) 2022-11-23 17:09:32 -06:00