Commit Graph

641 Commits

Author SHA1 Message Date
Mike Gelfand e707e8d4c5 Treat command-line arguments as UTF-8-encoded; hide char* Prefs setter, require explicit conversion 2015-01-28 22:57:46 +00:00
Mike Gelfand 6b79473d9f Use TrPathButton in preferences dialog 2015-01-25 19:55:05 +00:00
Mike Gelfand cade70172e Fix tab order in preferences dialog (Qt client) 2015-01-25 18:16:30 +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 9b8c6bc0f0 Improve tracker list look (torrent properties dialog), support RTL layout 2015-01-20 23:28:38 +00:00
Mike Gelfand 34c42d4ad8 Small follow-up translation fixes (HTML formatting mess in tracker delegate mostly) 2015-01-18 13:19:30 +00:00
Mike Gelfand 9866082907 Poke translations a bit (Qt client)
Add a bit more comments. Adjust some phrases for pluralization.
Mark menu shortcuts as not translatable (changing them doesn't do any
good but people start translating "Ctrl" as "Ktrl" etc. which breaks
the shortcuts).
Pull current translations from Transifex.
2015-01-18 02:09:44 +00:00
Mike Gelfand efc04fdd77 Improve overall look of torrents in main window
Refactor and use the same code to calculate element positions in
sizeHint () and paint () to prevent discrepancies.
While we are at it, properly support RTL layout.
2015-01-17 16:59:42 +00:00
Mike Gelfand 3c73d74cbb Fallback to message box warning icon if emblem-important is not provided by the icon theme 2015-01-17 13:49:02 +00:00
Mike Gelfand 9eea4ada83 Improve the look of torrents with errors a bit (Qt client)
Display emblem over mime icon if torrent has error(s) to indicate the
issue.
Use normal text color instead of red when drawing selected item: there
is no easy way to be sure that red color looks nice on selection
background, and most of the time it doesn't. Using red color for non-
selected items is questionable too, but let's leave it at that for now.
2015-01-17 01:23:51 +00:00
Mike Gelfand 6ff1875385 Add more information for translators (Qt client) 2015-01-12 06:18:52 +00:00
Mike Gelfand f73bfebd7b Move numeric units to the right of values (per KDE HIG)
Follow up commit to change the last phrase standing.
2015-01-11 21:10:46 +00:00
Mike Gelfand 06fa457bd9 Improve filter bar look (Qt client)
Use normal but semi-transparent color instead of 'disabled' color for
counts drawing.
Do not leave empty space for icon when selected item doesn't have one.
Use null pixmaps/icons instead of non-null blank ones.
Implement our own sizeHint and minimumSizeHint to make sure both combos
have the same height.
Make activity combo width fixed, tracker combo width to fit its content
and line edit to occupy the rest.
Add 'Search...' placeholder to line edit.
2015-01-11 15:01:13 +00:00
Mike Gelfand 068bccd46b Make program name/version in about dialog larger again 2015-01-04 12:47:07 +00:00
Mike Gelfand b96cd0369e Change sharing consent dialog into a QMessageBox 2015-01-04 12:29:10 +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 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 91973ab94d Use (hopefully) better suited theme icons for some actions (Qt client) 2015-01-04 00:18:31 +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 424c79a5da Make use of path button in relocate dialog (Qt client) 2015-01-01 05:02:13 +00:00
Mike Gelfand 511d89ca5e Use QMimeDatabase to get icon names when compiling against Qt 5+ 2015-01-01 02:28:18 +00:00
Mike Gelfand 954a91ca39 Reduce initial torrent creation dialog size to minimum
Truncate text in path button to prevent width increase for long paths.
2014-12-31 23:54:52 +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 826a007904 Use QToolButton instead of QPushButton for path button, specify button icon size explicitly 2014-12-28 04:04:58 +00:00
Mike Gelfand 0bde425731 Add missing QToolButton forward declaration (Qt client) 2014-12-28 00:20:43 +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 8c550a2734 Add missing <QDebug> include (Qt 4 build break) 2014-12-27 20:08:10 +00:00
Mike Gelfand 342f38bbc5 Factor RPC logic out from session (Qt client) 2014-12-27 20:03:10 +00:00
Mike Gelfand 17d6666b4c A bit of harmless refactoring
Prefer C++-style over C-style type casting.
Use qApp instead of QApplication/QCoreApplication::instance().
Use explicit QString::fromLatin1()/fromUtf8() where applicable.
2014-12-27 14:07:14 +00:00
Mike Gelfand 2ca4596fac Refactor FreespaceLabel to make it possible for it to be created in Qt Designer 2014-12-26 18:41:47 +00:00
Mike Gelfand 2d02481f2d Fix the rest of :: formatting in C++ code 2014-12-26 14:22:35 +00:00
Mike Gelfand e9394e2f9b Fix directory name display in relocate dialog 2014-12-26 14:21:47 +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 92168df0e1 Fix up some about dialog leftovers, sync Qt client translations 2014-12-25 21:51:59 +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 4f239d57e1 Move numeric units to the right of values (per KDE HIG)
Sync translations with the code. Adjust translations for changed phrases
(hopefully correct for the most of them).

