Charles Kerr
6ead147620
refactor: use new tr_variant API in tr_session ( #6006 )
2023-09-16 08:23:35 -05:00
Charles Kerr
ebb1b775af
refactor: public tr_session settings API now returns tr_variants ( #5983 )
2023-09-07 19:05:16 -05:00
Julien
4b8cfa2e57
chore: update copyrights to 2023 ( #4834 )
2023-02-11 14:49:42 -06:00
Mike Gelfand
192a76b621
Move GTK compatibility definitions into a separate header ( #4493 )
...
* Move GTK compatibility macros into a separate header
* Fix Cairo compatibility checks
* Move Glib-namespaced definitions to GtkCompat header
* Remove unused stringify definitions since we're using fmtlib
2022-12-29 02:42:20 +00:00
Mike Gelfand
a89b181f2c
Include individual headers (GTK client) ( #4477 )
...
This results in up to 15% single-threaded build time reduction.
2022-12-27 01:43:20 +00:00
Mike Gelfand
5fd0aff818
Automatically (re)order include directives (GTK client) ( #4475 )
...
* Automatically (re)order include directives (GTK client)
Include our headers first to ease IWYU enforcement.
* Fix includes missing from headers (GTK client)
* Fix build on Mac after includes reordering
2022-12-26 21:13:21 +00:00
Mike Gelfand
f8d981349e
Fix issues reported by clang-tidy `misc` checks (GTK client) ( #4167 )
...
* Fix `misc-const-correctness` clang-tidy issues
* Fix `misc-no-recursion` clang-tidy issues
* Extend clang-tidy configuration
2022-11-14 16:22:38 +00:00
Mike Gelfand
49ce12ce38
Fix issues reported by clang-tidy `cppcoreguidelines` checks (GTK client) ( #4158 )
...
* Fix `cppcoreguidelines-pro-type-cstyle-cast` clang-tidy issues
* Fix `cppcoreguidelines-pro-type-member-init` clang-tidy issues
* Fix `cppcoreguidelines-prefer-member-initializer` clang-tidy issues
* Introduce `PageBase` for `PrefsDialog` pages
This is in preparation for next PR fixing `Glib::Timer` memory
management.
* Fix `cppcoreguidelines-owning-memory` clang-tidy issues
* Fix `cppcoreguidelines-pro-bounds-array-to-pointer-decay` clang-tidy issues
* Fix `cppcoreguidelines-special-member-functions` clang-tidy issues
* Fix `cppcoreguidelines-init-variables` clang-tidy issues
* Fix `cppcoreguidelines-macro-usage` clang-tidy issues
* Fix `cppcoreguidelines-pro-bounds-constant-array-index` clang-tidy issues
* Fix `cppcoreguidelines-non-private-member-variables-in-classes` clang-tidy issues
* Fix `cppcoreguidelines-pro-type-vararg` clang-tidy issues
* Fix `cppcoreguidelines-pro-bounds-pointer-arithmetic` clang-tidy issue
* Fix `cppcoreguidelines-pro-type-reinterpret-cast` clang-tidy issues
* Fix `cppcoreguidelines-pro-type-static-cast-downcast` clang-tidy issues
* Extend clang-tidy configuration
Enable all `cppcoreguidelines` checks except for three (`avoid-magic-
numbers`, `avoid-non-const-global-variables`, `narrowing-conversions`)
which require [more] extensive refactoring and were left for later.
2022-11-13 17:36:16 +00:00
Mike Gelfand
92b74fee74
Fix issues reported by clang-tidy `modernize` checks (GTK client) ( #4137 )
...
* Fix `modernize-avoid-c-arrays` clang-tidy issues
* Fix `modernize-raw-string-literal` clang-tidy issues
* Fix `modernize-use-nodiscard` clang-tidy issues
* Fix `modernize-deprecated-headers` clang-tidy issues
* Fix `modernize-pass-by-value` clang-tidy issues
* Extend clang-tidy configuration
Enable all `modernize` checks except for one (use-trailing-return-type)
which is an extensive stylistic change for later.
2022-11-10 20:35:31 +01:00
Mike Gelfand
9f0fbb38ec
Support change to enum definitions in gtkmm/glibmm/pangomm ( #3801 )
...
Newer versions (gtkmm 4 and its dependencies) of these libraries have
switched from enums to enum classes. Wrap the names with macros to
support both.
2022-09-10 16:19:54 +03: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
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
Charles Kerr
205abbbcce
refactor: iwyu string, vector, cstdint ( #2898 )
...
* refactor: use cstdint for intX_t types
* refactor: iwyu sstring_view
* refactor: iwyu <cstring>
* refactor: iwyu <vector>
2022-04-07 20:50:26 -05:00
Charles Kerr
a250690f30
fix: sonarcloud ( #2860 )
...
* fix: break will never be executed
* fix: rewrite rimraf() to be non-throwing
* fix: conditional operation returns same value whether condition is true or false
* fix: use std::array instead of a C-style array
* fix: remove redundant access specifier
* fix: replace switch with if for readability
* fix: convert integer literal to a bool literal
* fix: replace const std::string reference to std::string_view
* fix: remove redundant access specifier
* fix: replace const std::string reference to std::string_view
* fix: remove unused parameter
* fix: remove redundant access specifier
* fix: use std::array instead of C-style array
* fix: remove redundant access specifier
* fix: replace const std::string reference with std::string_view
* fix: remove redundant access specifier
* fix: use std::array instead of C-style array
* fix: remove redundant access specifier
* fix: replace const std::string reference to std::string_view
* fix: remove redundant access specifier
* fix: merge if statement with enclosing one
* chore: clang-format
* chore: clang-format
* Revert "fix: remove redundant access specifier"
This reverts commit 054e4e7eec
.
* Revert "fix: remove redundant access specifier"
This reverts commit 2c92f227e8
.
* Revert "fix: remove redundant access specifier"
This reverts commit a0710202a8
.
* Revert "fix: remove redundant access specifier"
This reverts commit 54da1d9397
.
* Revert "fix: remove redundant access specifier"
This reverts commit f7b1777578
.
* Revert "fix: remove redundant access specifier"
This reverts commit ad8e3dfff4
.
* chore: revert access specifier change
2022-04-01 14:16:33 -05:00
Charles Kerr
e908193027
fix: some use-init-statement sonarcloud warnings ( #2563 )
2022-02-01 19:09:11 -06:00
Charles Kerr
878405f862
Revert "fix: sonarcloud ( #2558 )" ( #2562 )
...
This reverts commit 8b9483f7fb
.
2022-02-01 11:30:51 -06:00
Charles Kerr
8b9483f7fb
fix: sonarcloud ( #2558 )
...
* fix: add const modifier for functions
* fix: many sonarcloud use-init-statement warnings
2022-01-31 22:46:27 -06:00
Charles Kerr
5db993d348
chore: iwyu ( #2553 )
2022-01-31 17:05:35 -06:00
Charles Kerr
df1cca9b57
chore: update copyright years, make notices consistent ( #2463 )
2022-01-20 12:27:56 -06:00
Charles Kerr
b0ee4007ff
refactor: include cleanups ( #2392 )
...
* refactor: include <memory> when using shared_ptr or unique_ptr
* refactor: include <cstdio> iff we use it
* refactor: include <cstring> iff we use it
* refactor: include <cstdlib> iff we use it
* refactor: include <string_view> or <string> iff we use it
* refactor: include <array> iff we use it
* refactor: include <ctime> iff we use it
* refactor: include <cctype> iff we use it
* refactor: misc #include cleanups in libtransmission
2022-01-12 20:13:58 -06:00
Mike Gelfand
3e072f9bd4
Fix most of critical issues reported by Sonar (GTK client) ( #2309 )
...
* (C++) Macros should not be used to define constants
* (C++) Memory should not be managed manually
* (C++) "void*" should not be used in typedefs, member variables, function parameters or return type
* (C++) When the "Rule-of-Zero" is not applicable, the "Rule-of-Five" should be followed
* (C++) "switch" statements should have "default" clauses
* (C++) "explicit" should be used on single-parameter constructors and conversiosn operators
* (C++) Non-const global variables should not be used
2021-12-14 11:43:27 +03:00
Charles Kerr
ec94c90da9
fix: coverity warnings ( #2186 )
...
* fix: silence check_return warning
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=203924665\&defectInstanceId\=52245209\&mergedDefectId\=1494152
* fix: silence check_return warning
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=203924692\&defectInstanceId\=52245241\&mergedDefectId\=1493826
* fix: silence check_return warning
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=203924667\&defectInstanceId\=52245260\&mergedDefectId\=1493825
* fix: silence nullptr dereference warning
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=203924667\&defectInstanceId\=52245260\&mergedDefectId\=1493825
* fix: uninitialized variable in rpc-server z_stream
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=203924665\&defectInstanceId\=52245249\&mergedDefectId\=1494151
* fix: silence check_return warning
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=203924665\&defectInstanceId\=52245261\&mergedDefectId\=1492904
* fix: silence nullptr dereference warning
https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=203924689\&defectInstanceId\=52245236\&mergedDefectId\=1492890
* fix: silence unchecked return value warning
Xref: https://scan5.coverity.com/reports.htm\#v48014/p10174/fileInstanceId\=203924666\&defectInstanceId\=52245259\&mergedDefectId\=1491888
2021-11-17 15:56:50 -06:00
Charles Kerr
f46c4c4df9
refactor: remove tr_variantGetStr ( #2160 )
2021-11-14 17:28:37 -06:00
Charles Kerr
932a72e61d
refactor: remove tr_variantDictFindStr from transmission-gtk ( #2158 )
2021-11-14 13:14:45 -06:00
Mike Gelfand
eaeed301fa
Rename GTK client files to match the classes they contain ( #2073 )
...
This also brings naming closer to Qt client which simplifies things a
bit.
2021-11-01 03:11:23 +03:00