Commit graph

178 commits

Author SHA1 Message Date
Mike Tzou
ccd8f3e0f1
Merge pull request #10340 from Chocobo1/move
Move helper functions to Utils::Gui namespace
2019-03-07 15:11:58 +08:00
paolo-sz
1ea7907e09 Add default tooltip "Searching..." on tab creation. 2019-03-05 20:36:49 +01:00
paolo-sz
22835c0350 Avoid crashes on torrent search
qbittorrent closes itself without any error message when a search tab
should be notified of a status change: fixed bad pointer variable catch
in lambda code.
2019-03-05 20:36:49 +01:00
Vladimir Golovnev (Glassez)
6cb15706f5
Reduce number of DownloadManager signals 2019-03-05 11:28:29 +03:00
Chocobo1
adbd34c795
Move helper functions to Utils::Gui namespace 2019-03-05 14:55:22 +08:00
Chocobo1
3dd969df64
Replace deprecated QSignalMapper class 2019-02-28 12:03:08 +08:00
thalieht
89dce36e98 Use uniform initialization on some default arguments 2019-02-25 17:05:15 +02:00
thalieht
70f1537d9f Add const to almost all remaining vars and arguments that qualify 2019-02-25 17:05:15 +02:00
thalieht
8c944bd4e1 Avoid repeating the return type 2019-02-16 18:54:18 +02:00
thalieht
d8cbc9266a Use 'auto' to avoid duplicating the type name 2019-02-16 18:54:17 +02:00
thalieht
445adb0ab4 Convert pass-by-value arguments to const refs where applicable 2019-02-12 02:45:55 +02:00
thalieht
ca3ce87e06 Add const to many vars and arguments
Also remove const in declarations' arguments that are passed by value
2019-02-11 20:19:41 +02:00
Chocobo1
2b903fc3d1
Move Utils::Misc::isUrl() function
All usage of this function gets to call Net::DownloadManager eventually.
2018-12-31 20:00:15 +08:00
Mike Tzou
0ab5b8fcba
Merge pull request #9824 from thalieht/style
Convert all foreach() to range-based for()
2018-12-06 16:19:17 +08:00
Chocobo1
0ad831e48a
Fix strings not translated
Closes #9934.
2018-12-01 20:32:34 +08:00
thalieht
1f36b8b89f Combine qAsConst() with copyAsConst() to asConst() 2018-11-28 23:41:23 +02:00
thalieht
6b1d26d555 Convert all foreach() to range-based for() 2018-11-28 23:40:12 +02:00
thalieht
d668a4fe6d Fix coding style for various things 2018-11-28 23:37:35 +02:00
thalieht
59fcfdc13b Allow resizing search filter in search job
Allow qBt to resize the search filter in search job because it causes
qBt's width to exceed the screen's width for laptop users.
2018-11-13 11:20:29 +02:00
Vladimir Golovnev
dea6b3d7e0
Merge pull request #9562 from dzmat/round_speed_labels
Improve scaling of speed graphs
2018-11-01 09:46:26 +03:00
Vladimir Golovnev
7e36cc746f
Merge pull request #8584 from Piccirello/new-search-api-2
WebUI search API. Closes #2495
2018-10-24 13:13:16 +03:00
dzmat
fabd7e34f5 Improve scaling of speed graphs
Make Y axis scale to fix on predetermined nice looking positions
2018-10-21 16:45:32 +07:00
Thomas Piccirello
0b6ae68801 Add WebUI search API controller
Closes #2495.
2018-09-30 20:07:27 -04:00
Vladimir Golovnev
5e35335ad4
Merge pull request #9254 from thalieht/searchStuff
Add a shortcut to download selected torrents from search job
2018-09-10 07:19:02 +03:00
thalieht
94613c2fa2 Fix some warnings 2018-09-07 19:40:08 +03:00
thalieht
ce3e68670d Refactor in searchjob to always color visited entries
Now it colors multiple entries, when visited at once, via the hotkey or
the Download button.
2018-08-31 15:57:07 +03:00
thalieht
4dcb0b922e Add regex option in the search filter's context menu
In the search job widget.
2018-08-14 13:38:34 +03:00
sledgehammer999
6c9a4df515
Merge pull request #8538 from thalieht/searchFilter
Add a name filter for search results
2018-08-12 16:44:53 +03:00
thalieht
c55daeec38 Set "enter" as shortcut to download the selected torrents in search job 2018-07-29 21:42:21 +03:00
thalieht
ae03ecea21 Add hotkey for toggling focus between the search LineEdits 2018-07-14 09:26:24 +03:00
thalieht
df9aa6dc36 Add a name filter for search results
Closes #8226
2018-07-14 09:26:24 +03:00
Thomas Piccirello
b2ffd6e03b Instantiate SearchPluginManager with other application components 2018-07-11 20:11:33 -04:00
sledgehammer999
de8050701d
Revert email address changes in copyright notices 2018-07-10 00:37:44 +03:00
thalieht
456270bbb1 Delete several unused #include 2018-07-03 08:38:32 +03:00
thalieht
eb508d67ef Fix coding style 2018-07-03 08:38:32 +03:00
thalieht
6d4434ad66 Convert the names used in ui and c++ files from snake_case to camelCase 2018-07-03 08:38:32 +03:00
Vladimir Golovnev
b0afa33e22
Merge pull request #9125 from glassez/downloader
Implement "Sequential downloading" feature. Closes #6835
2018-07-02 15:24:58 +03:00
Vladimir Golovnev (Glassez)
112a9bcfa2
Use new DownloadManager interface 2018-06-29 15:48:17 +03:00
Chocobo1
3e6c8a05dd
Reduce queries to python version
Instead of doing at least 2 queries for python infos, now requires only
1 query (in ideal condition), and the result is cached.
2018-06-24 19:41:44 +08:00
Chocobo1
51e82762c5
Move related functions to Utils::Python 2018-06-24 06:21:15 +08:00
thalieht
d34ddb2e3c Change file names and classes names to match them 2018-06-15 20:12:59 +03:00
Mike Tzou
da87c2d9ae
Merge pull request #9060 from Chocobo1/preinc
Replace post-increment with pre-increment
2018-06-09 12:40:30 +08:00
Chocobo1
5ddbf9bba9
Replace post-increment with pre-increment
And post-decrement with pre-decrement.
2018-06-08 08:44:06 +08:00
Eugene Shalygin
04aea413ba
Merge pull request #9055 from zeule/cmake
Update CMake build scripts
2018-06-07 21:31:09 +02:00
Eugene Shalygin
fa770871e9 Refactor CMake build scripts
1. Use FeatureSummary module to show configuration results.

