* 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
* chore: fix CGFloat comparison warnings in macOS code.
There are 2 cases:
1. Speed comparisons.
The lowest significant value displayed in UI is 0.1 bytes per sec.
See [NSString stringForSpeed] and [NSString stringForSpeedCompact].
2. Ratio limit comparison.
The lowest significant value displayed in UI is 0.01 (no unit).
This is based on maximumFractionDigits=2 set in related XIB file.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* chore: fix warning about shadowed variable
CGFloat const difference was used twice in the same scope
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* chore: fix unused block parameter warnings
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* chore: disable GCC_WARN_64_TO_32_BIT_CONVERSION for libtransmission
This warnings are not reported with CMake build.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* chore: disable CLANG_WARN_STRICT_PROTOTYPES for dht
This is third party target, warning is not enabled with CMake build.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* chore: disable '-Wexit-time-destructors' warning with CMake.
There are two cases when this is reported in libtransmission:
1. `log_state` in anonymous namespace in `log.cc`.
2. static inline `dh_pool_mutex` in `tr_handshake` in `handshake.h`.
I don't see how this may be improved or how this affects correctness,
so don't nag about that.
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
---------
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
* Sync translations with code
* Move Qt client's it_IT to it
"it_IT" was merged into pre-existing "it", so no (huge) loss of translations
should occur; "it" was chosen as a base since it contains more up-to-date
translations while "it_IT" hasn't changed much in years (I think, because most
phrases were marked as reviewed and so impossible to change by most translators
based on their assigned role).
* Sync translations with Transifex
* Add new languages (90+% complete)
Mac client:
* Basque (eu)
* Hebrew (he)
* Hungarian (hu)
* Japanese (ja)
* Polish (pl)
* Portuguese (Brazil) (pt_BR)
* Swedish (sv)
* Ukrainian (uk)
* Chinese (China) (zh_CN)
* Chinese (Taiwan) (zh_TW)
Qt client:
* Icelandic (is)
Also, fix Qt client languages list to include those already in
translations/ subdirectory and 90+% complete:
* Hebrew (he)
* Chinese (Taiwan) (zh_TW)
* Fix Xcode language mapping for pt_PT/pt-PT
* Fix Xcode language mapping for pt_BR/pt-BR
* Fix Xcode language mapping for zh_CN/zh-CN
* Fix Xcode language mapping for zh_TW/zh-TW
* Sync translations with Transifex (again)
Primarily to fixup "Port: $@" translation, but there were other updates in the
meantime.
* Update list of QuickLookPlugin languages
* Fixup local pt-BR language name in tx config
* Prefer `PROJECT_{SOURCE,BINARY}_DIR` to `CMAKE_` ones
* Extend use of 3rd-party dir vars to reduce duplication
* Fix typo in submodule repo name
* Remove `CURL::libcurl` target fallback
The target is always available since CMake 3.12, which is our current
minimum version.
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)
* Use imported CMake target for CURL
* Use imported CMake target for fmtlib
* Use imported CMake target for WideInteger
* Use imported CMake target for FastFloat
* Use imported CMake target for UtfCpp
* Use imported CMake target for Threads
* Use imported CMake target for Iconv
* Use imported CMake target for crypto backend
* Use imported CMake target for GTK
* Use imported CMake target for Qt
* Use imported CMake target for deflate
* Use imported CMake target for libevent
* Use imported CMake target for natpmp
* Use imported CMake target for miniupnpc
* Use imported CMake target for dht
* Use imported CMake target for psl
* Use imported CMake target for libutp
* Use imported CMake target for libb64
* Use include directories from libtransmission target
* 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
* 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.
* 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.
* re-add macOS Fullscreen support
re added Full Screen support for macOS. Also refactored window methods in Controller.mm and moved to their own category - ControllerWindowMethods.mm
This has currently only been tested on macOS Monterey, and should be good on earlier versions - but perhaps needs testing on earlier versions of macOS.
fixes#3231#3234
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
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>
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.