Commit Graph

84 Commits

Author SHA1 Message Date
Mike Gelfand c6bfe9de15 Use QtWinExtras instead of importing private Qt function to get QPixmap from HICON 2017-02-11 20:48:13 +03:00
Mike Gelfand 03034b5015 Remove supporting code for Qt < 5.2 2017-02-11 13:44:34 +03:00
Mike Gelfand caf3b7653c Improve Qt client look on hi-dpi displays 2017-02-08 01:06:28 +03:00
Mike Gelfand 2b917de65b Refactor RPC requests code for proper queueing (patch by intelfx @ GH-10)
This refactoring is driven by the need to be able to do true queued RPC calls
(where each successive call uses the result of the previous).

Currently, such queueing of requests is done by assigning them special "magic"
tag numbers, which are then intercepted in one big switch() statement and acted
upon. This (aside from making code greatly unclear) effectively makes each such
queue a singleton, because state passing is restricted to global variables.

We refactor RpcClient to assign an unique tag to each remote call, and then
abstract all the call<->response matching with Qt's future/promise mechanism.

Finally, we introduce a "RPC request queue" class (RpcQueue) which is built on
top of QFutureWatcher and C++11's <functional> library. This class maintains
a queue of functions, where each function receives an RPC response, does
necessary processing, performs another call and finally returns its future.
2016-04-19 20:41:59 +00:00
Mike Gelfand 26637a8348 #6038: Fix qmake-based Qt client build 2015-12-21 13:20:35 +00:00
Mike Gelfand 4631848c15 Sync translations with Transifex
New translations: Italian (Italy) and Korean.
2015-12-12 18:14:15 +00:00
Mike Gelfand 585e3df30c Show notice on top of filtered torrents list
This has a couple of benefits: 1) it is clearly visible to the user that
the list is filtered (doesn't display all the torrents) even when filter
bar is hidden, 2) doesn't lead to filter bar controls being shifted to
the left/right as when "Show:" label text changes.
2015-10-19 20:30:26 +00:00
Mike Gelfand 971cc6d2d9 Remove context help button from dialogs on Windows
We don't currently (if ever) provide context help, so the button is
useless. Moreover, on Windows 10 it's even larger than before and
sometimes title text doesn't fit because of it.
2015-09-01 20:19:26 +00:00
Mike Gelfand 7f45029f18 Sync translations with Transifex
Add German and Indonesian (translated 95%+).
2015-08-10 20:43:26 +00:00
Mike Gelfand 0f9bdc6ac2 Use CMake-provided C/C++ standard selection capabilities; fix build (qtr.pro) 2015-08-01 16:05:02 +00:00
Mike Gelfand 5b61ba81ba Sync Qt client translations, add Polish language 2015-06-10 22:51:53 +00:00
Mike Gelfand 07912d230b Use PascalCase for Qt client filenames
Split FileTree.{h,cc} and FilterBar.{h,cc} files so that each class
is in its own file.

This breaks translations (some classes got renamed => context changed),
to be fixed by next commit (along with Tx sync).
2015-06-10 21:27:11 +00:00
Mike Gelfand ce200fa775 #5927: Add Chinese (zh_CN) translation to Qt client (provided by liaodahao) 2015-04-15 20:26:38 +00:00
Mike Gelfand d96ef13a89 Define QT_NO_CAST_FROM_ASCII (Qt client)
Use latin1 encoding most of the time where default encoding was used
before. Qt 4 assumes latin1 by default while Qt 5 uses utf-8 which is
not what we want.

Use utf-8 encoding in some places where default encoding was used before.
This includes strings coming from RPC.

