1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-02-23 14:40:43 +00:00
Commit graph

81 commits

Author SHA1 Message Date
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
Jordan Lee
b241c9d885 (trunk qt) #3925 "qtr.pro cleanup" -- patch from rb07 to handle libevent2 more gracefully via pkg-config 2011-01-20 20:20:14 +00:00
Jordan Lee
131afcc3a4 (trunk) #3926: use "Open Torrent" instead of "Add Torrent" in GTK+ and Qt clients -- text changed. 2011-01-20 19:48:13 +00:00
Charles Kerr
19c043ed84 (trunk qt) #3836 "libevent2 support" -- add a mechanism to make it easier to build the Qt client with custom installs of libevent2 2010-12-31 19:44:51 +00:00