2. Invert option()/find_package() relationship: instead of
calling find_package(... REQUIRED) when option is set, rely on optional
find package call and PackageName_FOUND variable.

3. Refactor handling options that result in simple preprocessor defines
(actually copy the snippet from libtorrent) so that everything is done
in a single function call.

4. Populate target properties in order to get rid of
include_directories() calls.
2018-06-05 11:39:11 +02:00
Vladimir Golovnev
e61c882fee
Merge pull request #9015 from thalieht/style
Fix coding style
2018-06-03 14:48:04 +03:00
thalieht
356d6a6589 Fix coding style 2018-05-31 19:45:09 +03:00
Chocobo1
09f759355f
Replace QRegExp with QRegularExpression
Revise `static` keyword usage, static is added to frequently used
instances.
2018-05-31 22:56:49 +08:00
Chocobo1
c22e6b4502
Cleanup header include order
Add missing header.
Cleanup license.
2018-05-31 22:56:25 +08:00
thalieht
6b4455e13d Use qt5 connect() syntax 2018-05-09 16:08:22 +03:00
thalieht
3e4099fe5b Replace the zeroing of pointers with nullptr 2018-04-15 13:06:31 +03:00
Chocobo1
37ea01bd44
Use lightweight printf instead of iostream
Using iostream usually adds a lot of other operators (<<, endl), whereas
*printf takes only 1 function call.

