Charles Kerr
fcc1510ecb
refactor: use fmt to build the GTK client's user-visible strings ( #2788 )
...
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-03-21 09:15:48 -05:00
Charles Kerr
fa8aaf7631
refactor: remove remaining vararg log messages ( #2776 )
2022-03-17 17:39:06 -05:00
Charles Kerr
5df252d1e1
fix: calculate ratio as uploaded / sizeWhenDone ( #2770 )
2022-03-17 13:41:48 -05:00
Charles Kerr
54ef7341a2
refactor: fmt pt 4 ( #2774 )
...
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-03-16 19:23:44 -05:00
Charles Kerr
0be920156b
refactor: fmt part 3 ( #2773 )
2022-03-15 19:51:36 -05:00
Charles Kerr
72a67054ea
refactor: fmt part 2 ( #2771 )
2022-03-15 09:52:16 -05:00
Charles Kerr
a942c67199
refactor: use fmt ( #2758 )
...
* deps: use fmt (8.1.1 tag) to build log strings
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
2022-03-13 23:43:35 -05:00
Charles Kerr
2bd42f8225
fixup: macos log error ( #2764 )
...
* fix: assertion failure in MessageWindowController
* feat: update messagwindow xib to new log levels
2022-03-12 11:42:43 -06:00
Charles Kerr
af339a15ed
refactor: remove deep logging ( #2749 )
...
* refactor: remove "deep logging"
2022-03-09 23:51:14 -06:00
Charles Kerr
80ab910cbd
feat: update built-in speed limit settings ( #2697 )
...
Fixes #2092 .
2022-02-23 20:27:28 -06:00
Charles Kerr
8d5c900ee0
refactor: Qt, GTK, web client UI consistency
2022-02-21 08:34:59 -06:00
Stefan Talpalaru
7b377511a9
feat: default public trackers
2022-02-21 08:34:57 -06:00
Charles Kerr
02b6cc76d1
feat: add tr_torrentSetTrackerList(), tr_torrentGetTrackerList() ( #2642 )
...
Add a getter/setter for torrent announce URLs as text that can be copied
and pasted: one URL per line, with a blank line between tiers.
C API: tr_torrentGetTrackerList() and tr_torrentSetTrackerList()
RPC APi: `trackerList` in `torrent-get` and `torrent-set`.
This deprecates `trackerAdd`, `trackerRemove`, and `trackerEdit`
from the RPC API.
2022-02-18 11:52:01 -06:00
Charles Kerr
29af76d977
refactor: tr_web ( #2640 )
...
* fixup! refactor: tr_web (#2633 )
fix: race condition in web threadfunc during bootstrap
fixes #2639
2022-02-17 17:35:57 -06:00
Charles Kerr
f1a53840f9
refactor: tr_web ( #2633 )
...
* refactor: fix tr_web rate limiting and dns caching
2022-02-16 12:33:50 -06:00
Charles Kerr
0a27346efb
use metainfo folder instead of appdata ( #2624 )
...
* use metainfo folder instead of appdata
Co-authored-by: David Heidelberg <david@ixit.cz>
2022-02-14 09:41:19 -06:00
Charles Kerr
d772824553
fix: sonarcloud code smells ( #2623 )
...
* fix: make variable a pointer-to-const
* fix: use init-statement to reduce variable scope
* fix: implicit conversion from long to int
* fix: refactor to not nest more than 3 if|for|do|while|switch statements
* fix: make tr_session::setSocketTos() const
* fix: use array.prototype.some instead of a for loop
* refactor: use nullptr instead of NULL
* fix: oops
2022-02-13 23:44:38 -06:00
Charles Kerr
9f9b6cdaa2
feat: run script when done seeding ( #2621 )
...
* feat: add seeding-done script to core and rpc
* feat: add seeding-done script to gtk client
* feat: add seeding-done script to qt client
* feat: add seeding-done script to transmission-remote
* refactor: make Qt and GTK client text match
* test: update tests
Co-authored-by: Timothy Nibeaudeau <timothy.nibeaudeau@gmail.com>
2022-02-13 22:07:12 -06:00
Charles Kerr
a822a46e47
refactor: add fetch options object to tr_webRun() ( #2620 )
...
* refactor: add fetch options object to tr_webRun()
Fold `tr_webRun()`, `tr_webRunWithCookies()`, and `tr_webRunWebseed()`
into a single API that takes an options argument that callers can
customize to their needs.
Also does a surface cleanup pass to the tr_webseed and tr_web internal
structures, e.g. making fields const where possible, not using raw
pointers, and making some fields private.
This revision is still full of code smells. Refactoring the entire
system is overwhelming, so instead I'm doing it in incremental steps.
2022-02-13 20:09:56 -06:00
Charles Kerr
96178b1a9f
feat: add support for adding torrents by raw hash values ( #2608 )
...
* Add support for adding torrents by raw hash values
Co-authored-by: vjunk <vjunk@mail.ru>
2022-02-12 22:16:55 -06:00
Charles Kerr
2410ad2fa6
feat: support webseeds in transmission-create ( #2611 )
2022-02-12 12:50:47 -06:00
Charles Kerr
e14c7f38e5
feat: use libpsl ( #2575 )
...
Use libpsl to calculate public and private parts of URL hosts.
2022-02-12 11:30:27 -06:00
Charles Kerr
a87be3762f
fix: rename 'corrupt' label for understandability ( #2605 )
...
Fixes #154 . The current 'corrupt' label can confuse users to think that
there is corrupt data on the disk. The phrasing has been changed:
- Downloaded: 1.91 GB
- Corrupt DL: 22.02 MB
+ Downloaded: 1.91 GB (+22.02 MB discarded after failed checksum)
2022-02-11 01:15:10 -06:00
Charles Kerr
ec6a92d761
fix: make remove-torrent dialogs modal in GTK client ( #2602 )
...
Followup to #2443
2022-02-10 14:31:11 -06:00
Charles Kerr
7bdb6f777b
refactor: remove callback from tr_torrentVerify() public API ( #2592 )
2022-02-09 12:02:59 -06:00
Charles Kerr
318d60b72d
refactor: fix sonarcloud "use enum class" code smells ( #2590 )
...
* refactor: prefer constexpr over enum for GUI_PAD values
* refactor: prefer constexpr over enum for PrefsDialog values
* refactor: prefer constexpr over enum for StatsDialog values
* refactor: use enum class for GtrUnicode types
* refactor: prefer constexpr over enum for BT peer msg codes
* refactor: use enum class for TrMakemetaResult
* refactor: prefer constexpr over enum for BT metadata message types
* refactor: use enum class for AwaitingBt
* refactor: use enum class for EncryptionPreference
* refactor: use enum class for TrFormat in rpcimpl
* refactor: prefer constexpr over enum for QApp intervals
* refactor: prefer constexpr over enum for tr_resume bitfields
* refactor: prefer constexpr over enum for Qt/TrFileModel bitfields
* refactor: remove obsolete TODO comment in announce-list
2022-02-08 20:25:19 -06:00
Charles Kerr
ba14ffa74c
refactor: sonarcloud "use if init" statements ( #2587 )
2022-02-07 23:44:31 -06:00
Charles Kerr
ebb2ab6aee
chore: update license spdx abbreviations ( #2582 )
...
Use SPDX license list 3.0 terminology: replace deprecated identifiers
GPL-2.0" and "GPL-3.0" with "GPL-3.0-only" and "GPL-3.0-only".
2022-02-07 10:25:02 -06: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
4c4b2714f1
feat: remember tab selection in Details dialog ( #2506 )
2022-01-24 23:16:33 -06:00
Charles Kerr
26bb9f3440
fix: sonarcloud code smells ( #2486 )
2022-01-23 18:53:35 -06:00
Carles Pastor Badosa
8d1d445fbc
Add content_rating to appdata ( #1487 )
...
This tag can be used by app stores such as kde discover, gnome software, elementary appcenter, flathub or similar to discern age-appropriate content.
It uses the Open Age Ratings Service (OARS) in order to provide the required information.
2022-01-23 15:23:53 -06:00
Charles Kerr
f94f7923e8
add multiline wrapping in error label ( #2465 )
2022-01-20 17:22:23 -06:00
Charles Kerr
df1cca9b57
chore: update copyright years, make notices consistent ( #2463 )
2022-01-20 12:27:56 -06:00
Charles Kerr
5b8dae3557
fix: make add-torrent dialogs modal in GTK client ( #2443 )
...
This solves the issue of the dialogs not centering above the main GTK
client window. Fixes #2214 .
2022-01-18 14:16:25 -06:00
Charles Kerr
3036a76beb
fix: sonarcloud code smells ( #2421 )
2022-01-17 12:39:50 -06:00
Charles Kerr
c9f8f150ea
fix: broken tooltiop in GTK client peer flag tooltip ( #2409 )
2022-01-16 08:48:01 -06:00
Charles Kerr
3a96a5c316
build: refer to primary branch as main ( #2394 )
2022-01-13 16:03:59 -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
d8d361e491
Make some utility functions return std::string to simplify code ( #2368 )
...
* tr_formatter_speed_KBps returns std::string
* tr_formatter_mem_B returns std::string
* tr_formatter_size_B returns std::string
* tr_strpercent/tr_strratio returns std::string
2021-12-31 03:30:21 +03:00
Charles Kerr
c832f3c18c
fix: sonarcloud warnings ( #2353 )
...
* fix: remove-redundant-cast sonarcloud warning
* fix: make type a pointer-to-const sonarcloud warning
* fix: use-init-statement sonarcloud warning
* fix: use-init-statement sonarcloud warning
* fix: extract-assignment-from-expression sonarcloud warning
* fix: remove-redundant-cast sonarcloud warning
* fix: extract-nested-block-into-method sonarcloud warning
2021-12-28 01:14:52 -06:00
Charles Kerr
02aa2f46d4
refactor: don't use varargs in tr_error ( #2352 )
2021-12-27 20:32:22 -06:00
Charles Kerr
fa35b8ad39
refactor: use std::string in tr_variantToStr() ( #2351 )
...
* refactor: use std::string in tr_variantToStr()
2021-12-27 16:47:25 -06:00
Charles Kerr
a515c1d94b
refactor: use tr_torrent_metainfo in tr ctor ( #2345 )
2021-12-26 10:25:07 -06:00
Charles Kerr
b058daff4b
refactor: change tr_torrentNew() args ( #2337 )
2021-12-24 16:05:17 -06:00
Charles Kerr
e4a172d39c
fix: sonarcloud ( #2322 )
...
* fix: sonarcloud warning - redundant cast
* fix: sonarcloud warning - init-statement
* fix: sonarcloud warning - init-statement
* fix: sonarcloud warning - move #include to top of file
* fix: sonarcloud warning - implicit conversion loses precision
* fix: sonarcloud warning - confirm safe use of strlen
* fix: sonarcloud warning - refactor code to not nest more than three deep
* iwyu: cstring
* iwyu: algorithm
2021-12-16 16:58:58 -06:00
Charles Kerr
1e20d676c1
refactor: make tr_torrentInfo() private ( #2285 )
...
* refactor: make tr_torrentInfo() private
2021-12-14 15:59:44 -06:00
Charles Kerr
656df477f2
refactor: add tr_announce_list ( #2308 )
...
* refactor: add tr_announce_list (#2308 )
2021-12-14 14:59:40 -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
ab0c49859e
refactor: add tr_torrentTrackers() ( #2282 )
...
* refactor: add tr_torrentTrackers()
2021-12-08 10:55:52 -06:00
Charles Kerr
0a85c3aaa4
fixup! refactor: make parts of tr file private ( #2241 ) ( #2281 )
...
fix: crash regression in GTK client details dialog
2021-12-07 19:03:32 -06:00
Charles Kerr
c46ce2da06
refactor: add tr_torrentWebseed(), tr_torrentWebseedCount() ( #2277 )
...
* refactor: add tr_torrentWebseedCount()
2021-12-07 12:11:28 -06:00
Charles Kerr
c656bee061
refactor: add tr_saveFile() ( #2267 )
...
* refactor: add tr_saveFile()
* refactor: add tr_ctorSaveContents()
2021-12-04 19:32:35 -06:00
Charles Kerr
2977636d58
fix: sonarcloud warnings ( #2260 )
...
* fix: add-explicit-keyword-to-constructor warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1tyuB-2farvsyMPiZl&open=AX1tyuB-2farvsyMPiZl
* fix: use a structured binding declaration
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1tyuHH2farvsyMPiZm&open=AX1tyuHH2farvsyMPiZm
* Fix implicit-conversion-loses-precision warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1tyuH22farvsyMPiZn&open=AX1tyuH22farvsyMPiZn
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1tyuO42farvsyMPiZw&open=AX1tyuO42farvsyMPiZw
* fix implicit-conversion-loses-precision warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1tyuO42farvsyMPiZs&open=AX1tyuO42farvsyMPiZs
* fix: implicit-conversion-loses-precision warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1tyuO42farvsyMPiZt&open=AX1tyuO42farvsyMPiZt
* fix handle-this-exceeption-or-do-not-catch-it warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1y7t12cIz3krp3mVpV&open=AX1y7t12cIz3krp3mVpV
* fix make-this-variable-a-reference-to-const warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1y7t12cIz3krp3mVpW&open=AX1y7t12cIz3krp3mVpW
* fix replace-redundant-type-with-auto warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1y7t12cIz3krp3mVpY&open=AX1y7t12cIz3krp3mVpY
* Fix use-try_emplace-instead-of-emplace warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0WPk3QwxvzFbF6whWN&open=AX0WPk3QwxvzFbF6whWN
* Fix: make-this-a-pointer-to-const warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0bZPUXjI_aUyxGBxB4&open=AX0bZPUXjI_aUyxGBxB4
* Fix use-std::make_unique warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0WPk0twxvzFbF6whWC&open=AX0WPk0twxvzFbF6whWC
* Fix: replace-push_back-with-emplace_back warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0BraL_0QLXO0pQ_Bfv&open=AX0BraL_0QLXO0pQ_Bfv
* Fix: use-init-statement warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0bZPXajI_aUyxGBxB8&open=AX0bZPXajI_aUyxGBxB8
* Fix: replace-redundant-type-with-auto warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0bZPXajI_aUyxGBxB9&open=AX0bZPXajI_aUyxGBxB9
* Fix: replace-emplace-with-try_emplace warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0bZPXajI_aUyxGBxB_&open=AX0bZPXajI_aUyxGBxB_
* Fix: extract-assignment-from-operation warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0bZPXajI_aUyxGBxCA&open=AX0bZPXajI_aUyxGBxCA
* Fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX1op6_hUBCnp-Grmra8&open=AX1op6_hUBCnp-Grmra8
* fix: use-init-statement warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0L8qgMUnpKTxYiu5CN&open=AX0L8qgMUnpKTxYiu5CN
* Revert "Fix use-std::make_unique warning"
This reverts commit 463a742f34
.
* fix: make-parameter-a-pointer-to-const warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX06St241usi2gyYkPTZ&open=AX06St241usi2gyYkPTZ
* fix: make-parameter-a-pointer-to-const warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX06St241usi2gyYkPTa&open=AX06St241usi2gyYkPTa
* fix: use-init-statement warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX01Itn2f_SST5i7BN1o&open=AX01Itn2f_SST5i7BN1o
* fix: use-init-statement warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AXziv55-MuQoG-Y-NgLX&open=AXziv55-MuQoG-Y-NgLX
* fix: use-init-statement warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AX0_a_JGNJn7rAzml_68&open=AX0_a_JGNJn7rAzml_68
* fix: replace-redundant-type-with-auto warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AXzyMRYbK9dvryvWm8XA&open=AXzyMRYbK9dvryvWm8XA
* fix: use-init-statement warning
Xref: https://sonarcloud.io/project/issues?id=transmission_transmission&issues=AXziv52fMuQoG-Y-NgLW&open=AXziv52fMuQoG-Y-NgLW
2021-12-01 17:11:57 -06:00
Charles Kerr
34881f6295
refactor: make parts of tr file private ( #2241 )
...
* refactor: make parts of tr_file private
2021-11-27 21:17:47 -06:00
Charles Kerr
f6f0db75e1
fix: sonarcloud warnings / code smells ( #2242 )
...
* fix: use-init-statement
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1f6EvHJiycnfA7gfrG\&open\=AX1f6EvHJiycnfA7gfrG
* fix replace-use-of-new warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1ZNs41ZmlvCveKTzon\&open\=AX1ZNs41ZmlvCveKTzon
* fix has-virtual-functions-but-non-virtual-destructor warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1ZNs72ZmlvCveKTzo6\&open\=AX1ZNs72ZmlvCveKTzo6
* fix make-variable-const warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0_a_OVNJn7rAzml_7B\&open\=AX0_a_OVNJn7rAzml_7B
* fix remove-redundant-static-specifiers
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St-81usi2gyYkPTb\&open\=AX06St-81usi2gyYkPTb
* fix function-should-be-declared-const
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St-81usi2gyYkPTd\&open\=AX06St-81usi2gyYkPTd
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St-81usi2gyYkPTc\&open\=AX06St-81usi2gyYkPTc
* fix class-has-virtual-functions-but-non-virtual-destructor warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06Stz41usi2gyYkPTS\&open\=AX06Stz41usi2gyYkPTS
* fix remove-commented-out-code warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St241usi2gyYkPTT\&open\=AX06St241usi2gyYkPTT
* fix remove-commented-out-code warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St241usi2gyYkPTV\&open\=AX06St241usi2gyYkPTV
* fix has-virtual-functions-but-non-virtual-destructor warning
https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06St241usi2gyYkPTW\&open\=AX06St241usi2gyYkPTW
* fix remove-commented-out-code warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX06SuCA1usi2gyYkPTh\&open\=AX06SuCA1usi2gyYkPTh
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0rAQvnfJ-O-YIDS9xF\&open\=AX0rAQvnfJ-O-YIDS9xF
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0rAQvnfJ-O-YIDS9xG\&open\=AX0rAQvnfJ-O-YIDS9xG
* fix remove-redundant-access-specifier warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1ZNs5tZmlvCveKTzor\&open\=AX1ZNs5tZmlvCveKTzor
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX01Itl7f_SST5i7BN1l\&open\=AX01Itl7f_SST5i7BN1l
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0wDijI2l89lDvp1C9P\&open\=AX0wDijI2l89lDvp1C9P
* fix use-automatically-managed-memory-instead-of-new warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX1f6E6HJiycnfA7gfrI\&open\=AX1f6E6HJiycnfA7gfrI
* fix use-init-statement warning
Xref: https://sonarcloud.io/project/issues\?id\=transmission_transmission\&issues\=AX0l8vknEafnvRiIHUEv\&open\=AX0l8vknEafnvRiIHUEv
* fixup! fix has-virtual-functions-but-non-virtual-destructor warning
2021-11-27 19:58:35 -06:00
Jonas Malaco
6cc9afe1c2
gtk: accept dropping URLs from browsers onto the main window ( #2232 )
...
Unlike files, which come as a URI list, links dragged from browsers have
textual selection types:
- Firefox: text/plain;charset=utf-8
- Chrome: UTF8_STRING
If the URI list for files is empty, try to pass the selection text to
add_from_url().
2021-11-26 09:59:10 -06:00
Charles Kerr
3811f66a5c
fix: honor dark mode in GTK client's message log ( #2218 )
2021-11-24 15:36:23 -06:00
evils
449b83e340
man pages: remove commas in option listings ( #2204 )
2021-11-23 23:12:15 -06:00
Mike Gelfand
90715c6fee
Use stock options and statistics icons in statusbar (GTK client) ( #2200 )
2021-11-21 14:36:52 +03:00
Charles Kerr
a79a868257
refactor: make tr_variantFromBuf() public ( #2187 )
...
* refactor: add tr_variantFromBuf() and support inplace json/benc parsing
2021-11-17 23:37:35 -06: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
Mike Gelfand
e3538f9371
Fix tracker cells rendering in RTL mode (GTK client) ( #2173 )
...
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-11-15 21:53:32 +03:00
Charles Kerr
cef3f43088
refactor: tr_web's callback now uses std::string_view ( #2172 )
...
* refactor: tr_web tasks now use a std::string_view argument
2021-11-15 12:10:18 -06:00
Mike Gelfand
54cd1a2612
Fix torrent cells rendering in RTL mode (GTK client) ( #2170 )
2021-11-15 19:32:41 +03:00
Mike Gelfand
cc8ab3f79f
Fix activity filter combo size (GTK client) ( #2169 )
...
For non-C locales, empty string is translated into a multi-line text
containing descriptive translation headers, which then affects cell size
(and in turn, combo widget size) even though that cell is considered a
separator.
2021-11-15 17:25:11 +03:00
Mike Gelfand
a26400c3dc
Fix inconsistent message log action state (GTK client) ( #2167 )
2021-11-15 15:26:44 +03: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
Charles Kerr
47d41f51bf
build: disable exit-time-destructor warnings in GTK client ( #2154 )
...
* build: disable exit-time-destructor warnings in GTK client
* build: re-enable deprecation warnings (fixed by #2129 )
2021-11-14 10:12:29 -06:00
Mike Gelfand
1c800511d7
Fix torrent counts in tracker filter bar combo (GTK client) ( #2144 )
...
Total count was correct, but per-tracker counts were 1 more than in
reality.
2021-11-14 14:46:33 +03:00
Mike Gelfand
f0f81f9907
Add missing i18n include to Application (GTK client)
2021-11-14 01:33:16 +03:00
Mike Gelfand
c8d6087759
Avoid implicit narrowing casts in Session (GTK clent)
2021-11-14 01:32:13 +03:00
Charles Kerr
a8f640c559
refactor: tr_dirSpace() ( #2143 )
...
* refactor/tr_dirSpace
2021-11-13 12:09:14 -06:00
Mike Gelfand
e144ad6da8
Fix pending_request_data memleak in Session (GTK client) ( #2139 )
2021-11-13 16:57:22 +03:00
Mike Gelfand
7c3f8b5701
Null-initialize MainWindow::Impl::popup_menu_ (GTK client) ( #2138 )
2021-11-13 15:59:39 +03:00
Mike Gelfand
1080a5b3f4
Include GTK client icon in resources once ( #2137 )
...
There is a fallback mechanism in GTK: when looking for an icon named
foo-a-b-c, it'll also try to find foo-a-b, foo-a, and foo, so the only
icon necessary (if all of them default to the same one) is foo. Given
that we're also installing this icon, including it in resources doesn't
make a lot of sense, by I'm leaving it just in case anyway (useful when
debugging without installing).
2021-11-13 15:20:16 +03:00
Mike Gelfand
82b3da0a54
Don't use deprecated GTK APIs ( #2129 )
...
* Don't use deprecated Glib::Thread
* Don't use deprecated stock ID APIs
* Don't use deprecated operator const void* in IconInfo
* Don't use deprecated Gtk::TreeView::set_rules_hint()
* Don't use deprecated Gtk::Widget::set_margin_left()
* Don't use deprecated Gtk::UIManager
* Don't use deprecated sigc::mem_ptr accepting object pointer
* Enable {GDK,GIO,GLIB,GTK,PANGO,SIGCXX}MM deprecation guards
* Enable GTK deprecation guard
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-11-12 12:12:50 +03:00
Charles Kerr
d8b57fe4dc
refactor: web_utils ( #2121 )
...
* chore: move web utils from web, utils to web-utils
2021-11-08 21:30:03 -06:00
Daniel Kamil Kozar
5df3505832
Add a "Start Now" action for newly added torrent notifications in the GTK client ( #849 )
...
* Add a "Start Now" action for newly added torrent notifications in the GTK client
* Const placement
* Compilation fixes
* post-merge fix
* Morph torrent_start_now into Session::start_now
2021-11-08 20:21:20 +03:00
Mike Gelfand
c95616eb26
Bump minimum GTK version to 3.24 ( #2112 )
2021-11-07 13:08:17 +03:00
Charles Kerr
790b0bb2b5
feat: add tr_quark_get_string_view() ( #2083 )
2021-11-01 20:01:27 -05: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
Mike Gelfand
63ad19fb5a
Move Application class to a separate file ( #2072 )
2021-11-01 00:04:31 +03:00
Mike Gelfand
5da0a5d59b
Fix off-by-one mistake in `gtr_str_strip()` ( #2057 )
...
Was always trimming last non-whitespace char from the input text.
Fixes : #2027
2021-10-28 23:52:25 +03:00
Charles Kerr
16acdf5934
chore: silence minor GTK warnings ( #2034 )
...
* chore: fix clang-diagnostic-suggest-destructor-override in makemeta-ui
* chore: fix Wunused-private-field in tr-prefs
* chore: fix clang-diagnostic-c++98-compat-extra-semi in tr-core.cc
* chore: fix clang-analyzer-deadcode.DeadStores in tr-core.cc
* chore: fix clang-diagnostic-exit-time-destructors for Glib::Quarks in details.cc
2021-10-24 10:55:51 -05:00
Charles Kerr
8cdc2c633e
refactor: replace tr_torrentFiles() with tr_torrentFileProgress() ( #1994 )
...
* refactor: s/tr_torrentFiles/tr_torrentFileProgress
Replace tr_torrentFiles() with a new function, tr_torrentFileProgress().
tr_torrentFiles() heap-allocated an array of progress structs. There is
nothing intrinsic in tr_torrent making batch computation more efficient,
so this PR replaces it with tr_torrentFileProgress(), a per-file variant
that doesn't use the heap.
2021-10-21 13:31:03 -05:00
Charles Kerr
236a0965fa
refactor: tr_variant*Str() functions now take a std::string_view ( #1990 )
...
* refactor tr_variant*Str functions now take a std::string_view
* refactor: tr_torrentPrimaryMimeType returns a string-view
2021-10-19 21:30:50 -05:00
Daniel Kamil Kozar
77b11232f2
Add support for creating torrents with a source flag ( #443 )
...
* Add support for creating torrents with a source flag
* Add the source flag functionality for Mac OSX
* Source flag should be a part of the info dictionary
* Address review comments
* Rename "sourceFlag" to "source" since "Flag" is usually reserved for booleans.
* Free the "source" pointer in tr_metainfoFree.
* Add information about transmission-create argument to its manpage.
* Replace all occurences of "sourceFlag" with "source" and use "Source tag" in UI
* Settle on just "Source" in UI
* The last usage of "flag" hopefully bites the dust! ;-)
* Add a missing free for the source in tr_metainfoFree
* Add a "source" field to the torrent-get RPC method
* uncrustify
* Test for torrents having different infohashes due to different source flags.
This is the whole point of this feature, so it makes sense to test it.
* case is important
* try to incorporate the macosx xml changes
2021-10-18 18:05:39 -05:00
Mike Gelfand
bf41e1487a
Switch from gtk to gtkmm ( #1969 )
...
* Gtk to gtkmm: main.cc
* Gtk to gtkmm: details.cc
* Gtk to gtkmm: tr-window.cc
* Gtk to gtkmm: tr-prefs.cc
* Gtk to gtkmm: open-dialog.cc
* Gtk to gtkmm: file-list.cc
* Gtk to gtkmm: filter.cc
* Gtk to gtkmm: torrent-cell-renderer.cc
* Gtk to gtkmm: msgwin.cc
* Gtk to gtkmm: makemeta-ui.cc
* Gtk to gtkmm: relocate.cc
* Gtk to gtkmm: stats.cc
* Gtk to gtkmm: dialogs.cc
* Gtk to gtkmm: hig.cc
* Gtk to gtkmm: favicon.cc
* Gtk to gtkmm: icons.cc
* Gtk to gtkmm: tr-icon.cc
* Gtk to gtkmm: actions.cc
* Gtk to gtkmm: notify.cc
* Gtk to gtkmm: util.cc
* Gtk to gtkmm: tr-core.cc
* Gtk to gtkmm: conf.cc
* Glibmm <2.62 compatibility (missing Glib::ustring::sprintf)
* Glibmm <2.56 compatibility (missing Glib::RefPtr<>::get)
* Bump glibmm to 2.50.1+ (C++17 fix in Glib::Variant)
* Fix empty timestamps on message log export (broken by #1444 )
* Fix LGTM build issues
* Review fixes
2021-10-18 23:22:31 +03:00
Charles Kerr
567f1e48c8
tr_quark_new() now takes a std::string_view ( #1961 )
2021-10-15 08:28:47 -05:00
Charles Kerr
98e16a178f
refactor: add an enumeration of the script types ( #1934 )
...
* 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.
2021-10-12 22:46:12 -05:00
Charles Kerr
1fb5a79813
refactor: use maybe unused attribute ( #1918 )
...
* refactor: replace TR_UNUSED with [[maybe_unused]]
2021-10-10 11:52:26 -05:00
Charles Kerr
f876a100a0
refactor: add [[fallthrough]] annotation ( #1886 )
2021-10-06 12:24:02 -05:00
Charles Kerr
003685b40a
refactor: use nullptr instead of NULL ( #1884 )
...
* refactor: use nullptr instead of NULL.
No functional changes; just more C++ification
2021-10-06 11:32:17 -05:00
Mike Gelfand
4ac1c601f5
Port GTK client to C++ ( #1833 )
...
* Rename GTK client .c files to .cc
* Fix GTK client build errors after C to C++ switch
* Remove `G_{BEGIN,END}_DECLS`
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2021-09-25 13:47:09 +03:00
Sergey Fedoseev
846dafb07e
Add Sort by Queue menu item to popup menu ( #1040 )
...
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2021-08-18 23:15:40 +03:00
Mike Gelfand
db3d40d0ed
Switch to clang-format for code formatting, include Mac client
2021-08-16 00:38:29 +03:00
Daniel Kamil Kozar
79e8bc5c46
Remove unnecessary "id" member of TrNotification in gtk/notify.c ( #851 )
...
The "id" member's only purpose is to serve as the key for the
active_notifications hash table. However, the same thing can be very easily
achieved by switching the GHashTable's hash/equal functions to "direct", which
just use the void pointers (which all keys are in a GHashTable) directly as if
they were values, and use GUINT_TO_POINTER() when referring to this hash table's
key.
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2021-08-08 00:24:11 +03:00
Charles Kerr
07d385cf44
refactor: torrent-complete-sound-command is a list ( #1710 )
...
* refactor: torrent-complete-sound-command is a list
2021-05-25 11:21:41 -05:00
Charles Kerr
9d313a8816
sonarcloud warnings 9 ( #1511 )
...
* refactor: const correctness
* refactor: fix some implicit conversions
* refactor: make local pointers const if their objects are not modified
* refactor: do not cast away const in torrent-cell-renderer
* refactor: remove call to deprecated gtk_icon_size_lookup_for_settings
* refactor: member functions that do not mutate their objects should be declared const
* chore: do not end comments with a semicolon
2020-11-08 21:31:02 -06:00
Charles Kerr
6b0408b320
refactor: fix more sonarcloud warnings ( #1509 )
...
* chore: simplify loop logic
* refactor: simplify isValidUtf8()
* refactor: use std::make_unique in Application::Application
* refactor: avoid raw pointers in DetailsDialog
* refactor: simplify DetailsDialog::refreshPref()
* refactor: make Application methods const
* refactor: reduce cognitive complexity of buildTrackerSummary()
2020-11-08 13:54:40 -06:00
Charles Kerr
7f147c65fb
refactor: fix more sonarcloud warnings ( #1508 )
...
* refactor: const correctness
* refactor: use getpwuid_r instead of getpwuid
* chore: simplify dict walking loop logic
* refactor: remove dead store assignment in announcer
* refactor: use std::make_shared
2020-11-05 16:46:21 -06:00
Charles Kerr
46cb0b5e65
refactor: sonarcloud warnings about overly-complex looping logic ( #1503 )
...
* chore: simplify loop logic
2020-11-03 18:59:19 -06:00
Charles Kerr
0bfbc3eba7
Sonarcloud warnings 4 ( #1499 )
...
* chore: fix some sonarcloud html warnings (e.g. deprecated attribute use)
* chore: uppercase literal suffixes
* chore: remove redundant casts
* chore: remove commented-out code
* chore: use qInfo() instead of std::cerr
2020-11-02 09:16:12 -06:00
Charles Kerr
19e52d8b9a
chore: sonarcloud warnings 2 ( #1496 )
...
* fix "merge nested if" sonarcloud warnings
* fix explicit constructor warnings in qt client
2020-11-01 15:47:57 -06:00
Charles Kerr
e59fe7daaf
fix: silence some sonarcloud warnings ( #1493 )
...
* refactor: add null ptr check in initPeerRow()
* refactor: add a nullptr gurad in icon_cache_get_mime_type_icon
* chore: silence two "break notreached" warnings
* chore: silence sonarcloud html warnings
* chore: silence sonarcloud uninitialized var warning
* chore: silence sonarcloud nullptr warning
2020-10-31 16:23:43 -05:00
Mike Gelfand
4c7153fa48
Remove autotools-based build system ( #1465 )
...
* Support .git files (e.g. for worktrees, submodules)
* Fix symlinks in source tarball, switch to TXZ, adjust non-release name
* Remove autotools stuff
2020-10-13 03:15:19 +03:00
Charles Kerr
be219ddee0
chore: add precommit hook for testing code style ( #1448 )
...
* chore: add precommit hook for testing code style
* chore: use prettier + eslint for js code
2020-09-13 21:41:32 -05:00
Charles Kerr
efaa66a920
fix: resolve some lgtm warnings ( #1444 )
...
* fix: warnings found by LGTM static analyzer
2020-09-11 16:07:45 -05:00
Charles Kerr
e127b20c05
chore: fix compiler warnings ( #1412 )
...
* chore: fix compiler warnings
2020-08-27 18:41:26 -05:00
Mike Gelfand
b7a8bd45b7
Reformat affected code after recent changes
2020-08-18 20:31:06 +03:00
Mike Gelfand
ff8d0dbf3b
Switch from UNUSED macro to TR_UNUSED macro
...
Since there is no way to mark parameters as [potentially] unused in
standard C and when using MSVC compiler, use the widely accepted
cast-to-void approach instead.
2020-08-18 14:19:55 +03:00
Charles Kerr
677dc73eac
refactor: use GTest for running tests ( #1383 )
...
* refactor: use google-test on libtransmission tests
2020-08-11 13:11:55 -05:00
Charles Kerr
6da4a4dfad
Fix or silence gtk warnings ( #1380 )
...
* chore: disable deprecation warnings in GTK client
Yes, updating the GTK codebase is still a goal. (help welcomed!)
But there's a deluge of deprecation warnings that drown out other more
important warnings, so turn off deprecation warnings for now.
* fixup! chore: disable deprecation warnings in GTK client
* fix: gtk_tree_sortable_set_sort_column_id caller.
* fix: gtk_window_resize caller.
2020-07-30 14:45:11 -05:00
Charles Kerr
9da4abb003
feat: add 'transfer.complete' notification hint ( #1374 )
...
Described at https://developer.gnome.org/notification-spec/#categories ,
this is for a file transfer or download complete notification.
2020-07-28 16:51:01 -05:00
Nicholas Guriev
05a2e15b00
i18n: translate "Ratio:" string in compact view ( #1354 )
...
Use already available translation from gettext.
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2020-07-27 13:51:31 -05:00
Charles Kerr
073ae6c206
chore: fix deprecation warnings of GTK_STOCK_ use. ( #1370 )
...
* chore: fix deprecation warnings of GTK_STOCK_ use.
This is just a tiny step towards getting all of the GTK code up-to-date,
but GTK_STOCK warnings are the lowest-hanging fruit of the warnings, so
let's fix them.
2020-07-27 12:49:45 -05:00
Charles Kerr
82020d2e8c
fix: fix console warning when adding magnet links ( #1229 )
2020-05-15 12:22:06 -05:00
Charles Kerr
fa6df52d58
chore: remove unused methods ( #1207 )
...
* chore: remove unused methods in qt client
* chore: remove unused libtransmission methods
* chore: remove unused gtk methods
* chore: remove more unused libtransmission methods
* chore: remove more unused code found by @reardonia
2020-05-11 17:20:46 -05:00
Noobsai
79d3133ebc
Fixed showing popup menu on RMB at tray icon ( #1210 )
2020-05-11 16:19:33 -05:00
Mike Gelfand
2d940e5caf
Bump copyright to 2020 (some more places) ( #1206 )
...
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2020-05-02 12:26:42 -05:00
Charles Kerr
8739cb9c88
fixup! (trunk) update credits ( #1205 )
2020-05-02 11:42:18 -05:00
Bogdan Vasiliev
a6482b0061
GTK: behavior improvements of the torrent details window ( #892 )
...
* gtk: torrent details file-list default sort
* gtk: save torrent details window size
* gtk: torrent details window size & sort, code style
* gtk: torrent details window, conf.c dict fix
Co-authored-by: Charles Kerr <ckerr@github.com>
2020-04-27 16:34:02 -05:00
andreaskern
def7634f18
fix availability not showing 100% in gtk details view ( #1181 )
...
#1180
Co-authored-by: Charles Kerr <ckerr@github.com>
2020-04-26 00:07:40 -05:00
Jakub Steiner
7b53f4238d
icon: update application icon ( #1141 )
...
Fixes https://github.com/transmission/transmission/issues/1140
Co-authored-by: Charles Kerr <ckerr@github.com>
2020-04-25 20:01:49 -05:00
Akatsuki
f6030b1d79
gtk: fix window width ( #1069 )
...
GTK window width cannot be smaller than the longest torrent title
Source: https://trac.transmissionbt.com/ticket/6128
Co-authored-by: Charles Kerr <ckerr@github.com>
2020-04-24 15:15:57 -05:00
Charles Kerr
b0e33117c5
Fix some gtk warnings ( #1038 )
...
* fix gtk deprecation warning: gtk_misc_set_alignment
* fix gtk deprecation warning: gtk_alignment_new
* fix gtk deprecation warning: gtk_tree_view_set_rules_hint
* fix gtk deprecation warning: gtk_image_new_from_stock
* fixup! fix gtk deprecation warning: gtk_alignment_new
* fix gtk deprecation warning: gtk_dialog_set_alternative_button_order
* fix gtk deprecation warning: gtk_show_uri
* fix gtk deprecation warning: gtk_widget_set_margin_left
* fix gtk deprecation warning: gtk_button_set_alignment
* fix gtk deprecation warning: g_type_class_add_private
* fix gtk deprecation warning: gtk_menu_popup
* fix gtk deprecation warning: gtk_misc_set_padding
* chore: uncrustify
* fix: silence G_TYPE_INSTANCE_GET_PRIVATE warning
Deprecaed starting in glib 2.58
* chore: uncrustify
2019-11-06 13:09:27 -06:00
Charles Kerr
abac811dd2
fix: gcc warnings in libtransmission/ and utils/ ( #843 )
...
* fix: __attribute__(__printf__) warnings
* fix: implicit fallthrough warning
* fixup! fix: implicit fallthrough warning
* fix: disable warnings for 3rd party code
Since we want to leave upstream code as-is
* fixup! fix: disable warnings for 3rd party code
* fixup! fix: disable warnings for 3rd party code
* silence spurious alignment warning
Xrefs
Discussion: https://stackoverflow.com/a/35554349
Macro inspiration: 90ac46f710/f/src/util/util_safealign.h (_35)
* fixup! fix: disable warnings for 3rd party code
* fixup! fix: implicit fallthrough warning
* make uncrustify happy
* remove uncrustify-test.sh
that's probably off-topic for this PR
* fixup! fix: __attribute__(__printf__) warnings
* Update libtransmission/CMakeLists.txt
Co-Authored-By: ckerr <ckerr@github.com>
* fixup! silence spurious alignment warning
* use -w for DISABLE_WARNINGS in Clang
* refactor: fix libtransmission deprecation warnings
* fix: pthread_create's start_routine's return value
This was defined as `void` on non-Windows but should have been `void*`
* chore: uncrustify
* fix: add DISABLE_WARNINGS option for SunPro Studio
* fix "unused in lambda capture" warnings by clang++
* fix 'increases required alignment' warning
Caused from storing int16_t's in a char array.
* fix net.c 'increases required alignment' warning
The code passes in a `struct sockaddr_storage*` which is a padded struct
large enough for the necessary alignment. Unfortunately it was recast as
a `struct sockaddr*` which has less padding and a smaller alignment. The
warning occrred because of these differing alignments.
* make building quieter so warnings are more visible
* fixup! fix 'increases required alignment' warning
* Fix -Wcast-function-type warnings in GTK+ app code
https://gitlab.gnome.org/GNOME/gnome-terminal/issues/96 talks about both
the issue and its solution.
GCC 8's -Wcast-function-type, enabled by -Wextra, is problematic in glib
applications because it's idiomatic there to recast function signatures,
e.g. `g_slist_free(list, (GFunc)g_free, NULL);`.
Disabling the warning with pragmas causes "unrecognized pragma" warnings
on clang and older versions of gcc, and disabling the warning could miss
actual bugs. GCC defines `void (*)(void)` as a special case that matches
anything so we can silence warnings by double-casting through GCallback.
In the previous example, the warning is silenced by changing the code to
read `g_slist_free(list, (GFunc)(GCallback)g_free, NULL);`).
* fixup! fix "unused in lambda capture" warnings by clang++
* fixup! fix "unused in lambda capture" warnings by clang++
* fix two more libtransmission compiler warnings
* fix: in watchdir, use TR_ENABLE_ASSERTS not NDEBUG
2019-11-06 11:27:03 -06:00
Mike Gelfand
eef4799388
Update Uncrustify config to 0.69
2019-07-15 02:30:41 +03:00
Mike Gelfand
10cdd7f790
Use explicit boolean conversions
2019-07-14 16:25:07 +03:00
Mike Gelfand
a3e4919385
Introduce `tr_str_is_empty` to relay intent better
2019-07-13 12:00:06 +03:00
Mike Gelfand
c567588587
Remove useless parentheses
2019-03-17 09:18:27 +03:00
Mike Gelfand
5693e59256
Define each identifier in a dedicated statement
...
* MISRA C++:2008, 8-0-1 - An init-declarator-list or a member-declarator-list
shall consist of a single init-declarator or member-declarator respectively
* CERT, DCL52-J. - Do not declare more than one variable per declaration
* CERT, DCL04-C. - Do not declare more than one variable per declaration
2019-03-17 09:15:35 +03:00
Mike Gelfand
17307e7484
Extract assignments from expression
...
Assignments explicitly enclosed in parentheses are ignored.
* MISRA C:2004, 13.1 - Assignment operators shall not be used in expressions
that yield a Boolean value
* MISRA C++:2008, 6-2-1 - Assignment operators shall not be used in
sub-expressions
* MISRA C:2012, 13.4 - The result of an assignment operator should not be used
* MITRE, CWE-481 - Assigning instead of Comparing
* CERT, EXP45-C. - Do not perform assignments in selection statements
* CERT, EXP51-J. - Do not perform assignments in conditional expressions
2019-03-17 08:00:15 +03:00
Mike Gelfand
d3b8982195
Uppercase the literal suffixes
...
* MISRA C++:2008, 2-13-4 - Literal suffixes shall be upper case
* MISRA C:2012, 7.3 - The lowercase character "l" shall not be used in a
literal suffix
* CERT DCL16-C. - Use "L," not "l," to indicate a long value
* CERT, DCL50-J. - Use visually distinct identifiers
2019-03-17 07:07:48 +03:00
Mike Gelfand
dab4857f90
Merge branch 'master' into rmintltool
2019-02-24 21:52:09 +03:00
Mike Gelfand
82df3a87f4
Update to Uncrustify 0.68.1
...
Tweak a few rules in the process. Now all code in cli, daemon, gtk,
libtransmission, qt, and utils is properly formatted with no manual
intervention.
2019-02-15 09:21:48 +03:00
Charles Kerr
7058f37bed
Merge pull request #816 from PeterDaveHello/improve-shellscript
...
fix shell script syntax errors and spacing inconsistencies
2019-02-01 22:36:54 -06:00
Peter Dave Hello
7a0d2e63c7
Refactor shell scripts with syntax and styling fixes
2019-01-16 03:22:29 +08:00
fetzu
3c0cb395c5
Updated copyright strings to 2019
...
Updated Transmission Project copyright dates to 2005-2019 in headers and code.
2019-01-11 19:36:19 +01:00
userwithuid
8c160aad2d
cmake: replace intltool with gettext
...
requires gettext 0.19.7 or higher
2018-04-18 09:25:13 +00:00
Zachary J. Slater
f388d17c2d
Updated copyright string to 2018
...
Small update to copyright string
2018-04-17 00:50:33 -10:00
Mike Gelfand
94be7dbd9b
Merge branch '2.9x'
2018-01-25 03:07:52 +03:00
Mike Gelfand
aa2730d47c
Switch to HTTPS links, adjust wiki links where possible
...
Fixes #39
2018-01-16 01:12:59 +03:00
Robert Vehse
a6ef87b92d
Update all instances of the donation link. Fixes #26 .
2018-01-15 23:57:46 +03:00
Will Thompson
01ffcd5dcf
gtk: add symbolic icon
...
The -symbolic icon variant (if available) is used in the GNOME top bar,
and when the high contrast theme is in use. This icon was created by
Jakub Steiner, and comes from the gnome-icons repository:
https://github.com/gnome-design-team/gnome-icons/blob/master/apps-symbolic/Adwaita/scalable/apps/transmission-symbolic.svg
https://bugzilla.redhat.com/show_bug.cgi?id=1221292
There is some confusion over whether symbolic app icons should be
installed to icons/hicolor/scalable/apps (alongside the regular scalable
icon) or to icons/hicolor/symbolic/apps. On the one hand,
https://wiki.gnome.org/Initiatives/GnomeGoals/HighContrastAppIcons has
this to say:
> […] obtain a suitable symbolic style icon […] and install it to the
> hicolor prefix, the same way you would for the full color variant.
>
> cp myapp-symbolic.svg /usr/share/icons/hicolor/scalable/apps/myapp-symbolic.svg
On the other hand, the Fedora package at
https://src.fedoraproject.org/rpms/transmission/blob/master/f/transmission.spec
ships this icon in icons/hicolor/symbolic/apps:
> # Install the symbolic icon
> mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
> cp %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/transmission-symbolic.svg
Anecdotally, icons in scalable/ have minimum size 64×64 on openSUSE, so
symbolic/ is the safer location (given the GNOME top bar uses 32×32
icons). This has the advantage of matching the location used in the
distribution which already ships this file.
https://github.com/transmission/transmission/issues/414
2017-11-30 17:38:34 +00:00
Mike Gelfand
7e6f1a8dc8
Set idle seed limit range to 1..40320 (4 weeks tops) in all clients
...
Fixes : #212
2017-07-05 21:07:16 +03:00
Mike Gelfand
f701d501a8
Move generic macros to a separate tr-macros.h file
2017-06-18 17:11:20 +03:00
Fish2
b0e3d4c37d
lossless compression of images saved 72KB
2017-06-03 23:52:34 +01:00
Mike Gelfand
8f3cb1c68d
Wrap sizeof arguments in braces
2017-05-20 19:29:23 +03:00
Mike Gelfand
7a1a1acd22
Fix autotools build
2017-05-17 00:56:39 +03:00
Mike Gelfand
ef8cb30f7c
Merge pull request #224 from wjt/appdata
...
gtk: add AppData file
2017-05-16 23:13:25 +03:00
Mike Gelfand
1e3d20422a
Reduce for loop variables scope
2017-05-14 01:38:31 +03:00
Will Thompson
23d61b6457
gtk: add AppData file
...
This file was originally written by Richard Hughes, for Fedora, who
proposed it on the Transmission forum here:
https://forum.transmissionbt.com/viewtopic.php?f=3&t=16443
It's used to display a nice description and screenshot in GNOME
Software. The format is documented here:
https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html
The <_name/> and <_summary/> fields match the Name= and Comment= fields
in the .desktop file so are already translated.
The screenshot is taken with Transmission 2.92 (14714) on Fedora 25.
It's at one of the sizes recommended by the GNOME Shell Screenshot
Window Sizer extension.
The <update_contact/> is based on the Git history.
2017-05-03 17:43:23 +01:00
Mike Gelfand
b99fb6f07a
Add queue up/down hotkeys (GTK+ client)
2017-05-01 18:58:27 +03:00
Mike Gelfand
14370e5353
Fix a number of other style inconsistencies met along the way (part 2)
2017-05-01 18:47:49 +03:00
Mike Gelfand
e1d53855f4
Avoid declaring multiple variables on the same line
2017-05-01 18:46:41 +03:00
Mike Gelfand
fbd8d4c79f
Fix a number of other style inconsistencies met along the way
2017-04-30 19:33:55 +03:00
Mike Gelfand
a762c770f2
Make conditional expressions explicitly boolean
2017-04-30 19:26:01 +03:00
Mike Gelfand
4f9d9ad92b
Code style change leftovers
...
For some reason, GTK client wasn't fully processed. All the rest of changes
are mostly in comments.
2017-04-21 10:40:57 +03:00
Mike Gelfand
dadffa2c0f
Align type qualifiers to the right (code style)
...
This way all the qualifiers (`const`, `volatile`, `mutable`) are grouped
together, e.g. `T const* const x` vs. `const T* const x`. Also helps reading
types right-to-left, e.g. "constant pointer to constant T" vs. "constant
pointer to T which is constant".
2017-04-20 19:53:20 +03:00
Mike Gelfand
d7930984ef
Adjust uncrustify config, reformat all but Mac client
...
There're places where manual intervention is still required as uncrustify
is not ideal (unfortunately), but at least one may rely on it to do the
right thing most of the time (e.g. when sending in a patch).
The style itself is quite different from what we had before but making it
uniform across all the codebase is the key. I also hope that it'll make the
code more readable (YMMV) and less sensitive to further changes.
2017-04-20 10:01:22 +03:00
Mike Gelfand
ecd1eb7914
Update file icon when its name changes in details dialog (GTK+ client)
...
Additionally, make main window redraw the torrent so that new name and icon
are visible right away.
2017-02-21 23:21:25 +03:00
Piotr Drąg
297c734c0b
Add Keywords to the .desktop file
...
It's a part of the Desktop Entry Specification [1] and it's used by,
among others, the search system in GNOME 3.
The comment is there to hopefully minimize the chance of translators
making a mistake that could potentially break build.
[1] https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
2017-01-29 01:13:53 +01:00
Piotr Drąg
5cefddeaee
Remove X-GNOME-FullName from the .desktop file
...
It's a GNOME-specific hack for the 2.x era menu system that was never
standardized in [1] and is now unused in GNOME 3.
[1] https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
2017-01-28 23:52:32 +01:00
Mike Gelfand
5f3abbd6d8
Add myself to the list of Transmission authors
2017-01-15 01:38:45 +03:00
Markus Amalthea Magnuson
5b9ba3be0d
HTTPS links for trac, forum, portcheck, and build subdomains.
2016-11-02 20:50:22 +01:00
Markus Amalthea Magnuson
727b9671f7
Update all website links to canonical HTTPS version.
2016-10-31 10:00:11 +01:00
Robert Vehse
13bae8179e
Update all instances of the donation link. Fixes #26 .
2016-09-23 04:36:41 +02:00
Mike Gelfand
2248d3670f
Get rid of $Id$ SVN keywords in source files
2016-09-02 23:10:15 +03:00
Jordan Lee
1af60ad6ad
use '#pragma once' instead of #ifndef..#define..#endif guards
2016-03-29 16:37:21 +00:00
Mike Gelfand
c955c04d8f
Explicitly compare result of str(n)cmp/memcmp to signify that it's not boolean
2016-03-13 22:11:01 +00:00
Mike Gelfand
197fc132b3
Update user-facing copyright years
2016-02-27 23:18:02 +00:00
Mike Gelfand
495e9b2fa0
Load icons with GResource, remove deprecated inline pixbufs
2016-02-23 04:34:57 +00:00
Mike Gelfand
939b31ae3d
#6051 : `transmission-gtk --version` shouldn't require display
2016-01-09 18:06:17 +00:00
Mike Gelfand
13a98a02b8
Use `TR_BAD_SIZE` instead of -1 in `tr_quark_new()` calls
...
Extend quark test to improve branch coverage.
2016-01-07 19:20:14 +00:00
Mike Gelfand
4f266a5b15
Optimize URL-parsing functions a bit; rewrite `tr_urlParse()`
2015-12-28 23:52:26 +00:00
Mike Gelfand
4a4badd4af
Ongoing refactoring (use size_t instead of int)
2015-12-25 10:19:50 +00:00
Mike Gelfand
bfc336614e
Add libevent include directories to GTK+ client
2015-12-12 18:46:39 +00:00
Jordan Lee
b559a20029
const correctness
...
silence some qual-cast warnings by sprinkling more consts throughout,
e.g. casting a const void* to a const struct foo * const *
2015-12-06 22:13:10 +00:00
Jordan Lee
f3cebc6663
link transmission-gtk against libappindicator if necessary
2015-12-06 16:12:27 +00:00
Mike Gelfand
88983c1ac1
Use tr_sys_path_remove instead of remove
2015-10-23 04:09:40 +00:00
Mike Gelfand
f89fab72f9
Remove unused session tag
2015-10-18 18:39:14 +00:00
Mike Gelfand
18ea8c429a
Improve RPC performance for local sessions
...
Don't unnecessarily de-/serialize JSON data if local session is used.
2015-07-13 00:32:48 +00:00
Mike Gelfand
2e6d5c8bc9
Add more booleans to the picture
2015-05-31 22:13:31 +00:00
Mike Gelfand
cdf3cf62f9
Fix some issues revealed by coverity
2015-05-09 11:56:35 +00:00
Mike Gelfand
2321bc3fad
Fix some issues revealed by coverity
2015-05-09 08:37:55 +00:00
Mike Gelfand
363069ff97
#5930 : Fix style of Gtk+3.16 overshoot and undershoot (patch by nagisa)
2015-05-03 10:30:35 +00:00
Mike Gelfand
06d73853b9
Even better (and unified) torrent origin logic for GTK+, Qt and web clients
2015-04-22 21:04:49 +00:00
Mike Gelfand
829cbffaf7
Add version info to executables (on Windows). Group projects into folders (CMake).
2015-04-14 22:46:40 +00:00
Mike Gelfand
c7d2a7f959
#4400 : Add CyaSSL support
2015-01-07 02:04:08 +00:00
Mike Gelfand
c43a10ab9d
Mark GTK and Qt clients as GUI programs on Windows (detach from console)
2015-01-04 10:57:09 +00:00
Mike Gelfand
440f482d01
Replace tabs with spaces; remove trailing spaces
2015-01-02 11:15:31 +00:00
Mike Gelfand
b928ae1ba8
Use libb64 instead of OpenSSL to encode/decode BASE64
...
Some crypto libraries (like CyaSSL, MatrixSSL and CommonCrypto) either
don't have or expose this functionality at all, expose only part of it,
or (like OpenSSL) have heavyweight API for it. Also, for the task as
easy as BASE64 encoding and decoding it's much better to use small and
simple specialized library.
2015-01-01 21:16:36 +00:00
Mike Gelfand
83c4edb008
#5828 : Initial CMake build system support
2014-12-01 19:55:22 +00:00
Jordan Lee
b325bc0a16
(trunk) #5759 compilation error, undefined reference to sqrt
2014-08-20 17:14:17 +00:00
Jordan Lee
ab24ef9fcb
use pkg-config to get the zlib cflags/libs; remove obsolete zlib.m4 macro
2014-07-13 21:54:56 +00:00
Jordan Lee
0323639e57
(trunk, libT) #4160 'foreign character support' -- merge mike.dld's 4160-02b-path.patch, which updates the codebase to use the new tr_sys_path_*() portability wrappers introduced in 4160-02a
2014-07-08 00:08:43 +00:00
Jordan Lee
d7368a58f5
Copyedit the license's revised text: (1) fix accidental word concatenations in the Qt and GTK+ clients' license popup text
2014-01-21 03:15:33 +00:00
Jordan Lee
02cff80c2d
Copyedit the license's revised text: (1) remove unnecessary repitition use of the word 'license' from the top of the header and source files (2) add the standard 'we hope it's useful, but no warranty' clause to COPYING (3) make explicit that linking OpenSSL is allowed (see https://people.gnome.org/~markmc/openssl-and-the-gpl.html for background) (4) sync the Qt and GTK+ clients' license popups with COPYING's revised text
2014-01-21 03:10:30 +00:00
Jordan Lee
5f2daaafb3
(trunk, gtk/qt/web) #5581 : 'Inconsistent ordering of Upload and Download speed limits' -- fixed.
2014-01-20 23:56:06 +00:00
Jordan Lee
bf85441aab
remove '-DGTK_DISABLE_DEPRECATED' for now; we'll migrate from GtkUIManager to GtkBuilder in transmission-gtk 2.90
2014-01-20 21:30:41 +00:00
Jordan Lee
4b9626bb83
Licensing changes:
...
1. add the option the code to be used under GPLv2 or GPLv3; previously only GPLv2 was allowed
2. add the "proxy option" as described in GPLv3 so we can add future licenses without having to bulk-edit everything again :)
3. remove the awkward "exception for MIT code in Mac client" clause; it was unnecessary and confusing.
2014-01-19 01:09:44 +00:00
Jordan Lee
4904b923fb
(trunk) restore copyright year as suggested in email by rms
2014-01-18 20:56:57 +00:00
Jordan Lee
4c8bda8805
function pointer type correctness. mikedld
2013-09-08 17:08:18 +00:00
Jordan Lee
28fe36f1f8
#include limits.h where we use it, and don't where we don't
2013-08-24 17:53:45 +00:00
Jordan Lee
229f9e5ae6
(trunk, gtk) #5450 : in transmission-gtk's main.c::on_app_exit(), check to see if shutdown's already been initiated so that we don't call tr_sessionClose() twice.
2013-08-05 02:39:30 +00:00
Jordan Lee
33795457b1
(trunk, gtk) #5032 'gobject warning' -- fix typo introduced in r14144
2013-07-27 18:20:32 +00:00
Jordan Lee
14c0256861
(trunk, gtk) #5032 'gobject warning when updating blocklist from URL' -- fixed with patch from fanatid
2013-07-24 17:20:21 +00:00
Jordan Lee
16ab373503
(trunk gtk) #5320 'can't opena folder with '#' in its name': in gtr_open_file(), use g_file_new_for_path().
2013-07-24 17:11:21 +00:00
Jordan Lee
cc1b1cd430
since Transmission supports older versions of glib, add a portability wrapper for G_DEFINE_QUARK
2013-07-24 00:13:31 +00:00
Jordan Lee
6a47b4a5d3
don't use a '-' character in the QN argument to G_DEFINE_QUARK. https://forum.transmissionbt.com/viewtopic.php?p=65548#p65548
2013-07-22 23:00:10 +00:00
Jordan Lee
f83ff36cd5
(trunk gtk) use G_SOURCE_REMOVE where appropriate
2013-07-20 16:37:59 +00:00
Jordan Lee
7cbb20279b
use consistent code indentation/whitespace in open dialog, file list, and set location dialog
2013-07-20 16:19:15 +00:00
Jordan Lee
2d6ace29ba
(trunk, gtk) #5430 : periodic update timer in 'Torrent > Set Location...' should be cleared immediately when dialog is closed.
2013-07-20 15:55:29 +00:00
Jordan Lee
94fd3b486b
(trunk) slightly better image compression by passing them through pngwolf
2013-07-14 23:03:31 +00:00
Jordan Lee
d244545979
use G_DEFINE_QUARK instead of rolling our own quark getters
2013-07-09 22:44:24 +00:00
Jordan Lee
7f9f86c55a
fix a minor GAppInfo memory leak in transmission-gtk
2013-07-08 19:34:58 +00:00
Jordan Lee
59af132947
replace deprecated gtk_icon_info_free() calls with g_object_unref() in GTK+ >= 3.8.0
2013-07-08 16:25:18 +00:00
Jordan Lee
59f27cc1c6
remove the ShowOnlyIn=Unity desktop entries. These were from bug #4804 as an interim measure until XDG action groups were more widely supported, and can be removed.
2013-07-02 21:20:33 +00:00
Jordan Lee
a95b6c1e6c
(trunk) #5382 : better compression of our bundled png files. recompressed by Mangix
2013-06-26 02:06:43 +00:00
Jordan Lee
beeb4d3b77
(trunk, gtk) minor fix to tr_prefs_init_default() -- avoid redundant calls to g_get_user_special_dir
2013-06-12 00:22:41 +00:00
Jordan Lee
027e3f3066
(trunk, libT) #4682 'Add return id from duplicate torrent torrent-add rpc' -- added.
2013-05-22 20:35:38 +00:00
Jordan Lee
96786b7fa1
(trunk) update web.h's API s.t. there's an explicit function to use when downloading webseed content.
2013-04-13 20:25:28 +00:00
Jordan Lee
c51132ad78
#5335 : better compression of .png files by Mangix
2013-04-10 02:27:42 +00:00
Jordan Lee
0abb762ed5
segfault when opening prefs dialog in gtk+ 3.8.0
2013-04-10 02:12:19 +00:00
Jordan Lee
d1571bda02
(gtk) use replace strcmp() with g_strcmp0() everywhere
2013-02-14 15:17:42 +00:00
Jordan Lee
76a3b116f0
use g_strcmp0() instead of strcmp() to guard against corrupt settings in the config file
2013-02-10 23:06:05 +00:00
Jordan Lee
90b95697e0
(gtk) #5284 'file tree should show the wanted size of the subtree, not the entire size': done.
2013-02-09 19:28:38 +00:00
Jordan Lee
cd09204a6e
(trunk) first draft of changing the FreeSpace API to behave as https://trac.transmissionbt.com/ticket/4076#comment:25 -- libT, rpc, qt, and gtk implementations.
2013-02-09 04:05:03 +00:00
Jordan Lee
d76d2a34d9
(gtk) match transmission-qt's way of showing up & down speeds in the statusbar
2013-02-08 01:34:59 +00:00
Jordan Lee
445609f690
(trunk) prefer tr_remove() to unlink() or rmdir()
2013-02-04 21:53:19 +00:00
Jordan Lee
1a768ab06f
(gtk) #5271 'once we start shutting down the application, stop updating the Action states': more safeguards
2013-02-04 18:34:39 +00:00
Jordan Lee
2e251f73cb
(gtk) #5246 'problems when incomplete-dir is a subdirectory of download-dir': change the file chooser API calls, based on suggestion from kraai
2013-02-04 16:51:52 +00:00
Jordan Lee
0c8c2b5bdd
(gtk) #5271 'once we start shutting down the application, stop updating the Action states': fixed
2013-02-04 16:11:08 +00:00
Jordan Lee
1c90e929d1
(gtk) #4076 'free space indicator': tweak the GTK+ client's visible count label's behavior as the previous commit did for the Qt client
2013-02-02 23:01:33 +00:00
Jordan Lee
085c37584e
#4076 'free space indicator': in the Qt and GTK+ clients, add 'Free' to the freespace labels to give more context of what the number means
2013-02-01 21:02:40 +00:00
Jordan Lee
16d46a72a1
in the Qt and GTK+ clients, move the torrent count indicator from the statusbar to the filterbar
2013-02-01 20:58:55 +00:00
Jordan Lee
69f3e31230
(libT) change the API signature for tr_torrentVerify() s.t. client code can be notified when the verify is finished
2013-01-31 21:58:25 +00:00
Jordan Lee
a4bbceb483
fix r13896 oops
2013-01-30 00:28:53 +00:00
Jordan Lee
20fe66bccf
more experimentation with the shortTransferString
2013-01-30 00:22:52 +00:00
Jordan Lee
4a059b79b8
when sorting by activity and both torrents' upload and download speed is zero, use how many peers we're ready to upload to / download from as a secondary key.
2013-01-30 00:20:51 +00:00
Jordan Lee
1d3bf93618
synchronize the Qt and GTK+ client's statusbars, including the new freespace indicator. Make the up/down speed ordering consistent between statusbar and torrent list.
2013-01-27 23:05:47 +00:00
Jordan Lee
f75027d5e9
make all the log functions/structs/enums use a single 'tr_log' namespace, such as tr_logGetQueue, tr_logAddInfo, tr_logIsLevelActive
2013-01-25 23:34:20 +00:00
Jordan Lee
29d6f5d934
(gtk) #5190 'Add borders instead of shadow on scrolled window': fixed, patch by nagisa
2013-01-21 17:05:55 +00:00
Jordan Lee
dc42791380
(gtk) remember to clear out the error pointer
2013-01-21 03:18:44 +00:00