* refactor: tr_ctorGetDownloadDir() returns a std::optional<std::string>
* refactor: tr_sessionGetConfigDir() now returns a std::string
* refactor: tr_sessionGetDownloadDir() now returns a std::string
* refactor: tr_sessionGetIncompleteDir() now returns a std::string
* refactor: tr_sessionGetRPCWhitelist() now returns a std::string
* refactor: tr_sessionGetRPCPassword() now returns a std::string
* refactor: tr_sessionGetRPCUsername() now returns a std::string
* refactor: tr_sessionGetScript() now returns a std::string
* refactor: tr_blocklistGetURL() now returns a std::string
* refactor: tr_ctorGetSourceFile() now returns a std::optional<std::string>
* refactor: tr_torrentFile() now returns a std::string
* refactor: replace TR_RPC_SESSION_ID_HEADER macro with TrRpcSessionIdHeader constant
refactor: replace TR_RPC_RPC_VERSION_HEADER macro with TrRpcVersionHeader constant
* refactor: remove macro TR_DEFAULT_RPC_PORT_STR
* refactor: remove macro TR_DEFAULT_PEER_PORT_STR
* refactor: remove macro TR_DEFAULT_PEER_LIMIT_GLOBAL_STR
* refactor: remove macro TR_DEFAULT_PEER_LIMIT_TORRENT_STR
* refactor: remove macro TR_DEFAULT_PEER_SOCKET_TOS_STR
* refactor: replace DEFAULT_BLOCKLIST_FILENAME macro with TrDefaultBlocklistFilename constant
* refactor: rename TrHttpServerDefaultBasePath to TrDefaultHttpServerBasePath for consistency with other defaults
* refactor: group constants together near the top of transmission.h
* refactor: hardcode string lengths to avoid FTBFS on older C++17 compilers
* refactor: move macros to the tr_getopt clients
* refactor: explicitly specify the parameter index to avoid passing in TrRpcSessionIdHeader twice
* refactor: add an error message to new static_asserts
* 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
* 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()
* 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
* 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
* 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
* 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>
* 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.