Also use qUtf8Printable whenever possible.
2018-03-31 03:21:53 +08:00
Vladimir Golovnev
a5294e1e08
Merge pull request #8558 from luis-pereira/containter-anti-pattern
Don't create temporary containers just to iterate over them
2018-03-19 13:06:01 +03:00
Luís Pereira
ac42ccb5e4
Don't create temporary containers just to iterate over them
Stops temporary containers being created needlessly due to API misuse.
For example, it’s common for developers to assume QHash::values() and
QHash::keys() are free and abuse them, failing to realize their
implementation internally actually iterates the whole container, allocates
memory, and fills a new QList.

Added a removeIf generic algorithm, similar to std ones. We can't use std
algorithms with Qt dictionaries because Qt iterators have different
behavior from the std ones.

Found using clazy.
2018-03-18 16:22:12 +03:00
Chocobo1
423511765a
Fix typo 2018-03-14 23:37:08 +08:00
Thomas Piccirello
7278625f53 Calculate supported categories based on selected plugin 2018-03-12 01:33:45 -04:00
Chocobo1
0457fd260e
Avoid temporary QString allocations
This fixes clazy warning: Use multi-arg instead [-Wclazy-qstring-arg]
2018-03-07 20:06:00 +08:00
Vladimir Golovnev (Glassez)
279bce2014
Make SearchManager singleton 2018-02-23 20:26:32 +03:00
Vladimir Golovnev (Glassez)
f3d370870d
Improve Search handling
Legacy SearchEngine class really has three roles:
  1. Manage search plugins,
  2. Handle the search job, and
  3. Handle the download of the torrent file using the search plugin.
Now it is splitted into 3 classes: SearchManager, SearchHandler and
SearchDownloadHandler.
Search GUI is also improved.
2018-02-23 20:15:25 +03:00
Tom Piccirello
e6a1b72354 Only add search separators as needed 2018-01-16 00:22:51 -05:00
Chocobo1
fb698896c9
Fix translation context.
Partially addresses #8220.

