Charles Kerr
64268a3a7f
feat: remove informed-consent dialogs ( #7920 )
2025-12-10 16:28:49 -06:00
Charles Kerr
9f911d4d52
refactor: intern recently-active ( #7909 )
...
* refactor: intern recently-active
* fixup! refactor: intern recently-active
fix a couple of literals missed in rpcimpl.cc
2025-12-09 21:15:07 -06:00
Charles Kerr
0979bbcc3f
refactor: intern RPC method names ( #7892 )
...
* refactor: add quarks for the RPC method names
* update tr_quark_convert() to handle RPC method names
* refactor: use interned keys for RPC method names
* test: add torrentGetLegacy test
* refactor: use interned keys for RPC method names in tr-qt
* refactor: use interned keys for RPC method names in tr-remote
* refactor: use interned keys for RPC method names in tests
* refactor: use interned keys for RPC method names in tr-gtk
* chore: fix readability-identifier-naming regression
2025-12-09 11:48:09 -06:00
Charles Kerr
33d6804a76
refactor: remove unused quarks ( #7883 )
...
* chore: remove two unused quarks
looks like these were never used?
* chore: remove unused quark TR_KEY_have
unused since May 2024 3677e7a5
* chore: remove unused quark TR_KEY_date
unused since Oct 2021 9200d972
* fix: remove unused codepath
2025-12-07 21:08:07 -06:00
Yat Ho
9dd9aab902
build: bump clang tools to 20 ( #7573 )
...
* build: bump to clang-format-20
* build: bump to clang-tidy-20
* chore: revert edc59ba5d8
2025-12-01 23:18:02 -06:00
Yat Ho
05aef3e787
refactor: unify quarks and strings to snake_case ( #7108 )
...
* refactor: change `leftUntilDone` to `left_until_done`
* refactor: change `magnetLink` to `magnet_link`
* refactor: change `manualAnnounceTime` to `manual_announce_time`
* refactor: change `maxConnectedPeers` to `max_connected_peers`
* refactor: change `metadataPercentComplete` to `metadata_percent_complete`
* refactor: change `peersConnected` to `peers_connected`
* refactor: change `peersFrom` to `peers_from`
* refactor: change `peersGettingFromUs` to `peers_getting_from_us`
* refactor: change `peersSendingToUs` to `peers_sending_to_us`
* refactor: change `percentComplete` to `percent_complete`
* refactor: change `percentDone` to `percent_done`
* refactor: change `pieceCount` to `piece_count`
* refactor: use quark when possible
* refactor: change `pieceSize` to `piece_size`
* refactor: change `primary-mime-type` to `primary_mime_type`
* refactor: change `rateDownload` to `rate_download`
* refactor: change `rateUpload` to `rate_upload`
* refactor: change `recheckProgress` to `recheck_progress`
* refactor: change `secondsDownloading` to `seconds_downloading`
* refactor: change `secondsSeeding` to `seconds_seeding`
* refactor: change `sizeWhenDone` to `size_when_done`
* refactor: change `startDate` to `start_date`
* refactor: change `trackerStats` to `tracker_stats`
* refactor: change `totalSize` to `total_size`
* refactor: change `torrentFile` to `torrent_file`
* refactor: change `uploadedEver` to `uploaded_ever`
* refactor: change `uploadRatio` to `upload_ratio`
* refactor: change `webseedsSendingToUs` to `webseeds_sending_to_us`
* refactor: change `bytesCompleted` to `bytes_completed`
* refactor: change `clientName` to `client_name`
* refactor: change `clientIsChoked` to `client_is_choked`
* refactor: change `clientIsInterested` to `client_is_interested`
* refactor: change `flagStr` to `flag_str`
* refactor: change `isDownloadingFrom` to `is_downloading_from`
* refactor: change `isEncrypted` to `is_encrypted`
* refactor: change `isIncoming` to `is_incoming`
* refactor: change `isUploadingTo` to `is_uploading_to`
* refactor: change `isUTP` to `is_utp`
* refactor: change `peerIsChoked` to `peer_is_choked`
* refactor: change `peerIsInterested` to `peer_is_interested`
* refactor: change `rateToClient` to `rate_to_client`
* refactor: change `rateToPeer` to `rate_to_peer`
* refactor: change `fromCache` to `from_cache`
* refactor: change `fromDht` to `from_dht`
* refactor: change `fromIncoming` to `from_incoming`
* refactor: change `fromLpd` to `from_lpd`
* refactor: change `fromLtep` to `from_ltep`
* refactor: change `fromPex` to `from_pex`
* refactor: change `fromTracker` to `from_tracker`
* refactor: change `announceState` to `announce_state`
* refactor: change `downloadCount` to `download_count`
* refactor: change `hasAnnounced` to `has_announced`
* refactor: change `hasScraped` to `has_scraped`
* refactor: change `isBackup` to `is_backup`
* refactor: change `lastAnnouncePeerCount` to `last_announce_peer_count`
* refactor: change `lastAnnounceResult` to `last_announce_result`
* refactor: change `lastAnnounceStartTime` to `last_announce_start_time`
* refactor: change `lastAnnounceSucceeded` to `last_announce_succeeded`
* refactor: change `lastAnnounceTime` to `last_announce_time`
* refactor: change `lastAnnounceTimedOut` to `last_announce_timed_out`
* refactor: change `lastScrapeResult` to `last_scrape_result`
* refactor: change `lastScrapeStartTime` to `last_scrape_start_time`
* refactor: change `lastScrapeSucceeded` to `last_scrape_succeeded`
* refactor: change `lastScrapeTime` to `last_scrape_time`
* refactor: change `lastScrapeTimedOut` to `last_scrape_timed_out`
* refactor: change `leecherCount` to `leecher_count`
* refactor: change `nextAnnounceTime` to `next_announce_time`
* refactor: change `nextScrapeTime` to `next_scrape_time`
* refactor: change `scrapeState` to `scrape_state`
* refactor: change `seederCount` to `seeder_count`
* refactor: change `torrent-added` to `torrent_added`
* refactor: change `torrent-duplicate` to `torrent_duplicate`
* refactor: change `torrent-remove` to `torrent_remove`
* refactor: change `delete-local-data` to `delete_local_data`
* refactor: change `torrent-rename-path` to `torrent_rename_path`
* refactor: change `alt-speed-down` to `alt_speed_down`
* refactor: convert `pref_toggle_entries` to quark array
* refactor: change `alt-speed-enabled` to `alt_speed_enabled`
* refactor: change `compact-view` to `compact_view`
* refactor: change `sort-reversed` to `sort_reversed`
* refactor: change `show-filterbar` to `show_filterbar`
* refactor: change `show-statusbar` to `show_statusbar`
* refactor: change `show-toolbar` to `show_toolbar`
* refactor: change `alt-speed-time-begin` to `alt_speed_time_begin`
* refactor: change `alt-speed-time-day` to `alt_speed_time_day`
* refactor: change `alt-speed-time-end` to `alt_speed_time_end`
* refactor: change `alt-speed-up` to `alt_speed_up`
* refactor: change `alt-speed-time-enabled` to `alt_speed_time_enabled`
* refactor: change `blocklist-enabled` to `blocklist_enabled`
* refactor: change `blocklist-size` to `blocklist_size`
* refactor: change `blocklist-url` to `blocklist_url`
* refactor: change `cache-size-mb` to `cache_size_mb`
* refactor: change `config-dir` to `config_dir`
* refactor: change `default-trackers` to `default_trackers`
* refactor: change `dht-enabled` to `dht_enabled`
* refactor: change `download-dir-free-space` to `download_dir_free_space`
* refactor: change `download-queue-enabled` to `download_queue_enabled`
* refactor: change `download-queue-size` to `download_queue_size`
* refactor: change `idle-seeding-limit-enabled` to `idle_seeding_limit_enabled`
* refactor: change `idle-seeding-limit` to `idle_seeding_limit`
* refactor: change `incomplete-dir-enabled` to `incomplete_dir_enabled`
* refactor: change `incomplete-dir` to `incomplete_dir`
* refactor: change `lpd-enabled` to `lpd_enabled`
* refactor: change `peer-limit-global` to `peer_limit_global`
* refactor: change `peer-limit-per-torrent` to `peer_limit_per_torrent`
* refactor: change `peer-port-random-on-start` to `peer_port_random_on_start`
* refactor: change `peer-port` to `peer_port`
* refactor: change `pex-enabled` to `pex_enabled`
* refactor: change `port-forwarding-enabled` to `port_forwarding_enabled`
* refactor: change `queue-stalled-enabled` to `queue_stalled_enabled`
* refactor: change `queue-stalled-minutes` to `queue_stalled_minutes`
* refactor: change `rename-partial-files` to `rename_partial_files`
* refactor: change `rpc-version-minimum` to `rpc_version_minimum`
* refactor: change `rpc-version-semver` to `rpc_version_semver`
* refactor: change `rpc-version` to `rpc_version`
* refactor: change `script-torrent-added-enabled` to `script_torrent_added_enabled`
* refactor: change `script-torrent-added-filename` to `script_torrent_added_filename`
* refactor: change `script-torrent-done-enabled` to `script_torrent_done_enabled`
* refactor: change `script-torrent-done-filename` to `script_torrent_done_filename`
* refactor: change `script-torrent-done-seeding-enabled` to `script_torrent_done_seeding_enabled`
* refactor: change `script-torrent-done-seeding-filename` to `script_torrent_done_seeding_filename`
* refactor: change `seed-queue-enabled` to `seed_queue_enabled`
* refactor: change `seed-queue-size` to `seed_queue_size`
* refactor: change `seedRatioLimited` to `seed_ratio_limited`
* refactor: change `session-id` to `session_id`
* refactor: change `speed-limit-down-enabled` to `speed_limit_down_enabled`
* refactor: change `speed-limit-down` to `speed_limit_down`
* refactor: change `speed-limit-up-enabled` to `speed_limit_up_enabled`
* refactor: change `speed-limit-up` to `speed_limit_up`
* refactor: change `start-added-torrents` to `start_added_torrents`
* refactor: change `trash-original-torrent-files` to `trash_original_torrent_files`
* refactor: change `utp-enabled` to `utp_enabled`
* refactor: change `tcp-enabled` to `tcp_enabled`
* docs: add missing docs for RPC `tcp_enabled`
* refactor: change `speed-units` to `speed_units`
* refactor: change `speed-bytes` to `speed_bytes`
* refactor: change `size-units` to `size_units`
* refactor: change `size-bytes` to `size_bytes`
* refactor: change `memory-units` to `memory_units`
* refactor: change `memory-bytes` to `memory_bytes`
* refactor: change `session-set` to `session_set`
* refactor: change `session-get` to `session_get`
* refactor: change `session-stats` to `session_stats`
* refactor: change `activeTorrentCount` to `active_torrent_count`
* refactor: change `downloadSpeed` to `download_speed`
* refactor: change `pausedTorrentCount` to `paused_torrent_count`
* refactor: change `torrentCount` to `torrent_count`
* refactor: change `uploadSpeed` to `upload_speed`
* refactor: change `cumulative-stats` to `cumulative_stats`
* refactor: change `current-stats` to `current_stats`
* refactor: change `uploadedBytes` and `uploaded-bytes` to `uploaded_bytes`
* refactor: change `downloadedBytes` and `downloaded-bytes` to `downloaded_bytes`
* refactor: change `filesAdded` and `files-added` to `files_added`
* refactor: change `sessionCount` and `session-count` to `session_count`
* refactor: change `secondsActive` and `seconds-active` to `seconds_active`
* refactor: change `blocklist-update` to `blocklist_update`
* refactor: change `port-test` to `port_test`
* refactor: change `session-close` to `session_close`
* refactor: change `queue-move-top` to `queue_move_top`
* refactor: change `queue-move-up` to `queue_move_up`
* refactor: change `queue-move-down` to `queue_move_down`
* refactor: change `queue-move-bottom` to `queue_move_bottom`
* refactor: change `free-space` to `free_space`
* refactor: change `group-set` to `group_set`
* refactor: change `group-get` to `group_get`
* refactor: change `announce-ip` to `announce_ip`
* refactor: change `announce-ip-enabled` to `announce_ip_enabled`
* refactor: change `upload-slots-per-torrent` to `upload_slots_per_torrent`
* refactor: change `trash-can-enabled` to `trash_can_enabled`
* refactor: change `watch-dir-enabled` to `watch_dir_enabled`
* refactor: change `watch-dir-force-generic` to `watch_dir_force_generic`
* refactor: change `watch-dir` to `watch_dir`
* refactor: change `message-level` to `message_level`
* refactor: change `scrape-paused-torrents-enabled` to `scrape_paused_torrents_enabled`
* refactor: change `torrent-added-verify-mode` to `torrent_added_verify_mode`
* refactor: change `sleep-per-seconds-during-verify` to `sleep_per_seconds_during_verify`
* refactor: change `bind-address-ipv4` to `bind_address_ipv4`
* refactor: change `bind-address-ipv6` to `bind_address_ipv6`
* refactor: change `peer-congestion-algorithm` to `peer_congestion_algorithm`
* refactor: change `peer-socket-tos` to `peer_socket_tos`
* refactor: change `peer-port-random-high` to `peer_port_random_high`
* refactor: change `peer-port-random-low` to `peer_port_random_low`
* refactor: change `anti-brute-force-enabled` to `anti_brute_force_enabled`
* refactor: change `rpc-authentication-required` to `rpc_authentication_required`
* refactor: change `rpc-bind-address` to `rpc_bind_address`
* refactor: change `rpc-enabled` to `rpc_enabled`
* refactor: change `rpc-host-whitelist` to `rpc_host_whitelist`
* refactor: change `rpc-host-whitelist-enabled` to `rpc_host_whitelist_enabled`
* refactor: change `rpc-password` to `rpc_password`
* refactor: change `rpc-port` to `rpc_port`
* refactor: change `rpc-socket-mode` to `rpc_socket_mode`
* refactor: change `rpc-url` to `rpc_url`
* refactor: change `rpc-username` to `rpc_username`
* refactor: change `rpc-whitelist` to `rpc_whitelist`
* refactor: change `rpc-whitelist-enabled` to `rpc_whitelist_enabled`
* refactor: change `ratio-limit-enabled` to `ratio_limit_enabled`
* refactor: change `ratio-limit` to `ratio_limit`
* refactor: change `show-options-window` to `show_options_window`
* refactor: change `open-dialog-dir` to `open_dialog_dir`
* refactor: change `inhibit-desktop-hibernation` to `inhibit_desktop_hibernation`
* refactor: change `show-notification-area-icon` to `show_notification_area_icon`
* refactor: change `start-minimized` to `start_minimized`
* refactor: change `torrent-added-notification-enabled` to `torrent_added_notification_enabled`
* refactor: change `anti-brute-force-threshold` to `anti_brute_force_threshold`
* refactor: change `torrent-complete-notification-enabled` to `torrent_complete_notification_enabled`
* refactor: change `prompt-before-exit` to `prompt_before_exit`
* refactor: change `sort-mode` to `sort_mode`
* refactor: change `statusbar-stats` to `statusbar_stats`
* refactor: change `show-extra-peer-details` to `show_extra_peer_details`
* refactor: change `show-backup-trackers` to `show_backup_trackers`
* refactor: change `blocklist-date` to `blocklist_date`
* refactor: change `blocklist-updates-enabled` to `blocklist_updates_enabled`
* refactor: change `main-window-layout-order` to `main_window_layout_order`
* refactor: change `main-window-height` to `main_window_height`
* refactor: change `main-window-width` to `main_window_width`
* refactor: change `main-window-x` to `main_window_x`
* refactor: change `main-window-y` to `main_window_y`
* refactor: change `filter-mode` to `filter_mode`
* refactor: change `filter-trackers` to `filter_trackers`
* refactor: change `filter-text` to `filter_text`
* refactor: change `remote-session-enabled` to `remote_session_enabled`
* refactor: change `remote-session-host` to `remote_session_host`
* refactor: change `remote-session-https` to `remote_session_https`
* refactor: change `remote-session-password` to `remote_session_password`
* refactor: change `remote-session-port` to `remote_session_port`
* refactor: change `remote-session-requres-authentication` to `remote_session_requires_authentication`
* refactor: change `remote-session-username` to `remote_session_username`
* refactor: change `torrent-complete-sound-command` to `torrent_complete_sound_command`
* refactor: change `torrent-complete-sound-enabled` to `torrent_complete_sound_enabled`
* refactor: change `user-has-given-informed-consent` to `user_has_given_informed_consent`
* refactor: change `read-clipboard` to `read_clipboard`
* refactor: change `details-window-height` to `details_window_height`
* refactor: change `details-window-width` to `details_window_width`
* refactor: change `main-window-is-maximized` to `main_window_is_maximized`
* refactor: change `port-is-open` to `port_is_open`
* refactor: change `show-tracker-scrapes` to `show_tracker_scrapes`
* refactor: change `max-peers` to `max_peers`
* refactor: change `peers2-6` to `peers2_6`
* refactor: change `seeding-time-seconds` to `seeding_time_seconds`
* refactor: change `downloading-time-seconds` to `downloading_time_seconds`
* refactor: change `ratio-mode` to `ratio_mode`
* refactor: change `idle-limit` to `idle_limit`
* refactor: change `idle-mode` to `idle_mode`
* refactor: change `speed-Bps` to `speed_Bps`
* refactor: change `use-global-speed-limit` to `use_global_speed_limit`
* refactor: change `use-speed-limit` to `use_speed_limit`
* chore: remove TODO comment
* docs: add upgrade instructions to `5.0.0`
* chore: bump rpc semver major version
* chore: housekeeping
2025-12-01 16:08:18 -06:00
Charles Kerr
bfa1950fbe
feat: native icons in Qt client ( #7819 )
...
* chore: savepoint
* chore: code style
* refactor: add std::string_view constructor for NativeIcon::Spec
* chore: add TODO comment
* feat: honor per-desktop HIG on when to show menu icons
* chore: remove Faenza system-run icon
unused since b58e95910b
* chore: remove Faenza view-refresh icon
not needed due to b58e95910b
* chore: remove Faenza media-playback-pause icon
not needed due to b58e95910b
* chore: remove Faenza media-playback-start icon
not needed due to b58e95910b
* chore: add a safeguard against merging with incomplete TODO items
* feat: add more icons
refactor: remove some tracer cerr statements
* refactor: remove IconCache use from MainWindow
* chore: remove Faenza icon set
* chore: re-enable remote session network icon
* fix: FTBFS on Windows
* refactor: use symbolic names for Segoe icons
* docs: add links to Segoe MDL2 Assets icon list
* chore: savepoint
segoe icons work
still a WIP; includes test code that should not ship
* feat: use segoe::FastForward for action_StartNow
feat: use segoe::Move for action_SetLocation
refactor: make it easier for devs to force a font at compile time for development work
segoe license does not allow bundling but does allow dev work
chore: code_style.sh
* refactor: remove unused addEmblem()
* docs: add code comment on how to force an icon font
* fix: Win 10, 11 icons play nicely with dark mode
* chore: savepoint
add draft of SF Symbol -> QPixmap loader
* chore: remove dangling font reference from qrc file
* fix: FTBFS
* refactor: use bribri code for NSImage -> QPixmap
* feat: support dark, light mode when rendering SF Symbol monochrome icons
* fixup! feat: support dark, light mode when rendering SF Symbol monochrome icons
fix: fail gracefully on macOS 11
* chore: code style
* chore: tweak some SF Symbol icon choices
* chore: consistent uppercase for hex segoe QChars
* chore: undefine DEV_FORCE_FONT_FAMILY and DEV_FORCE_FONT_RESOURCE
* chore: savepoint
* refactor: clean up NativeIcon impl
* refactor: remove unused MenuMode::Other
* refactor: DRY in FilterBar::createActivityCombo()
* chore: remove obsolete code comment
* refactor: rename icons::Facet as icons::Type
* fix: oops
* refactor: minor cleanup
* fix: tyop
* chore: remove unused #includes
* fix: add modes for some icons
* refactor: tweak some icon choices on macOS
* fix: ensure icons are visible on File, Help menus
fix: remove unused local variable
* refactor: tweak some icon choices for XDG
* refactor: remove the fallback QStyle::StandardPixmaps
These interfere with deciding whether an icon is well-defined and
unambiguous as per the macOS and Windows HIG guidelines.
If a standard or unambiguous icon exists in the native icon sets,
specify it with an SF Symbols name, a Segoe codepoint,
or XDG standard icon name. Otherwise, leave those fields blank.
* refactor: remove unused #includes
* docs: add "choosing icons" section in NativeIcons.cc
* refactor: simplify icons::shouldBeShownInMenu()
* refactor: reduce unnecessary code shear from main
* refactor: make TorrentDelegate::warning_emblem_ const
* refactor: extract-method MainWindow::updateActionIcons()
* feat: update MainWindow icons when light/dark theme changes
* feat: restore the QStyle::StandardPixmaps as fallbacks
Can be used on older Windows / macOS if Segoe or SF Symbols are unavailable
* refactor: add button text for add/edit/remove tracker buttons
QStyle::StandardPixmap doesn't have good icons for these,
so let's ensure that these buttons have visible text.
* fix: building NativeIconMac.mm on mac even if not clang
* chore: iwyu in new code
* docs: tweak the "Choosing Icons" comments again
* fix: handle changed QStyles in icons::icon()
do not cache point_sizes set between calls
refactor: const correctness
* fixup! refactor: simplify icons::shouldBeShownInMenu()
refactor: minor code tweak, declare vars in order that they are used
2025-11-30 10:09:20 -06:00
htmltiger
d64a1a5699
feat: Remote session RPC url path change option qt client ( #7561 )
2025-11-26 14:12:10 -06:00
Charles Kerr
5cc5538df4
fix: the MainWindow::snetwork_timer_ was not being started when changing from a local to remote session ( #7851 )
2025-11-25 16:05:13 -06:00
Charles Kerr
3628a1084e
refactor: extract-method MainWindow::addTorrentFromClipboard() ( #7850 )
2025-11-23 18:18:29 -06:00
Charles Kerr
6a7ad3ff09
chore: remove action_ReverseSortOrder icon ( #7815 )
2025-11-14 16:14:38 -06:00
Charles Kerr
fe5a3fb67c
chore: remove edit-clear icon ( #7814 )
...
unused since 03034b5015
2025-11-14 13:50:45 -06:00
Charles Kerr
73e6892a74
refactor: let client pass in translated string of None when calling tr_strratio() ( #7805 )
2025-11-14 10:04:04 -06:00
Mike Gelfand
b27fafca45
Sync translations ( #7768 )
...
* Sync translations with code
* Sync translations with Transifex
2025-11-05 22:05:13 +00:00
Mike Gelfand
7b4c0ee096
Use native folder icon in torrent files tree ( #7757 )
...
Not all Qt styles seem to provide a `DirOpenIcon` icon (Windows 11 style
doesn't, which leads to no icon in the tree), and `DirIcon` is usually
the same (or worse) as the one returned by our icon cache. It's also not
clear why we'd want an _open_ folder icon specifically, given that the
condition in the `else` branch is essentially checking the same thing.
2025-11-02 00:38:01 +00:00
Mike Gelfand
602993cb67
Draw custom colored progress bars (Qt client) ( #7756 )
2025-11-01 23:48:18 +00:00
Mike Gelfand
2b4803a023
Bump Windows dependencies ( #7755 )
2025-11-01 18:59:13 +00:00
Mike Gelfand
f8d8676f60
Sync translations ( #7742 )
...
* Fix "Message contains an embedded URL" xgettext warnings
See https://www.gnu.org/software/gettext/manual/html_node/No-embedded-URLs.html
* Sync translations with code
* Sync translations with Transifex
2025-10-27 14:39:58 +01:00
Yat Ho
9c14fa58d8
feat: allow optional arguments in tr_getopt() ( #7510 )
...
* feat: allow optional arguments in `tr_getopt()`
* test: new tests for optional arg
* code review: `using Arg = tr_option::Arg`
* refactor: static assert option array size
* test: add new tests for missing arguments in the middle
* test: static auto constexpr
2025-10-15 12:08:11 -05:00
Yat Ho
08ec7fb7c7
build: lint header files with clang-tidy ( #7527 )
...
* build: clang-tidy headers when building libtransmission
* chore: revert `= default` workaround
It was introduced in 6909ec0bad to fix build issues with macOS 10.14. We
no longer support that version.
* fix: clang-tidy warnings for libtransmission
* build: clang-tidy headers when building tests
* fix: clang-tidy warnings for tests
* build: clang-tidy headers when building qt
* code review: don't manually edit mime-types.h
* code review: unify variable naming for static private members
2025-05-07 22:10:16 +01:00
Yat Ho
adea0e2a07
build: tell clang-tidy to suggest uppercase literal suffixes ( #7529 )
2025-05-06 22:07:43 +01:00
Yat Ho
c215de34d5
chore: move away from fmt/core.h ( #7557 )
2025-05-06 01:01:12 -05:00
Yat Ho
7b83c7d625
refactor: rename unreleased quarks to snake_case ( #7483 )
...
* refactor: rename `sequentialDownload` to `sequential_download`
* refactor: rename `beginPiece` to `begin_piece`
* refactor: rename `endPiece` to `end_piece`
* refactor: rename `ipProtocol` to `ip_protocol`
* refactor: rename `preferred-transport` to `preferred_transport`
2025-03-10 17:30:19 -05:00
Charles Kerr
76d854dcc8
fix: clang-tidy-20 warnings ( #7479 )
...
* chore: disable unavoidable warning
* fix: clang-tidy readability-math-missing-parentheses warnings
* fix: clang-tidy google-readability-todo warnings
* fix: clang-tidy misc-use-internal-linkage warnings
* fix: clang-tidy readability-redundant-string-cstr warnings
* chore: disable cppcoreguidelines-avoid-const-or-ref-data-members warnings in tests
* chore: disable cppcoreguidelines-avoid-const-or-ref-data-members warnings in qt/
* fix: clang-tidy readability-identifier-naming warnings
2025-03-10 15:01:31 -05:00
Mike Gelfand
42ccb54c98
Sync translations ( #7477 )
...
* Sync translations with code
* Sync translations with Transifex
* Fix order of plurals for Slovenian
* Add new Mac translations
* Afrikaans (af)
* Greek (el)
2025-03-09 13:47:57 +00:00
Charles Kerr
491cdc1560
refactor: remove TR_ARG_TUPLE macro ( #7468 )
2025-03-04 19:06:12 -06:00
Charles Kerr
cbd65ae8b1
refactor: fix modernize-use-nodiscard warnings by adding [[nodiscard]] ( #7351 )
2025-03-04 17:28:33 -06:00
Mike Gelfand
cbba2e0390
Sync translations ( #7362 )
...
* Fix lupdate unused directives warning
* Sync translations with code
* Sync translations with Transifex
2025-01-01 14:55:51 +00:00
github-actions[bot]
aa9aff1131
chore: update copyright years ( #7359 )
2025-01-01 12:04:53 +00:00
Yat Ho
131caa1239
refactor: convert tr_net_init_mgr to singleton ( #6914 )
2024-12-30 09:32:11 -06:00
Charles Kerr
7820f54ba1
refactor: remove TR_DISABLE_COPY_MOVE macro ( #7344 )
2024-12-29 00:15:39 -06:00
H5117
59c1c1e83b
qt: refactor Application ( #7092 )
2024-12-18 21:47:37 +00:00
Charles Kerr
d8adecbfb5
fix: clang-tidy-20 warnings in transmission-qt ( #7192 )
...
* fix: modernize-min-max-use-initializer-list warning
* fix: readability-container-contains warning
* fix: readability-avoid-return-with-void-value warning
* fix: readability-math-missing-parentheses warnings
* chore: clang-format
* fixup! fix: readability-math-missing-parentheses warnings
* fix: bugprone-suspicious-stringview-data-usage warning
2024-10-23 20:48:01 -05:00
Julia
97abf15050
correct "Queue for download" last activity ( #6872 )
...
* simple fix
* apply suggestion
2024-10-21 20:56:37 -05:00
Cœur
a8bf44eeb1
fix: code should be clang-formatted ( #7184 )
2024-10-20 20:37:06 -05:00
Yat Ho
8b92f6d011
chore: remove unused TR_KEY_show_extra_peer_details app default ( #7117 )
2024-09-13 22:14:24 +01:00
Yat Ho
d29d1fce5b
fix: use correct quark for Prefs::SHOW_TRACKER_SCRAPES ( #7116 )
2024-09-13 22:14:02 +01:00
Mike Gelfand
d8413493d0
Move Qt client's tr_main() into a separate file ( #7076 )
...
Support special (optional) `--` argument to explicitly separate options
from filenames. Support special `---` argument to separate client
arguments from Qt arguments.
2024-08-24 18:15:19 +01:00
Jason Beck
3e9f5f614a
fix: Qt build missing an icon ( #6683 )
...
* Create a new shared location for icons and update qt scripts to package public icons
* Move the Faenza.qrc back to original location
* Revert "Move the Faenza.qrc back to original location"
This reverts commit 963e099d65 .
* Replace Faenza to its original location
* Remove attribution for an image that does not exist
2024-07-18 02:12:18 +01:00
Charles Kerr
6132706565
chore: iwyu ( #6864 )
...
* chore: do not include <set> unless we use it
* chore: do not include <map> unless we use it
* chore: do not include <string> unless we use it
* chore: do not include <list> unless we use it
* chore: do not include <memory> unless we use it
* chore: do not include <optional> unless we use it
* chore: do not include <functional> unless we use it
2024-05-27 17:36:02 -05:00
Nick
fb79a2d399
qt: add dynamic RPC keys ( #6599 )
...
* add dynamic main stat keys
* make dynamic rpc calls more generic
2024-04-01 09:02:17 -05:00
Cœur
edc59ba5d8
fix compatibility with clang-format 18 ( #6690 )
...
* fix clang-format
* compatibility with clang-format 17-18
2024-03-15 00:17:10 -05:00
Charles Kerr
a90d0fce2b
refactor: inline simple getters in qt client ( #6621 )
...
* refactor: make RpcClient::url() constexpr
* refactor: make Session::getRemoteUrl() constexpr
* refactor: make RpcQueue::setTolerateErrors() constexpr
* refactor: make RpcClient::isLocal() constexpr
* refactor: make Session::isLocal() constexpr
* refactor: make Session::isServer() constexpr
* refactor: make PathButton::label() constexpr
* chore: remove accidentally-committed makelog file
2024-02-18 18:48:27 -06:00
Charles Kerr
d11cddc39a
fix: sonarcloud warnings ( #6615 )
...
* fix: cpp:S3358 conditional-operators-should-not-be-nested warning in gtk client
* fix: cpp:S1659 define-each-identifier-in-a-dedicated-statement warning in peer-mgr-wishlist
* Revert "fix; cpp:S3642 replace-enum-with-enum-class warning in gtk client"
* fix: cpp:S3576 remove-virtual-specifier-or-replace-it-by-override warning in rpc-server::Settings
* fix: cpp:S3576 remove-virtual-specifier-or-replace-it-by-override warning in tr_session_alt_speeds::Settings
* fix: remove unnecessary Settings subclass declarations
* fix: cpp:S1117 shadow warning in qt client
* fix: cpp:S6004 use init-statement to limit scope of local
* fix: cpp:S5997 replace-std-lock-guard-with-std-sccoped-lock in favicon-cache.h
* fix: cpp:S1659 define-each-identifier-in-a-dedicated-statement warning in announcer
* fix: cpp:S5817 function-should-be-declared-const warning in cache.h
* fix: cpp:S1186 explain-why-method-is-empty warning in favicon-cache
* fix: cpp:S5408 constexpr-variables-should-not-be-declared-inline warning in favicon-cache
* fix: cpp:S3624 explicitly delete copy assignment, ctor of InFlightData
* fix: cpp:S5997 use std-scoped-lock-instead-of-std-lock-guard
* fix: cpp:S5997 use std-scoped-lock-instead-of-std-lock-guard
* fix: cpp:S5817 function-should-be-declared-const warning in favicon-cache.h
* fix: cpp:S5817 function-should-be-declared-const warning in lru-cache
* fix: cpp:S1709 add-the-explicit-keyword-to-this-constructor
2024-02-17 22:43:24 -06:00
Cœur
c3667fa5a7
fix clang-format ( #6616 )
2024-02-17 22:41:52 -06:00
Charles Kerr
7c11809672
fix: more clang-tidy warnings ( #6608 )
...
* fix: readability-redundant-casting warnings in gtk
* fix: bugprone-move-forwarding-reference warnings in gtk
* fix: readability-redundant-casting warnings in qt
* fix: bugprone-switch-missing-default-case warnings in qt
* fix: readability-use-std-min-max warning in qt client
* fix: readability-static-accessed-through-instance warning in qt client
* fix: cppcoreguidelines-avoid-const-or-ref-data-members warning in qt client
* fix: readability-avoid-nested-conditional-operator warning in qt client
* fixup! fix: readability-use-std-min-max warning in qt client
* fix: readability-redundant-member-init warnings in gtk client
* fix: performance-avoid-endl warnings in gtk client
* chore: disable readability-qualified-auto
too many false warnings
* chore: disable cppcoreguidelines-avoid-const-or-ref-data-members
* chore: fix readability-duplicate-include warning in gtk client
* chore: fix modernize-use-nodiscard warning in gtk client
* chore: fix readability-convert-member-functions-to-static warning in gtk client
* fixup! fix: bugprone-move-forwarding-reference warnings in gtk
* chore: fix performance-enum-size warning in gtk client
* fix: cppcoreguidelines-prefer-member-initializer warning in gtk client
* fix: readability-identifier-naming warning in qt client
* Revert "chore: fix performance-enum-size warning in gtk client"
This reverts commit 5ce6b562f8 .
* fix: readability-redundant-member-init warning in move tests
* fix: readability-redundant-casting warnings in tests
* fixup! fix: readability-identifier-naming warning in qt client
* fixup! fix: readability-avoid-nested-conditional-operator warning in qt client
* fix: readability-static-accessed-through-instance warning in qt client
* fix: readability-redundant-casting warning in watchdir tests
2024-02-17 13:31:49 -06:00
Charles Kerr
a51f08e532
perf: prefer small containers ( #6542 )
...
* perf: make pref_is_savable() constexpr
* refactor: use std::vector in tr_torrents::removedSince()
* chore: remove unused typedef in OptionsDialog
* perf: use std::vector in tr_num_parse_range()
* perf: use small::max_size_set in FileTreeItem::update()
* perf: use small:set in Wishlist::next()
* perf: use small:map in FilterBar
* perf: use small::map for counts in tr_logAddMessage()
* perf: use small::max_size_map in FileTreeModel::twiddleWanted()
perf: use small::max_size_map in FileTreeModel::twiddlePriority()
* perf: use a std::array instead of std::map in TorrentFilter::update()
* perf: use a std::array instead of std::map in TorrentSorter::set_mode()
* perf: use a std::array instead of std::map in TorrentSorter::update()
* perf: use small::set in Application::Impl::on_rpc_changed_idle()
* perf: use std::array for MessageLogColumnsModel::level_names_
* fixup! perf: use std::array for MessageLogColumnsModel::level_names_
* fixup! perf: use small::map for counts in tr_logAddMessage()
2024-01-27 09:33:12 -06:00
Yat Ho
32ef92e7a7
feat: do separate IPv4 and IPv6 port checks in Qt and GTK Client ( #6525 )
...
* fix: specify `port-test` ip protocol in response when possible
* feat: IPv4 and IPv6 port test in Qt Client
* feat: shorten timeout of `port-test`
* feat: IPv4 and IPv6 port test in Gtk Client
* chore: housekeeping
* refactor: remove IP protocol error message
* code review: mikedld gtk
* feat: return tag in qt rpc response
* code review: mikedld qt
* feat: move port test button up alongside spin button
* fixup! code review: mikedld gtk
* fixup! code review: mikedld qt
* code review: port status initial text
* feat: decouple ipv4 and ipv6 status updates (GTK)
* feat: decouple ipv4 and ipv6 status updates (Qt)
* code review: unknown protocols are non-pending
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com >
* code review: simplify status text when the statuses are the same
* Revert "feat: return tag in qt rpc response"
This reverts commit 2a022c2bb0ee7ddad81f8176839cf0d043422368.
* code review: add translation context for status text (GTK)
* code review: move `port_test_pending_` to `Impl` (GTK)
* fixup! code review: move `port_test_pending_` to `Impl` (GTK)
---------
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com >
2024-01-21 16:50:26 -06:00
Mike Gelfand
29a566664a
Use semi-transparent color for inactive torrents ( #6544 )
2024-01-21 16:13:51 -06:00
Charles Kerr
468de87076
refactor: fix cppcoreguidelines-avoid-do-while warnings ( #6527 )
...
* fix: avoid do-while in tr_sys_file_lock()
* fix: avoid do-while in BitfieldTest
* chore: set cppcoreguidelines-avoid-do-while.IgnoreMacros
* fix: avoid do-while in FileList::Impl::onRowActivated()
* fix: avoid do-while in tr_spawn_async_in_parent()
* fix: avoid do-while in handle_sigchld()
* fixup! fix: avoid do-while in tr_spawn_async_in_parent()
* fixup! fix: avoid do-while in FileList::Impl::onRowActivated()
* fixup! fix: avoid do-while in tr_spawn_async_in_parent()
fix fd leak regression
* fixup! fix: avoid do-while in tr_spawn_async_in_parent()
2024-01-20 16:56:42 -06:00