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
thalieht
5255719661
SearchTab: align text to the right in columns that handle numbers
2016-12-07 17:47:51 +02:00
Chocobo1
ce3c53b3c4
Replace deprecated classes
2016-12-07 01:31:44 +08:00
Chocobo1
d84461c9b2
Remove unused header
2016-11-29 17:31:14 +08:00
ngosang
204f3d8542
Minor changes in Search UI
2016-05-30 22:51:09 +02:00
Eugene Shalygin
f05793c2e3
Use QPalette::LinkVisited color for downloaded items in search results
2016-05-26 22:51:33 +02:00
Chocobo1
b4bdfa7b2b
Use QString::localeAwareCompare for comparsion
2016-05-24 10:44:42 +08:00
sledgehammer999
9c5a5fc83d
Merge pull request #3908 from Chocobo1/rm_nsort
...
Replace `naturalSort()` with `naturalCompare()`.
2016-05-08 11:12:51 -05:00
Chocobo1
5906a4a2de
Add case-sensitive & case-insensitive natural sort helper function
...
Fix helper function not being thread-safe
Use QBT_USES_QT5 define
2016-05-08 23:59:06 +08:00
sledgehammer999
ef6e848756
Display notifications when a torrent is added. Closes #334 and #915 .
2016-04-25 20:07:26 +03:00
Chocobo1
d65ff87148
Replace naturalSort()
with naturalCompare()
.
2016-04-18 14:27:44 +08:00
sledgehammer999
32490f1ef6
Merge pull request #4995 from Chocobo1/border
...
Search UI tweaks
2016-04-13 07:11:31 -05:00
Vladimir Golovnev (Glassez)
a9e63283cc
Use nova2dl.py script instead of DownloadManager
...
Closes #5026
2016-04-13 08:06:06 +03:00
sledgehammer999
50f7c734cb
Merge pull request #5101 from evsh/deduplicate-search-download-code
...
Remove duplicated code from search tab and widget
2016-04-12 15:31:25 -05:00
Chocobo1
216d98844b
Move m_searchPattern widget from code to .ui file
2016-04-12 16:14:09 +08:00
Chocobo1
a52f9d4ef9
[Search] Add seperator for categories & plugins
...
Sort categories & plugins entries
Rename & reorder entries
Use full name for plugins
2016-04-12 16:14:08 +08:00
Chocobo1
231262ad8e
[Search] match combobox height to button height
2016-04-12 11:38:27 +08:00
Chocobo1
2d6669b88d
[Search] minor cleanups
2016-04-12 11:38:27 +08:00
Vladimir Golovnev (Glassez)
1760beed17
Fix MainWindow coding style (Issue #2192 )
2016-04-11 19:15:50 +03:00
Eugene Shalygin
5063940138
Remove duplicated code from search tab and widget
...
Both download handlers (in the tab and widget classes) convert model
index into an URL, set row color, and call download function.
Make the download button handler (in the SearchWidget class) call the
slot of the SearchTab class.
2016-04-11 14:00:50 +02:00
Eugene Shalygin
b6b819a2a1
Optimize widgets inside of the search tab
...
Since we already have searchtab.ui, let's set up all the widgets there.
Additionally, save a bit of vertical space by putting results label in
a row with the filter widgets.
2016-04-04 02:10:09 +02:00
Eugene Shalygin
1336cb7a61
Implement search filters in the proxy model. Partially closes #972
2016-04-04 02:09:32 +02:00
sledgehammer999
15ec515872
Merge pull request #4877 from evsh/cmake
...
add basic cmake support
2016-03-04 17:30:08 -06:00
Vladimir Golovnev (Glassez)
dd34663224
Implement Advanced Saving Management subsystem
...
Closes #4696
2016-03-04 19:59:53 +03:00
Eugene Shalygin
64daecb266
add basic cmake support
2016-02-29 12:53:43 +01:00
Vladimir Golovnev (Glassez)
c6ca877b72
Fix unitialized scalar fields
2016-01-13 20:25:06 +03: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
Vladimir Golovnev (Glassez)
8754fd5646
Move Search-related files into Gui.
2015-12-06 21:25:40 +03:00