One phrase still left untouched (Preferences -> Downloading), need to
think on better wording.
2014-12-22 03:06:09 +00:00
Mike Gelfand 1eec889832 #4050: Use TRANSLATIONS_DIR macro as a hint for Qt client translation files location 2014-12-22 01:08:19 +00:00
Mike Gelfand f83872849a #5543: Add a warning panel with id of duplicate torrent (patch by rb07 + personal touch) 2014-12-22 00:02:27 +00:00
Mike Gelfand 629281a1e2 Fix license wording in Qt client .cc files to match the rest of the code. 2014-12-21 23:49:39 +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 4ddbd550d8 Move filter text clearing button into line edit. Use Qt-provided button on Qt 5.2+. 2014-12-21 15:34:52 +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 172f875691 Sync Qt client translations with the code 2014-12-14 18:33:28 +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 6c02008280 Do not use printf-style formatting in C++ code 2014-12-14 15:34:31 +00:00
Mike Gelfand 737fdab775 Do not use void to denote argumentless functions in C++ code 2014-12-14 11:57:23 +00:00
Mike Gelfand 365b28bc81 Strip needless const& specifiers on SIGNAL and SLOT arguments (Qt client) 2014-12-13 09:04:10 +00:00
Mike Gelfand 2adbb42763 Fix various cppcheck comments for Qt client code 2014-12-12 23:52:17 +00:00
Mike Gelfand 9605bfc36a Remove redundant "struct" keyword use in C++ code (Qt client) 2014-12-12 23:21:04 +00:00
Mike Gelfand 67dc1c8485 Strip spaces around :: in C++ code (Qt client) 2014-12-12 23:05:10 +00:00
Mike Gelfand faf1b2fbdf #5848: Use theme-provided icons in Qt client (patch by equeim + small additions) 2014-12-12 21:47:22 +00:00
Mike Gelfand 79848c36c0 #5841: Fix initial watchdir scan in Qt client
Run the initial scan after application has finished initializing and
session has been created. Otherwise, adding torrents is a no-op.
2014-12-11 22:21:24 +00:00
Mike Gelfand 64757f640a #5685: Use proper icon in Qt client desktop file (reported by rahulsundaram) 2014-12-11 20:13:45 +00:00
Mike Gelfand fed15dc29d Fix a couple of ordinary and pedantic warnings
Add previously missing -Wall to warning flags in CMake. Remove -Wformat
and -Wvariadic-macros (enabled by default; latter is not meaningful in
C99 mode we use), -Wdeclaration-after-statement (again, not needed as
we use C99). Move -Wmissing-declarations to C-only flags (GCC man says
so).

Add copyrights year to crypto-utils-fallback.c.
2014-12-11 05:11:02 +00:00
Mike Gelfand 5c43b5c23c #4400, #5462: Move BASE64 helpers to crypto-utils
On a way to factoring out OpenSSL support to a standalone file to ease
addition of other crypto libraries support in the future, move helpers
providing BASE64 encoding and decoding to crypto-utils.{c,h}. OpenSSL-
related functionality is moved to crypto-utils-openssl.c.

Add new functions to be implemented by crypto backends:
* tr_base64_encode_impl - encode from binary to BASE64,
* tr_base64_decode_impl - decode from BASE64 to binary.

