1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-23 21:14:33 +00:00

56 Commits

Author SHA1 Message Date
jagannatharjun
b776f98df8 Support sub-sorting in Transferlist 2021-02-25 00:15:32 +05:30
Chocobo1
ab0e1ec6e8
Use stable sorting in transfer list 2021-02-05 10:01:28 +08:00
Chocobo1
45874fa333
Reuse existing code for sorting
This makes the behavior of sorting by TR_SEED_DATE consistent.
2021-02-01 13:51:04 +08:00
Vladimir Golovnev (Glassez)
0b4fef19f6
Remove redundant suffix from TorrentHandle class
Originally, it was just a wrapper for libtorrent::torrent_handle class, so it mimicked its name.
It was then transformed into a more complex aggregate, but the name was retained (just by inertia).
Unlike libtorrent::torrent_handle class in whose name "handle" means the pattern used,
it does not matter for qBittorrent classes and just eats up space in the source code.
2021-01-06 16:28:17 +03:00
Chocobo1
5ba6a5fca1
Add operator< for InfoHash class 2020-12-10 20:11:15 +08:00
Chocobo1
cba8d83b21
Migrate away from deprecated QVariant comparison operators
Another idea would be manually define a custom comparison function for
QVariant. However, having the function would be excessive due to its
limited usage count, also note that we are already casting
various QVariant to its underlying type in existing code.
2020-12-10 20:11:13 +08:00
Chocobo1
9f0429ca6f
Use the correct type when referring to info hash 2020-12-06 22:04:28 +08:00
Chocobo1
13c4581c86
Fix wrong data used for comparison
In torrent transfer list we should use underlying data for sorting, not
displayed values.

Closes #13818.
2020-11-26 01:35:57 +08:00
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style 2020-11-17 21:02:37 +03:00
Chocobo1
328eb5b5cc
Provide a proper default return statement for the function 2020-05-16 21:48:10 +08:00
Vladimir Golovnev (Glassez)
1132b84548
Split TorrentHandle interface and implementation 2020-04-16 20:22:26 +03:00
Vladimir Golovnev (Glassez)
b759a71c5d
Fix sub-sorting of Transfer list
Closes #12330.
2020-04-03 19:09:41 +03:00
Vladimir Golovnev
37d7323ac0
Merge pull request #11708 from glassez/transfer-list
Improve Transfer list architecture
2019-12-27 16:25:26 +03:00
Vladimir Golovnev (Glassez)
766cfb67df
Fix transfer list architecture
Model returns string for DisplayRole.
Text alignment is set by Model (using TextAlignmentRole).
Delegate performs custom painting only where necessary
(i.e. for Progress bar).
2019-12-26 22:09:56 +03:00
Chocobo1
2422d81de1
Migrate away from deprecated API in Qt 5.14 2019-12-25 19:23:37 +08:00
Chocobo1
061219d0a2
Simplify code 2019-08-08 21:25:28 +08:00
thalieht
7b31868e3c Rename priority to queue in the context of torrents 2019-07-13 14:04:16 +03:00
Chocobo1
adbd34c795
Move helper functions to Utils::Gui namespace 2019-03-05 14:55:22 +08:00
thalieht
d8cbc9266a Use 'auto' to avoid duplicating the type name 2019-02-16 18:54:17 +02:00
thalieht
8a3f942385 Don't use 'else' after return/break 2019-02-13 18:23:25 +02:00
Chocobo1
d7aa0819d9
Fix values sorted wrong in "Last Activity" column
I suspect there could be other negative values.
Closes #9012.