Also sort include headers
2018-01-07 23:01:22 +08:00
Chocobo1
c2c0dd2717
Fix column size too narrow on resize
Instead of giving a value, just resize to the content size
2017-12-24 21:54:56 +08:00
Chocobo1
27cf98a962
Resize dialog size on high DPI monitors 2017-12-24 21:54:56 +08:00
sledgehammer999
99abc21dab
Simplify sorting code. 2017-12-21 15:26:38 +02:00
Chocobo1
86c5a8df75
Partial revert eac8838dc2. Fixes #7952.
mapFromSource() didn't work as expected, when used in lessThan(), it sometimes
returns an invalid QModelIndex.
A crash is observed when filtering source model via filterAcceptsRow() in #7952,
the crash is due to endless recursive of filterAcceptsRow() & lessThan() calling
each other and mapFromSource() is the culprit of it.
2017-12-04 17:40:44 +08:00
Mike Tzou
eac8838dc2
[GUI] Implement stable sort (#7703)
* NaturalCompare now returns compare result instead of "less than" result
* Change to stable sort in GUI components
* Add Utils::String::naturalLessThan() helper function
* Use Qt::CaseSensitivity type
2017-11-30 17:10:30 +08:00
Nick Korotysh
4c8dd0ca9d allow search plugins sorting. closes #7526 2017-10-03 16:57:09 +03:00
sledgehammer999
8d913d77dd Merge pull request #7266 from Chocobo1/coverity
Fix issues found by coverity scan
2017-08-13 20:10:04 +03:00
Vladimir Golovnev (qlassez)
cff6a64e9f
Use qUtf8Printable() for logging strings
qDebug(), qInfo(), qWarning(), qCritical(), qFatal() expect %s arguments
to be UTF-8 encoded, while qPrintable() converts to local 8-bit encoding.
Therefore qUtf8Printable() should be used for logging strings instead of
qPrintable().
2017-08-13 16:14:57 +03:00
Chocobo1
91b2b14ba5
Initialize variables
Remove unused variable
2017-08-13 15:28:36 +08:00
Chocobo1
24a69a9fe7 Fix crash when exiting qbt with search plugin dialog open
Avoid emitting signal in destructor
2017-07-20 13:26:36 +08:00
vit9696
d25467d3e6 Various macOS UI improvements 2017-07-15 20:49:40 +03:00
Eugene Shalygin
a22d2f0139 Implement enum support in CachedSettingValue
Enums are stored as strings, that improves configuration file
readability and maintainability. String values are obtained via
QMetaEnum, and since with Qt 5.5 QMetaEnum::fromType() includes a
static_assert, this has to be a safe method.
2017-07-05 12:41:58 +02:00
Eugene Shalygin
62be2d7400 cmake: fix build 2017-07-03 10:36:42 +02:00
sledgehammer999
a77e1c9f36
Use qt5 connect style for searchengine, pluginselectdlg and searchwidget. 2017-06-22 18:54:30 +03:00
sledgehammer999
dee0b63cc5
Aggregate installed/updated plugin names and use a single messagebox to inform the user. 2017-06-22 18:54:29 +03:00
sledgehammer999
c2a2d306da
Use alternative method for plugin favicon validity. Drop unnecessary code. 2017-06-22 18:54:28 +03:00
sledgehammer999
34c29b78f9
Update the backend when a new plugin favicon is downloaded. 2017-06-15 22:32:43 +03:00
sledgehammer999
8c98c8cb3f
Put copyright warning message to the search plugin dialog. 2017-06-15 22:32:42 +03:00
sledgehammer999
fc543b9db6
Display instructions when no search plugin is installed. 2017-06-15 22:32:41 +03:00
Chocobo1
42c17ea5ce Fix argument name differ in definition & declaration 2017-05-09 14:12:36 +08:00
sledgehammer999
d61fc7e820 Merge pull request #3858 from Chocobo1/screen_center
Fix dialogs didn't position on the correct screen
2017-05-07 22:17:55 +03:00
Chocobo1
3e964212ac Fix signaling to checkForUpdatesFinished() failed.
Fixup of 14e168039c.
2017-05-02 20:33:21 +08:00
Chocobo1
fb9ebce9c6 Fix pluginselectdlg position
Fix peerlistwidget position
Fix mainwindow position
2017-05-01 15:32:08 +08:00
Chocobo1
de54fa2c30 Fix addnewtorrentdialog position
Fix messageBox position
2017-05-01 14:48:10 +08:00
Eugene Shalygin
14e168039c Use explicit class for search plugin versions 2017-04-21 09:47:08 +02:00
sledgehammer999
ae0a9d74c4 Merge pull request #6487 from Chocobo1/ui
GUI polish
2017-04-18 04:01:13 +03:00
Eugene Shalygin
4e1b7c3b87 Remove generated include from headers
Not only fixes compilation with CMake 3.8 (without messing with include
paths) but makes sources cleaner.
2017-04-17 16:31:19 +02:00
Chocobo1
812bd4c83a Uncrustify 2017-04-05 17:39:44 +08:00
Chocobo1
59556dfc6a Cleanup & refactor 2017-04-05 17:36:47 +08:00
Chocobo1
86e82c71e5 Setup parent pointer
Rely on Qt to do the delete, since the parent ownership is setup
correctly.
2017-04-05 17:36:36 +08:00
Chocobo1
a16c557137 Always draw background 2017-03-08 14:36:42 +08:00
Eugene Shalygin
e64bb1de8c Drop Qt 4 support 2017-03-05 22:24:59 +01:00
sledgehammer999
eb3f4b8490 Merge pull request #6283 from Chocobo1/sort
Use case-insensitive sort for Name column in Search tab. Closes #407.
2017-01-25 23:07:11 +02:00
Chocobo1
4669a99617 Use case-insensitive sort for Name column in Search tab. Closes #407. 2017-01-22 11:48:01 +08:00
sledgehammer999
68ecbf4185 Merge pull request #5420 from thalieht/alignment
Changes and additions in search, peerlist, transferlist
2017-01-21 02:58:32 +02:00
sledgehammer999
ba03fb30f3 Merge pull request #5987 from Chocobo1/temp_dir
Put temp files in .qBittorrent directory
2017-01-19 01:33:57 +02:00
thalieht
9f06d0d47b SearchTab: can now save sorting column changes 2016-12-07 18:39:03 +02:00
thalieht
c90794878f SearchTab: Allow to toggle columns in searchtab 2016-12-07 18:19:54 +02:00
thalieht
b2144f7928 SearchTab: use saveSettings() and loadSettings() to handle header state 2016-12-07 18:19:54 +02:00