Fix an issue with SortMode::names[] (filters.cc) where missing comma
between "sort-by-queue" and "sort-by-ratio" resulted in two array entries
being merged into solid "sort-by-queuesort-by-ratio" string and all the
following items being shifted compared to their enum counterparts.
2015-01-29 21:53:05 +00:00
Mike Gelfand a18d818882 Rework preferences dialog in Qt client to load from .ui 2015-01-25 15:47:03 +00:00
Mike Gelfand beeb4521c0 Rework forms layout to workaround some stylesheet issues (Qt client) 2015-01-21 21:14:00 +00:00
Mike Gelfand 81c3eebbab Use Faenza (1.3.1) as fallback on systems which do not support icon themes 2015-01-04 02:14:58 +00:00
Mike Gelfand 440f482d01 Replace tabs with spaces; remove trailing spaces 2015-01-02 11:15:31 +00:00
Mike Gelfand 8abdabc984 #5700: Add -std=gnu++11 to QMAKE_CXXFLAGS for Qt 4 and g++/clang++ 2015-01-01 23:54:35 +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 efddf08d67 Rework torrent creation dialog in Qt client to load from .ui 2014-12-31 22:27:46 +00:00
Mike Gelfand e0d5f8b861 Add new TrPathButton class (Qt client)
Make use of new button class in torrent options dialog.
Rework Utils::removeTrailingDirSeparator to return correct value for "/".
2014-12-31 21:00:34 +00:00
Mike Gelfand c64ca900c2 Rework torrent options dialog in Qt client to load from .ui 2014-12-29 04:03:56 +00:00
Mike Gelfand 7789c28f44 #5808: Don't embed path to DHT_LIBS in qtr.pro (patch by jbeich) 2014-12-28 00:02:50 +00:00
Mike Gelfand 342f38bbc5 Factor RPC logic out from session (Qt client) 2014-12-27 20:03:10 +00:00
Mike Gelfand 8a4f8b9e15 Rework relocate dialog in Qt client to load from .ui 2014-12-26 10:35:00 +00:00
Mike Gelfand 4138c7519b Rework about dialog in Qt client to load from .ui 2014-12-25 19:39:45 +00:00
Mike Gelfand 56c75a13b0 Rework session dialog in Qt client to load from .ui 2014-12-21 23:46:31 +00:00
Mike Gelfand 237acf1726 Rework statistics dialog in Qt client to load from .ui
Fix "Started %n time(s)" phrase (remove space in "time (s)", add proper
English translation for numeric forms).
2014-12-21 13:57:15 +00:00
Mike Gelfand dee7bc9b6a Move status bar creation to mainwin.ui
Among other things,
* fix turtle icons size (20x14 -> 16x16)
* use QIcon states instead of changing the turtle icon ourselves each
  time (unchecked - off, checked - on)
* make speed limit action in tray menu checkable
* simplify status bar buttons drawing and use QToolButton instead of
  QPushButton
2014-12-18 01:30:50 +00:00
Mike Gelfand 70c6087e94 Rework torrent details dialog in Qt client to load from .ui
Make squeeze labels (used for values on Information tab) display tooltip
on hover if their text doesn't fit. Make selective labels (same as in
GTK+ client) text selectable with keyboard in addition to mouse.
Prevent dialog width growth occured before to fit long error texts.
2014-12-14 18:12:21 +00:00
Mike Gelfand 10e59dbc90 #5800: Add Ukrainian translation to Qt client (patch by olexn) 2014-11-30 18:43:50 +00:00
Jordan Lee cd7e5291db silence warnings found by clang++ 2014-05-09 02:32:28 +00:00
Jordan Lee 8b0a7746bb fix crash when creating the Open Torrent dialog in Qt 5.2 on Ubuntu 14.04 2014-03-16 22:50:39 +00:00
Jordan Lee 59abf35807 (trunk, qt) #5465: restore Qt 4.6 support, patch by mike.did 2013-08-17 16:22:56 +00:00
Jordan Lee 1c79173459 support qt5 in transmission-qt 2013-07-27 21:58:14 +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 b0b33441e8 (trunk, qt) #5164 'french translation for qt client' -- added translation by UBIK. 2012-12-17 16:36:29 +00:00
Jordan Lee aa85152654 (trunk, qt) #5057 'hungarian translation for the Qt client' -- added. thanks marton! 2012-10-05 22:25:12 +00:00
Jordan Lee ec82624376 (trunk qt) #4937 "basque translation of transmission-qt" -- added patch from Azpidatziak 2012-07-01 04:28:58 +00:00
Jordan Lee a33763dbe3 (trunk qt) #4490 "transmission-qt FTB, undefined references to UTP library" -- fixed with patch by niol 2012-02-04 01:55:58 +00:00
Jordan Lee 01f68ca846 (trunk libT) #4323 "Allow usage of system miniupnpc" -- fixed. 2011-10-09 02:05:52 +00:00
Jordan Lee 2786136015 (trunk) #4490 "Transmission 2.40b1 fails to build: undefined references" -- fixed. 2011-10-08 23:53:27 +00:00
Jordan Lee dc498b9a34 (trunk qt) #4510 "Lithuanian (lt) translation for the Qt Client" -- added. 2011-09-25 21:56:11 +00:00
Jordan Lee 807cc6fa16 (trunk libT) #4270 "qtr / Qt Client fails to build when libutp is not available" -- fixed with patch by thomasg 2011-05-21 09:13:10 +00:00
Jordan Lee fe6665f68c (trunk qt) #4130 "Remove -levent from qtr.pro and let pkg-config takes care of it." -- apply patch from mezz. 2011-03-18 15:15:13 +00:00
Jordan Lee 4b3046be8c (trunk qt) #4052 "Qt Client Kazakh translation" -- added. Translation by taem. 2011-02-23 15:56:00 +00:00
Jordan Lee bd5739fc54 (trunk) fix uTP FTBFS in Wheezy, patch by taem 2011-02-19 17:58:08 +00:00
Jordan Lee 3f1b060241 (trunk T) add preliminary enable/disable toggles in daemon, gtk, and qt clients. 'preliminary' because this may be widened to a tri-state of inabled, disabled, and incoming only 2011-02-18 00:33:29 +00:00
Jordan Lee 7df7d34f6d automake/autoconf; #includes in libtransmission 2011-02-18 00:32:19 +00:00