Change `tr_base64_encode` and `tr_base64_decode` functions to expect
non-negative input data length which is considered real and never adjusted.
To process null-terminated strings (which was achieved before by passing 0
or -1 as input data length), add new `tr_base64_encode_str` and
`tr_base64_decode_str` functions which do not accept input data length as
an argument but calculate it on their own.
2014-12-04 19:58:34 +00:00
Mike Gelfand b4a662ba37 Create QDBusConnection after QApplication has been initialized
Doing otherwise causes Qt warning "QDBusConnection: session D-Bus
connection created before QCoreApplication. Application may misbehave."
Also, don't try to do anything D-Bus-related if connection fails.
2014-12-01 21:05:44 +00:00
Mike Gelfand 3e43a308af Sync Qt translation files with current source code 2014-12-01 20:29:03 +00:00
Mike Gelfand 83c4edb008 #5828: Initial CMake build system support 2014-12-01 19:55:22 +00:00
Mike Gelfand 17769e2e2a #5077: Remove torrent file from watch directory even if "show options dialog" is not set (patch from rb07 + some improvements)
Refactor Session::addTorrent (add new method) to eliminate duplicate
code in options.cc and ensure that FileAdded object is being created
on torrent addition even with non-interactive workflow.
Move FileAdded class from options.{h,cc} to session.{h,cc}.
2014-12-01 19:24:07 +00:00
Mike Gelfand 10e59dbc90 #5800: Add Ukrainian translation to Qt client (patch by olexn) 2014-11-30 18:43:50 +00:00
Mike Gelfand d6c32595a6 #5827: Improve torrent files tree updating performance
Do not unnecessarily emit dataChanged signals for items which didn't change.
Cache file item indices to speedup lookup.
As a bonus, this also fixes wrong file progress display in rare cases.
2014-11-30 18:12:28 +00:00
Jordan Lee 870041d92d (trunk) #4160: mike.dld patch: 4160-08-args.patch 2014-09-21 18:06:28 +00:00
Jordan Lee 728957c46a (trunk, qt) #5774 'Alternative Speed Limits Scheduled Times broken in transmission-qt' -- fixed, plus more gratuitous c++11isms 2014-08-26 23:26:00 +00:00
Mitchell Livingston 0e01879974 Use built-in _WIN32 macro instead of WIN32 2014-07-04 00:00:07 +00:00
Jordan Lee d0695b7006 (trunk, qt) #5723: 'Simplify file tree icons drawing' -- patch by mike.dld 2014-07-03 23:12:50 +00:00
Jordan Lee 4f29ab1476 remove tracer cerr that was accidentally committed in r14272 2014-05-18 19:47:02 +00:00
Jordan Lee c56c952e23 update network error detection as described by rb07 in https://trac.transmissionbt.com/ticket/5514#comment:9 2014-05-15 21:32:04 +00:00
Jordan Lee cd7e5291db silence warnings found by clang++ 2014-05-09 02:32:28 +00:00
Jordan Lee 2be080f48e (trunk qt) #5514 'enhanced network status' -- reset the torrent model when we reconnect to the transmission session after a network failure 2014-04-27 00:33:19 +00:00
Jordan Lee 4fd7408d4b update fr translation by gostron 2014-04-27 00:04:13 +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 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 15d11de5f4 add svn:keywords on source files that were missing them 2014-01-19 01:29:38 +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 632edad03d (trunk, qt) #5514 'enhanced network status in transmission-qt' -- patch by rb07 2013-10-20 19:57:48 +00:00
Jordan Lee 6593a47493 (trunk, qt) #5487 'Qt client crash when using Open URL action' -- fixed. 2013-09-14 22:50:25 +00:00
Jordan Lee da317c441d copyediting: indentation cleanups 2013-09-14 22:45:04 +00:00
Jordan Lee e0acd2dcc3 (trunk, qt) reuse make-dialog's trailing slash fix in the options dialog when setting the download dir 2013-09-08 19:59:47 +00:00
Jordan Lee 0ed8f46e07 (trunk, qt) #3606 'Qt client New Torrent from Source Folder is Goofy' -- fixed, mikedld 2013-09-08 19:12:33 +00:00
Jordan Lee e45c4d19d9 (trunk, qt) #5312 'download checkbox toggle with spacebar is broken' -- fixed, patch by mikedld 2013-09-08 19:07:31 +00:00
Jordan Lee 2855e83e45 (trunk, qt) #4813: allow launching files in Qt interface 2013-09-08 19:03:25 +00:00
Jordan Lee 9ef851e790 (trunk, qt) #5483: use native windows icons, more win portability goodness from mikedld 2013-09-08 18:53:11 +00:00
Jordan Lee e0e98cbed5 fix CL warnings in the Qt code. mikedld 2013-09-08 18:39:37 +00:00
Jordan Lee 47c350c7a0 revert error r14185 error 2013-08-30 18:01:51 +00:00
Jordan Lee 3cf26eb273 revert quint64/quint32/qint64/qint32 use to inttypes to match libtransmission's API 2013-08-29 00:37:37 +00:00
Jordan Lee c3d6b2d0bd add a size hint for the torrent properties dialog. (rb07) 2013-08-24 20:34:43 +00:00
Jordan Lee 7cc97b795f remove another spurious console message 2013-08-24 20:22:38 +00:00
Jordan Lee d1a5864949 remove spurious console message 2013-08-24 20:05:24 +00:00
Jordan Lee f3d35b0da3 instead of inttypes, use Qt integral types -- eg, s/uint64_t/quint64/ 2013-08-24 19:42:51 +00:00
Jordan Lee e0cb88af45 no need for a semicolon after the closing brace in a C++ 'extern' block 2013-08-24 19:26:21 +00:00
Jordan Lee ec82d81598 handle tray icon doubleclicks. (rb07) 2013-08-24 19:22:41 +00:00