Also apply the changes to TR_RATIO_LIMIT, avoiding similar problems.
2018-08-16 11:30:26 +08:00
thalieht
d34ddb2e3c Change file names and classes names to match them 2018-06-15 20:12:59 +03:00
thalieht
4022799881 Fix coding style 2018-06-12 07:17:05 +03:00
sledgehammer999
13f69a2245
Fix constant status of '[F] Downloading'. Closes #7628. 2018-01-02 18:09:48 +02:00
sledgehammer999
99abc21dab
Simplify sorting code. 2017-12-21 15:26:38 +02:00
Chocobo1
86c5a8df75
Partial revert eac8838dc241f22f2aab9508633fdb2921373b7c. 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
Tony Gregerson
467e516801 Add a Tags (multi-label) feature to the GUI. Closes #13.
See https://github.com/qbittorrent/qBittorrent/issues/13 for details.
2017-06-25 13:53:07 -05:00
Frédéric Brière
f53a403a7b Set "category" column as case-insensitive in TransferListSortModel.
(From what I can tell, it would appear that the sorting was already
case-insensitive by default.  This makes it explicit.)
2017-05-03 14:07:55 -04:00
sledgehammer999
01ddf23745
Remove unnecessary semicolon. 2017-02-06 18:52:04 +02:00
sledgehammer999
83009adbc0
Use same casting method and fix code style. 2017-02-06 18:52:03 +02:00
sledgehammer999
c8f955e302
Fix previous commit. 2017-02-06 18:51:56 +02:00
sledgehammer999
12b73747f5
Merge pull request #3058 from VladimirSinenko/master
Fixed sort order for datetime columns with empty values (closes #2988)
2017-02-06 17:49:26 +02:00
sledgehammer999
90bbe3379d Merge pull request #5882 from onto/pvs-studio
Fixes and improvements after check by PVS-Studio
2016-11-07 00:18:46 +02:00
Anton Lashkov
1785c54b83 Fix mistake in getting value from model 2016-11-04 21:44:00 +04:00
Yez Ezey
81ec2e60a9 Sort torrent names case insensitively 2016-10-24 19:50:30 +09: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
Chocobo1
d65ff87148 Replace naturalSort() with naturalCompare(). 2016-04-18 14:27:44 +08:00
Vladimir Golovnev (Glassez)
dd34663224 Implement Advanced Saving Management subsystem
Closes #4696
2016-03-04 19:59:53 +03:00
Vladimir Golovnev (Glassez)
a35cbdc4a9 Fix unchecked dynamic_cast
Replace some unnecessary (and slow) dynamic_cast with static_cast.
2016-01-15 11:32:16 +03:00
Vladimir Golovnev (Glassez)
9db93e5d8f Rename Core to Base (Closes #3733). 2015-12-06 14:27:00 +03:00
Gabriele
d3b23e4b81 Fix sorting torrents by ETA
Same as #2966.
Related issue: #2965.
2015-06-29 21:03:44 +02:00
Vladimir Golovnev (Glassez)
64c8f61bb1 Improve TorrentModel class. 2015-06-21 16:28:21 +03:00
sledgehammer999
9032808112 Fix sorting by queue. 2015-06-20 20:05:49 +03:00
Vladimir Golovnev (Glassez)
191cdc2849 Move utilities to core/utils folder.
Also move the names to Utils namespace.
2015-06-09 21:30:56 +03:00
Vladimir Golovnev (Glassez)
d16d1fdb3a Redesign main core classes. 2015-06-09 21:30:42 +03:00
Vladimir Golovnev (Glassez)
d32bb52390 Don't add core to INCLUDEPATH. 2015-06-03 22:11:43 +03:00
Vladimir Sinenko
56ee6dac08 Fixed sort order for datetime columns with empty values (closes #2988)
A small fix belonging to #2531.
During the sorting empty QDateTime values are shuffled around due to
unstable sort in QSortFilterProxyModel (see #2526 and #2158), causing
the transfer list items to constantly change order.

Fixed by using an already existing correct comparison (with a torrent
hash fallback).
2015-05-19 22:10:57 +06:00
sledgehammer999
2c5edf8652 Implement 'Force Start' feature. Closes #270. 2015-04-15 18:13:24 +03:00
Gabriele
1f77a03eb6 Don't reorder the torrents in the transfer list if not necessary
The current sorting algorithm is not stable and causes undesidered
rearrangements of the transfer list when different torrents have same
values in respect to the current sorting criterion. Fix this by using
the priority, the seed date and the hash of the torrents as fallback
values to determine the order.

Closes #2158.
Closes #2526.
2015-04-15 11:43:22 +02:00