Commit Graph

617 Commits

Author SHA1 Message Date
Mike Gelfand f592083f15 Create dialogs on demand, don't keep them ready all the time 2015-07-30 06:18:02 +00:00
Mike Gelfand 18ea8c429a Improve RPC performance for local sessions
Don't unnecessarily de-/serialize JSON data if local session is used.
2015-07-13 00:32:48 +00:00
Mike Gelfand 5296570476 Improve file tree population/update performance
Use simple tokenization instead of splitting the file path into
QStringList for each item. Don't expand each added item separetely
during population/update. Don't expand all the items but just up to the
point where parent has more than one expandable child.

Also, fix items order by sorting items after population/update. Fix
sorting by size on systems where uint64_t != quint64.
2015-07-12 20:48:54 +00:00
Mike Gelfand 1a885dcb17 Some look-and-feel improvements for Mac and GTK+ styles (Qt client) 2015-06-28 14:18:06 +00:00
Mike Gelfand 58312e6c16 Torrent properties dialog improvements
Simplify DND checkboxes drawing, this also fixes incorrect drawing on
Mac when file tree widget is inactive.
Do better job calculating column widths for file tree to avoid ellipsis.
Fix file tree sorting order for size and priority columns.
Change key to toggle priorities to Shift+Space instead of Enter/Return
to avoid conflicts with name editing and default button handling.
Fix selected tracker item background drawing in certain cases.
2015-06-15 21:07:46 +00:00
Mike Gelfand b0278ca353 Instead of standard C headers include their C++ counterparts 2015-06-12 22:41:36 +00:00
Mike Gelfand 5120fc0f2c Unify/prettify Qt client headers style 2015-06-12 22:12:12 +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 cdf3cf62f9 Fix some issues revealed by coverity 2015-05-09 11:56:35 +00:00
Mike Gelfand 2321bc3fad Fix some issues revealed by coverity 2015-05-09 08:37:55 +00:00
Mike Gelfand 06d73853b9 Even better (and unified) torrent origin logic for GTK+, Qt and web clients 2015-04-22 21:04:49 +00:00
Mike Gelfand c1b10abe0f Use UTF-8 for console I/O on Windows 2015-04-21 10:07:57 +00:00
Mike Gelfand 7ce0ebfee7 Ifdef the code which does manual relayout on compact view toggle to Qt < 5.4 (QTBUG-33537) 2015-04-20 09:28:26 +00:00
Mike Gelfand adde87a99e Fix Qt 4 build: `QGridLayout::getItemPosition ()` is not constant :( 2015-04-18 14:48:23 +00:00
Mike Gelfand 9f8402697b Use C++11 range-based `for` loops (Qt client) 2015-04-18 14:41:06 +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 5ada708756 Use native separators for path button and free space label tooltips. Improve path button dialog initial directory/file selection. 2015-04-15 00:08:24 +00:00
Mike Gelfand 829cbffaf7 Add version info to executables (on Windows). Group projects into folders (CMake). 2015-04-14 22:46:40 +00:00
Mike Gelfand 3b129a72d8 #5908: Check for `tr_loadFile` return value instead of `errno` in `tr_variantFromFile`
Seems like there could be a defect in uClibc making errno not
thread-local. Don't rely on errno value but check function return value
instead which is a better failure indicator.

Return errors from `tr_loadFile` and `tr_variantFromFile` via tr_error.
Fix `tr_sessionLoadSettings` to not fail on Windows if settings.json
does not exist.
2015-04-11 10:51:59 +00:00
Mike Gelfand 0620e94e27 #5774: Fix alternative speed limits scheduled times (once more) 2015-02-06 20:08:36 +00:00
Mike Gelfand 7c53ebb9d7 Per-pixel vertical scroll in all the views (Qt client) 2015-01-31 17:40:44 +00:00
Mike Gelfand 9e66e5c443 Pass constant Prefs, TorrentFilter, TorrentModel objects where no modification is needed 2015-01-29 22:44:43 +00:00
Mike Gelfand 49e16e64a6 Fix build on Windows (blindly) 2015-01-29 22:10:00 +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 ae72695d0c Revert unintended changes (debug output) 2015-01-28 23:08:41 +00:00
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