transmission/qt
Charles Kerr 33a421e97f
refactor: only update filterbar comboboxes when necessary (#1335)
* refactor: Torrent::update() returns a delta bitset

Setting up for followup PRs where, instead of doing expensive work every
time there is a change, we can be more fine-grained and do the work only
if the relevant Torrent properties changed.

* chore: make uncrustify happy

* refactor: update filterbar counts more selectively

Only rebuild the activity and tracker combobox models when the model's
size changes or when the relevant Torrent properties change.

Previously, rebuild would happen on any Torrent property change even if
the properties were unrelated to activity or trackers.

* chore: remove redundant "private:" key
2020-06-23 18:54:08 -05:00
..
icons lossless compression of images saved 72KB 2017-06-03 23:52:34 +01:00
translations Add new translations from Transifex (95% and higher) 2020-05-14 19:17:11 +03:00
.clang-tidy chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
AboutDialog.cc chore: prefer QStringLiteral (#1284) 2020-05-29 12:40:07 -05:00
AboutDialog.h chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
AboutDialog.ui Switch to HTTPS links, adjust wiki links where possible 2018-01-16 01:12:59 +03:00
AddData.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
AddData.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
Application.cc feat: add 'edit-date' support to qt client (#1322) 2020-06-18 15:34:11 -05:00
Application.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
BaseDialog.h Adjust uncrustify config, reformat all but Mac client 2017-04-20 10:01:22 +03:00
CMakeLists.txt Add new translations from Transifex (95% and higher) 2020-05-14 19:17:11 +03:00
ColumnResizer.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
ColumnResizer.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
ComInteropHelper.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
ComInteropHelper.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
CustomVariantType.h Adjust uncrustify config, reformat all but Mac client 2017-04-20 10:01:22 +03:00
DBusInteropHelper.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
DBusInteropHelper.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
DetailsDialog.cc feat: Torrent::update() returns a bitset of changed properties (#1334) 2020-06-23 16:11:16 -05:00
DetailsDialog.h feat: Torrent::update() returns a bitset of changed properties (#1334) 2020-06-23 16:11:16 -05:00
DetailsDialog.ui Set idle seed limit range to 1..40320 (4 weeks tops) in all clients 2017-07-05 21:07:16 +03:00
FaviconCache.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
FaviconCache.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
FileTreeDelegate.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
FileTreeDelegate.h qt client speedups 2019-11-11 19:37:05 -06:00
FileTreeItem.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
FileTreeItem.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
FileTreeModel.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
FileTreeModel.h chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
FileTreeView.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
FileTreeView.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
FilterBar.cc refactor: only update filterbar comboboxes when necessary (#1335) 2020-06-23 18:54:08 -05:00
FilterBar.h refactor: only update filterbar comboboxes when necessary (#1335) 2020-06-23 18:54:08 -05:00
FilterBarComboBox.cc refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
FilterBarComboBox.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
FilterBarComboBoxDelegate.cc chore: prefer QStringLiteral (#1284) 2020-05-29 12:40:07 -05:00
FilterBarComboBoxDelegate.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
Filters.cc refactor: only update filterbar comboboxes when necessary (#1335) 2020-06-23 18:54:08 -05:00
Filters.h refactor: only update filterbar comboboxes when necessary (#1335) 2020-06-23 18:54:08 -05:00
Formatter.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
Formatter.h chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
FreeSpaceLabel.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
FreeSpaceLabel.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
IconToolButton.cc Align type qualifiers to the right (code style) 2017-04-20 19:53:20 +03:00
IconToolButton.h qt client speedups 2019-11-11 19:37:05 -06:00
InteropHelper.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
InteropHelper.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
InteropObject.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
InteropObject.h Align type qualifiers to the right (code style) 2017-04-20 19:53:20 +03:00
LicenseDialog.cc refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
LicenseDialog.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
LicenseDialog.ui Bump copyright to 2020 (some more places) (#1206) 2020-05-02 12:26:42 -05:00
MainWindow.cc feat: Torrent::update() returns a bitset of changed properties (#1334) 2020-06-23 16:11:16 -05:00
MainWindow.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
MainWindow.ui Added queue up/down hotkeys to the Qt interface. 2017-05-01 18:57:06 +03:00
MakeDialog.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
MakeDialog.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
MakeDialog.ui
MakeProgressDialog.ui
OptionsDialog.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
OptionsDialog.h chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
OptionsDialog.ui
PathButton.cc refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
PathButton.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
Prefs.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
Prefs.h chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
PrefsDialog.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
PrefsDialog.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
PrefsDialog.ui Set idle seed limit range to 1..40320 (4 weeks tops) in all clients 2017-07-05 21:07:16 +03:00
README.txt Merge branch '2.9x' 2018-01-25 03:07:52 +03:00
RelocateDialog.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
RelocateDialog.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
RelocateDialog.ui
RpcClient.cc refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
RpcClient.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
RpcQueue.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
RpcQueue.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
Session.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
Session.h chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
SessionDialog.cc refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
SessionDialog.h chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
SessionDialog.ui
Speed.h chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
SqueezeLabel.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
SqueezeLabel.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
StatsDialog.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
StatsDialog.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
StatsDialog.ui
StyleHelper.cc Update to Uncrustify 0.68.1 2019-02-15 09:21:48 +03:00
StyleHelper.h Adjust uncrustify config, reformat all but Mac client 2017-04-20 10:01:22 +03:00
Torrent.cc feat: Torrent::update() returns a bitset of changed properties (#1334) 2020-06-23 16:11:16 -05:00
Torrent.h feat: Torrent::update() returns a bitset of changed properties (#1334) 2020-06-23 16:11:16 -05:00
TorrentDelegate.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
TorrentDelegate.h chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
TorrentDelegateMin.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
TorrentDelegateMin.h qt client speedups 2019-11-11 19:37:05 -06:00
TorrentFilter.cc refactor: only update filterbar comboboxes when necessary (#1335) 2020-06-23 18:54:08 -05:00
TorrentFilter.h refactor: only update filterbar comboboxes when necessary (#1335) 2020-06-23 18:54:08 -05:00
TorrentModel.cc feat: Torrent::update() returns a bitset of changed properties (#1334) 2020-06-23 16:11:16 -05:00
TorrentModel.h feat: Torrent::update() returns a bitset of changed properties (#1334) 2020-06-23 16:11:16 -05:00
TorrentView.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
TorrentView.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
TrackerDelegate.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
TrackerDelegate.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
TrackerModel.cc refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
TrackerModel.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
TrackerModelFilter.cc chore: clang-tidy cleanups (#1287) 2020-06-05 14:02:11 -05:00
TrackerModelFilter.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
Typedefs.h qt client speedups 2019-11-11 19:37:05 -06:00
Utils.cc chore: remove extraneous/default class destructors (#1317) 2020-06-15 09:30:29 -05:00
Utils.h chore: prefer QStringLiteral (#1284) 2020-05-29 12:40:07 -05:00
WatchDir.cc chore: prefer QStringLiteral (#1284) 2020-05-29 12:40:07 -05:00
WatchDir.h refactor: use snake_case field naming in qt client (#1262) 2020-05-27 16:53:12 -05:00
application.qrc
config.pri.in
my-valgrind.sh Refactor shell scripts with syntax and styling fixes 2019-01-16 03:22:29 +08:00
qtr.ico
qtr.pro qt client speedups 2019-11-11 19:37:05 -06:00
qtr.rc
transmission-qt.1 fixup! (trunk) update credits (#1205) 2020-05-02 11:42:18 -05:00
transmission-qt.desktop Correct Qt client desktop file name and add keywords 2017-02-04 15:03:49 +01:00
transmission-qt.idl
transmission-qt.tlb.rc
transmission_en.qm

README.txt

VOLUNTEERS WANTED

   - Qt developers and translators are needed
   - If you find a bug, please report it at https://github.com/transmission/transmission

ABOUT TRANSMISSION-QT

   Transmission-qt is a GUI for Transmission loosely based on the GTK+ client.

   This is the only Transmission client that can act as its own self-contained
   session (as the GTK+ and Mac clients do), and can also connect to a remote
   session (as the web client and transmission-remote terminal client do).

   Use Case 1: If you like to run BitTorrent for awhile from your desktop,
   then the Mac, GTK+, and Qt clients are a good match.

   Use Case 2: If you like to leave BitTorrent running nonstop on your
   computer or router, and want to control it from your desktop or
   from a remote site, then transmission-remote and the web and Qt clients
   are a good match.

   To use the Qt client as a remote, in the menu go to Edit > Change Session

   The Qt client is also the most likely to wind up running on Windows,
   though that's not a high priority at the moment...

BUILDING ON WINDOWS

   rb07 has a writeup of this on the Transmission wiki:
   https://trac.transmissionbt.com/wiki/BuildingTransmissionQtWindows

BUILDING ON OS X

   nnc has a writeup of this on the Transmission wiki:
   https://trac.transmissionbt.com/wiki/BuildingTransmissionQtMac

BUILDING ON UNIX

   1. Prerequisites: Qt >= 4.8 and its development packages
   2. Build Transmission as normal
   3. In the qt/ directory, type "qmake qtr.pro" (or "qmake-qt4 qtr.pro", or "qmake-qt5 qtr.pro")
   4. In the qt/ directory, type "make"
   5. In the qt/ directory, as root, type "INSTALL_ROOT=/usr make install"
      (Feel free to replace /usr with /usr/local or /opt or whatever)