Commit Graph

4852 Commits

Author SHA1 Message Date
Mike Gelfand bc380511db
Modernize CMake code (ongoing refactoring) (#4507)
* Reformat CMake code

* Bump minimum CMake version to 3.12

* Add target sources separately via `target_source()`

* Make `tr_win32_app_info()` add target sources on its own

* Don't use `include_directories()`

* Don't use `add_definitions()`

* Limit use of `add_compile_options()`

* Move VDKQueue target declaration to a subdirectory

* Add `tr_disable_source_files_compile()` helper

* Add `tr_target_glib_resources()` helper

* Add `tr_gettext_msgfmt()` helper

* Enable AUTOUIC for Qt client

* Enable AUTORCC for Qt client

* Remove AUTO{MOC,RCC,UIC} source group overrides

* Add `tr_target_idl_files()` helper

* Move source group setup to `tr_qt_add_translation()`

* Add `tr_target_xib_files()` helper

* Prefer `target_sources()` to intermediate variables

* Use explicit visibility versions of `target_*()` commands

* Prefer genexes to conditions in `target_*()` commands

* Add `tr_allow_compile_if()` helper

* Leave only top-level `project()`, remove the rest

* Minor fixups

* Fixup Mac QL plugin install

* Fixup IDE target folders and source groups
2023-01-01 19:49:48 +00:00
Cœur 3777796ce2
fix: "Open Torrent Address" not remembering previous address (#4461) 2022-12-31 12:17:24 -06:00
Cœur ecb04b4cb1
Fix BlockListDownloader unzipFrom (#4473) 2022-12-27 22:08:48 -06:00
SweetPPro e40b3b05ba
set selected torrentTableView backgroundstyle (#4458)
Fixes: #4375
2022-12-24 12:19:53 -06:00
SweetPPro 342ea650df
refactor ActivityView (#4448)
Refactor based on suggestions from #4400.

Provides a fix which supercedes #4427.
2022-12-24 11:54:37 -06:00
SweetPPro 3d04dd6828
macOS - use autolayout in statistics view (#4460)
Fixes: #4459
2022-12-24 01:35:55 -06:00
Cœur 25cc7c0021
Add missing GroupTextCell.h (#4455) 2022-12-23 17:14:31 -06:00
Cœur 8a5260f24c
Fixed DragOverlayWindow file icon and name (#4428)
* Fixed DragOverlayWindow file icon and name

* Fixed dragging for BitComet torrents
2022-12-22 20:07:45 -06:00
Cœur 1819e544b4
Addressed lockFocus is deprecated (#4441) 2022-12-22 16:37:10 -06:00
SweetPPro d967de0c5b
macOS remove defunct share code (#4440) 2022-12-22 15:44:46 -06:00
Cœur e32cac98ce
Add missing GroupPopUpButtonCell and PriorityPopUpButtonCell to CMakeLists.txt (#4417) 2022-12-21 20:01:52 -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
SweetPPro 5d5893036d
fix: layout issues in macOS client torrent inspector window (#4366) 2022-12-16 12:27:37 -06:00
SweetPPro 078dc8bd08
removed redunant code from AddMagnetWindow (#4374) 2022-12-16 00:04:59 -06:00
Cœur 578099bf1c
Replaced deprecated NSURLDownload with NSURLSessionDownloadTask. (#4308) 2022-12-15 18:19:27 -06:00
Cœur 30d3ce872f
feat: move the filter bar's search field one pixel up (#4367) 2022-12-14 20:44:21 -06:00
Cœur fe1ee80342
Sorting by size should be instead by sizeWhenDone (#4365) 2022-12-14 11:46:32 -06:00
Cœur 0b0f8704d6
build: move CMAKE_OSX_DEPLOYMENT_TARGET FATAL_ERROR next to its default setting (#4323) 2022-12-14 10:11:32 -06:00
Cœur 84c0001e2f
Fixed `archivedDataWithRootObject:` is deprecated (#4310) 2022-12-14 00:42:49 -06:00
Cœur ec1e679395
Fixed memory leak in BlocklistDownloader (#4309) 2022-12-12 15:12:04 +00:00
SweetPPro 9f2a981c8c
fix: empty tableview rows on macOS (#4333) 2022-12-09 13:06:00 -06:00
Dmitry Antipov bf6c80ae35
refactor, ci: switch clang-format to LLVM 15 (#4297)
Bump required clang-format version to 15
2022-12-02 09:57:50 -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
Mike Gelfand d381939267
Sync translations (#4247)
* Sync translations with code

* Sync translations with Transifex
2022-11-26 16:32:26 +00:00
A Cœur ef2415293b
we do not support LevelButtonLevelTrace (#4236) 2022-11-25 16:01:29 -06:00
A Cœur 6b861806a6
Fix building with cmake on macOS Mojave (#4234) 2022-11-24 11:20:48 -06:00
A Cœur 3ecf0dfccd
Fix "NSFilenamesPboardType is deprecated" (#4221) 2022-11-23 17:09:32 -06:00
A Cœur b612020576
Support UserNotifications framework (#3040) 2022-11-23 13:47:56 -06:00
A Cœur 191c6d1402
fix: SecKeychain is deprecated (#4190) 2022-11-21 23:14:10 -06:00
A Cœur d26db72d7e
Fix "Implicit conversion loses integer precision" (#4194) 2022-11-21 10:19:45 -06:00
A Cœur 292b092f54
Fix hang in CSBackupSetItemExcluded (#4208) 2022-11-19 08:50:13 -06:00
A Cœur a152d0f6d8
Appropriate and improve VDKQueue (#4202) 2022-11-18 13:53:36 -06:00
A Cœur 6fcdb526c7
Fix crash on torrent filenames in non-UTF-8 encoding (#4144) 2022-11-18 10:03:25 -06:00
A Cœur 7a2d2ff0cf
Fix cmake CFBundleVersion and LSMinimumSystemVersion (#4185)
* Fix cmake CFBundleVersion and LSMinimumSystemVersion

* code review: use CMAKE_OSX_DEPLOYMENT_TARGET
2022-11-16 13:40:19 +00:00
A Cœur befeafbcfe
hook action in the xib (#4135) 2022-11-15 10:50:16 -06:00
A Cœur bde1359d5d
Adopt localizedStringWithFormat for displayed quantities (#4109)
* Adopt localizedStringWithFormat for displayed quantities

* xib internationalization support is done
2022-11-14 18:30:03 +00:00
A Cœur caefebd102
remove duplicate Portuguese (#4141) 2022-11-14 15:53:57 +00:00
Mike Gelfand c9debcfd48
Sync translations (#4161)
* Sync translations with code

* Sync translations with Transifex
2022-11-14 09:48:42 +00:00
A Cœur 855b782604
Accessibility description for images (#4149) 2022-11-13 21:39:34 -06:00
A Cœur b322971f6a
Fix create torrent out-of-range piece size (#4145) 2022-11-13 13:53:25 -06:00
A Cœur ff2e544a6b
Fix "Block implicitly retains 'self'" (#4132) 2022-11-13 13:10:58 -06:00
A Cœur d8e7664f2b
Fix "terminating with uncaught exception of type std::out_of_range: vector" (#4138) 2022-11-13 12:00:04 -06:00
A Cœur 0ecf084e0f
ignoring deprecation warning on NSUnarchiver (#4113) 2022-11-13 10:54:22 -06:00
Mike Gelfand 9e185a17f2
Fix default/minimum `CMAKE_OSX_DEPLOYMENT_TARGET` handling (#4156)
* Fix default/minimum `CMAKE_OSX_DEPLOYMENT_TARGET` handling

* Drop explicit `CMAKE_OSX_DEPLOYMENT_TARGET` in GHA CI

Rely on minimum set in top-level CMakeLists.txt instead.
2022-11-13 12:02:07 +00:00
Mike Gelfand 43acd7e3e4
Remove Xcode project in favor of CMake (#4147)
* Compile images into an assets catalog

* Optionally sign resulting Mac bundle

* Move 3rd-party/utility/test targets to their own folders

* Enable ARC via compile options unconditionally

* Install base and localized resources into correct directory

This seems like a Xcode quirk: if subdirectory containing the resource file
matches the destination directory name (and probably if there's more than one
resource file being installed there), the resulting folder structure then
contains an extra subdirectory, i.e. Resources/dirname/dirname/resname.

* Group source files for better structure in IDEs (Xcode, VS)

* Remove Xcode project

Using Xcode is still possible via "Xcode" CMake generator.

* Use ad-hoc signature if one is not specified

* Always use ad-hoc signature on link, leave proper signing to CPack

* Install localized resources into correct directory (QL plugin)

* Don't include CTest (we don't use additional targets it provides)

* Revert "Remove Xcode project"

This reverts commit dc069f654f.
2022-11-12 20:01:57 +00:00
A Cœur 48e42ac71e
Fix NSURLConnection is deprecated - Use NSURLSession (#4112) 2022-11-11 21:29:48 -06:00
A Cœur 69fda72a8b
refactor: remove superfluous interface declarations (#4110) 2022-11-08 23:36:53 -06:00
Gary Elshaw c32161f7ca
feat: place upload above download in macOS badge (#4055) 2022-11-07 13:21:49 -06:00
A Cœur d2ee0d2d08
feat: Align active filter macOS (#3944) 2022-11-07 11:20:15 -06:00
A Cœur 91e5cf31f6
Fix "nil passed to a callee that requires a non-null 1st parameter" (#4084) 2022-11-07 09:57:35 -06:00
A Cœur 69ee92113f
Fix: values above INT_MAX (68 years) are interpreted as negative values (#4085) 2022-11-07 08:27:51 -06:00
A Cœur 84badfc66f
removing unreachable code (#4083) 2022-11-03 09:47:43 -05:00
A Cœur fa7100bdef
Auto enlarge search field when editing (#4067) 2022-11-01 20:40:24 -05:00
A Cœur 46eab5f3f8
Fix "User-facing text should use localized string macro" (#4030) 2022-10-31 09:37:34 -05:00
A Cœur 12e564096b
fix: "Implicit conversion loses integer precision" warnings (#3960) 2022-10-25 11:14:42 -05:00
SweetPPro a8267395b2
macOS fix a potential hang when updating the blocklist (#4010)
fixes potential hang when unzipping a new blocklist on macOS (#3969)
2022-10-24 10:12:33 -05:00
Mike Gelfand 70f623f32b
Add user data parameter for torrent removal callback (#4009) 2022-10-23 11:51:35 -05:00
Dmitry Serov 3a8dc9d203
Replace preprocessor defines with constants in objc code (#3974) 2022-10-19 14:28:21 -05:00
Yuze Jiang 8cad9675d8
Update to the message log window on macOS, fix #3627 (#3962)
- Set the minimum size of the Message column of the message log
window to 200 (previously was 10) to fix #3627
- Align the log level indicator to the top
2022-10-19 13:22:19 -05:00
Mike Gelfand 9dd4454729
Sync translations (#3968)
* Sync translations with code

* Migrate to Go-based Transifex client version

* Sync translations with Transifex
2022-10-15 21:21:13 +03:00
A Cœur 4ea9c87fea
fix: some typos (#3904) 2022-10-13 09:35:10 -05:00
Cœur 0d948886f6 orderOut: isn't needed with beginSheet:/endSheet: 2022-10-12 18:56:30 +08:00
Antoine Cœur 019b493f36 Fix 'modalDelegate:' is deprecated to avoid contextInfo leaks. 2022-10-12 18:19:38 +08:00
A Cœur 74cc584a6a
Xcode 11.3.1 compatibility (#3946) 2022-10-11 23:09:46 -05:00
Mike Gelfand f1f55cc3df
Sync translations (#3939)
* Sync translations with code

* Sync translations with Transifex

* Remove Mac menu title that isn't displayed and shouldn't be translated

* Add context to logging level strings in GTK client

* Use "µTP" consistently in code

* Use ellipsis instead of three docs in Qt client strings

* Close HTML tags in blocklist-related strings

* Remove trailing space from a translatable string in Qt client

* Add missing plural forms for English strings in Qt client

* Fix spelling: metaInfo -> metainfo
2022-10-11 18:39:41 +03:00
A Cœur cc5ae321a5
Fix "Capture of autoreleasing out parameter inside autorelease pool that may exit before method returns" (#3886) 2022-10-10 18:08:47 -05:00
A Cœur 0954e28780
Sort order by activity is reversed (#3924) 2022-10-10 12:39:51 -05:00
Dzmitry Neviadomski bfe6953822
macOS: Hide Title (App Name) on BigSur and later. (#3919)
Also specify Unified Toolbar Style explicitly, as hiding title
triggers Unified Compact style.

Fixes #3891

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2022-10-09 10:37:11 +03:00
A Cœur 5ba2186f1f
Rollback #3871 (#3889) 2022-10-07 10:21:01 -05:00
Harm133 ec373f9041
macos: Allign active filter with other clients (#3871) 2022-10-06 17:15:33 -05:00
Charles Kerr bf156a97cf
refactor: port forwarding (#3850)
* refactor: rename state enum type as tr_port_forwarding_state

* chore: use snake_case for tr_shared struct fields

* refactor: replace tr_shared with tr_port_forwarding

* refactor: make tr_natpmp_state an enum class

* refactor: uniform naming for port-forwarding module

* refactor: move output-only parameters in tr_natpmp::pulse() to return struct

* fix: use a nullptr multicastif if bindaddr is empty

* chore: use PascalCase for enum class values

* chore: clean up port-forwarding #includes

* chore: remove unused tr_port_forwarding::peerPort()
2022-09-30 08:59:10 -05:00
Mike Gelfand 1b641b660e
Sync translations (#3845)
* Sync translations with code

* Sync translations with Transifex
2022-09-24 17:19:25 +01:00
Mike Gelfand 33f96810a1
Sync translations (#3799)
* Sync translations with code

* Sync translations with Transifex
2022-09-10 06:25:44 +03:00
Mike Gelfand ea14f91ac8
Sync translations (#3755)
* Sync translations with code

* Sync translations with Transifex
2022-09-04 13:59:04 +03:00
luzpaz f8203148f0
fix: fix various user facing and non-user facing typos (#3743)
* fix: fix various user facing and non-user facing typos

Found via `odespell -q 3 -S ./third-party,*.po,*.ts -L filetest,inout`
2022-08-31 11:28:54 -05:00
Robert Palmer 846442af83
For some reason self.fPieces.resize() won't work but _fPieces.resize() will (#3669) 2022-08-18 10:21:31 -05:00
Charles Kerr 76a7994eef
refactor: remove tr_free() (#3668) 2022-08-18 09:14:12 -05:00
Charles Kerr bfec98c323
refactor: avoid tr_new() in transmission-remote (#3665) 2022-08-17 20:25:42 -05:00
Charles Kerr 29f57bc296
chore: iwyu headers (#3661) 2022-08-17 11:08:36 -05:00
Charles Kerr e49747ab51
feat: add tr_strvToBuf() (#3657)
* feat: add tr_getDefaultConfigDirToBuf()

* feat: add tr_getDefaultDownloadDirToBuf()

* feat: add tr_strvToBuf()

* feat: add tr_torrentFindFileToBuf()

* feat: add tr_torrentGetMagnetLinkToBuf()

* refactor: remove unused makeString() from tests

* feat: add tr_torrentFilenameToBuf()

* feat: add tr_torrentGetTrackerListToBuf()

* chore: remove obsolete comment references to tr_free

* chore: remove unused tr_strdup()

* chore: remove unused forward declarations
2022-08-16 19:28:57 -05:00
Charles Kerr 6278ea7017
refactor: reduce use of tr_malloc / tr_free (#3652)
* refactor: avoid tr_new in macos Torrent.trashDataFile

* refactor: avoid tr_new in maco PiecesView

* refactor: avoid tr_new in qt createVariant()
2022-08-16 12:03:09 -05:00
Charles Kerr 7c5862a5f5
refactor: remove tr_new, tr_free pt. 1 (#3626)
* refactor: tr_torrentGetMetadataPiece() returns an optional vector

* refactor: use tr_pathbuf in create_temp_path()

* refactor: use tr_pathbuf in win32 create_temp_path()

* refactor: use std::vector in isPeerInteresting()

* refactor: remove tr_new0 from tr_peerMgrPeerStats()

* refactor: remove tr_new0 from rechokeUploads()

* refactor: silence clang nullptr dereference warning

* refactor: make tr_natpmp a C++ class

* refactor: use std::string in tr_log_message
2022-08-11 19:59:58 -05:00
SweetPPro a700259cc0
macOS convert message window to autolayout (#3604)
fixes some clipping in the macOS Message Log window
#3574
2022-08-10 09:47:13 -05:00
Gary Elshaw 0da5660c6e
Increase font size of TrackerCell from 9 to 9.5 (#3571) 2022-08-09 08:15:52 -05:00
Charles Kerr bf8f72e61f
refactor: tr_metainfo_builder() (#3565) 2022-08-02 14:46:08 -05:00
SweetPPro 3982532d65
macOS disable green maximize button on Inspector window (#3563)
Fixes #3486
2022-08-02 08:19:03 -05:00
SweetPPro 2ff4dd139f
macOS autolayout fixes on Inspector - Options tab (#3559)
* macOS autolayout fixes on Inspector - Options tab

Fixes #3558

* macOS - equal height NSPopupButtons on Inspector - Options tab
2022-08-02 01:37:49 -05:00
Charles Kerr 9c7fcf85cf
refactor: tr_stats (#3542) 2022-07-28 18:56:40 -05:00
SweetPPro 366d7f0702
macOS small layout fixes to Info Window (#3522)
unifies the margin between headers and content on the Activity tab and the Options tab in the Info Window
2022-07-27 20:12:01 -05:00
Mike Gelfand 42a065e510
Adjust CMake configs for Mac base internationalization (#3521)
Fixes: #3515
2022-07-25 02:44:56 +01:00
Mike Gelfand 9539484cdc
Sync translations (#3519)
* Handle default value for `PrefWindowSize` in code

* Add new Mac client resources to Transifex config

* Remove non-user-visible titles from XIB files

* Sync translations with code

* Sync translations with Transifex
2022-07-24 18:13:04 +01:00
Dzmitry Neviadomski 42924f3e97
[macOS] Revamp Toolbar Segments (#3512)
Fixes #3498.
2022-07-23 14:37:57 -05:00
Charles Kerr 47fe7c47d2
refactor: replace per-torrent callbacks with per-session ones. (#3495) 2022-07-23 01:04:34 -05:00
Charles Kerr 445aad56a0
test: add platform tests (#3514)
* test: add tr_getDefaultDownloadDir() tests

this also indirectly tests xdg and homedir

* test: add PlatformTest.defaultConfigDirEnv

* test: add PlatformTest.defaultConfigDirXdgConfig

test: add PlatformTest.defaultConfigDirXdgConfigHome

* test: add PlatformTest.webClientDirEnvClutch

test: add PlatformTest.webClientDirEnvTr

test: add PlatformTest.webClientDirXdgDataHome

* fixup! test: add PlatformTest.webClientDirEnvClutch

fix: win32 breakage
2022-07-22 20:10:02 -05:00
SweetPPro f9398e53e2
macOS preference window localization autolayout fixes (#3472) 2022-07-21 15:36:23 -05:00
SweetPPro 1eeeb5c152
macOS fix some autolayout issues in Info window (#3497)
* macOS fix some autolayout issues in Info window

Fixes #3491

* fixes window resizing on Activity tab

Fixes #3484

* fix size behaviour on Info Activity tab

Fixes #3487

* fixed a clipping issue on the German Info - Options tab
2022-07-21 09:25:55 -05:00
SweetPPro 9f7afe4ea5
macOS fix clipping and crashing on the Info Inspector Options tab (#3473) 2022-07-20 15:27:10 -05:00
David Miguel Susano Pinto f8b3514c0e
tr_makeMetaInfo: new anonymize option (closes #3420) (#3452) 2022-07-19 16:48:24 -05:00