Commit graph

22 commits

Author SHA1 Message Date
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
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)
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
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
Nick Korotysh
4c8dd0ca9d allow search plugins sorting. closes #7526 2017-10-03 16:57:09 +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
24a69a9fe7 Fix crash when exiting qbt with search plugin dialog open
Avoid emitting signal in destructor
2017-07-20 13:26:36 +08: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
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
Eugene Shalygin
14e168039c Use explicit class for search plugin versions 2017-04-21 09:47:08 +02: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
Eugene Shalygin
e64bb1de8c Drop Qt 4 support 2017-03-05 22:24:59 +01:00
Chocobo1
d84461c9b2 Remove unused header 2016-11-29 17:31:14 +08:00
Vladimir Golovnev (Glassez)
ac365c5efb Fix coding style (Issue #2192). 2015-12-20 21:52:26 +03:00
Vladimir Golovnev (Glassez)
54979e6b53 Move basic search-related code into Core.
Also use qBittorrent torrent file download routines instead of
nova2dl.py script.
2015-12-20 19:20:59 +03:00