Commit graph

9672 commits

Author SHA1 Message Date
Chocobo1
1f1cabd144
Remove unnecessary escape character 2021-03-26 00:27:51 +08:00
Chocobo1
c3bab70434
Remove extra semicolon 2021-03-26 00:27:51 +08:00
Chocobo1
1d6af22813
Add tools for js code formatting and linting
Due to eslint couldn't correctly resolve the context for the variables,
two eslint rules are disabled for now.
2021-03-26 00:27:12 +08:00
Chocobo1
a50798c78f
Sort invalid QDateTime values after valid values
Closes #14607.
2021-03-25 23:17:06 +08:00
Vladimir Golovnev
379d41b6fb
Merge pull request #14581 from glassez/save-resume
Implement BencodeResumeDataStorage class
2021-03-25 07:05:08 +03:00
Vladimir Golovnev (Glassez)
09da6828b8 Use complete types in container declarations
Qt 6 disallows to use incomplete types in container declarations
in some cases, e.g. in parameters of signals/slots.
2021-03-24 14:31:28 +03:00
Vladimir Golovnev
9f386afe9c
Merge pull request #14586 from glassez/varhash
Don't cause QHash relayout while using reference to its node
2021-03-24 11:37:43 +03:00
Vladimir Golovnev (Glassez)
35dedd3d83
Implement BencodeResumeDataStorage class
Implement ResumeDataStorage class as base for all "resume data" storages.
Implement BencodeResumeDataStorage class and put all existing logic of
"resume data" loading/saving there.
2021-03-24 08:59:49 +03:00
Mike Tzou
45c0d5a823
Merge pull request #14587 from Chocobo1/monitor
Remove wrong parentheses in WebUI
2021-03-24 12:47:11 +08:00
Vladimir Golovnev
7bc5bfa140
Merge pull request #14583 from glassez/progress
Correctly draw progress bar in Qt 6
2021-03-24 07:23:53 +03:00
sledgehammer999
fda6def384
Sync translations from Transifex and run lupdate 2021-03-23 22:57:07 +02:00
Mike Tzou
4bf4d45389
Merge pull request #14504 from treysis/ipv6-outgoing-interfaces
Fix bad IPv6 address format for outgoingInterfaces
2021-03-23 18:58:22 +08:00
Mike Tzou
4e8eb2c996
Merge pull request #14570 from brvphoenix/decode
WebUI: Avoid decoding strings repeatedly
2021-03-23 18:58:01 +08:00
Chocobo1
e43a9de2f3
Make global functions immutable 2021-03-23 18:53:56 +08:00
Vladimir Golovnev (Glassez)
1a9e97ee3b
Don't cause QHash relayout while using reference to its node 2021-03-23 13:17:36 +03:00
Chocobo1
901fca2d12
Remove wrong parentheses
Fix up 87ad8a1495.
2021-03-23 17:09:24 +08:00
Vladimir Golovnev (Glassez)
c23f8542b2
Correctly draw progress bar in Qt 6 2021-03-23 10:51:13 +03:00
treysis
0189606445 Fix bad IPv6 address format for outgoingInterfaces
Fixes https://github.com/qbittorrent/qBittorrent/issues/12892#issuecomment-792292336
2021-03-22 11:23:04 +01:00
Vladimir Golovnev
9b31496b22
Merge pull request #14576 from glassez/save-resume
Wrap "resume data" in LoadTorrentParams
2021-03-22 10:24:47 +03:00
Vladimir Golovnev
b9676ac3eb
Merge pull request #14546 from glassez/regexp
Use QRegularExpression instead of deprecated QRegExp
2021-03-22 10:14:02 +03:00
Vladimir Golovnev (Glassez)
764aabc459
Wrap "resume data" in LoadTorrentParams 2021-03-22 07:56:17 +03:00
Vladimir Golovnev (Glassez)
61d2ff359b
Use QRegularExpression instead of deprecated QRegExp
Now it follows closely the definition of wildcard for glob patterns.
The backslash (\) character is not an escape char in this context.
In order to match one of the special characters, place it in square
brackets (for example, [?]).
2021-03-22 07:50:47 +03:00
Mike Tzou
87ad8a1495
Merge pull request #14554 from thalieht/seeding_time_webui
Seeding time in WebUI
2021-03-22 12:08:18 +08:00
Vladimir Golovnev (Glassez)
5d889e4a8f
Drop deprecated code 2021-03-21 13:53:12 +03:00
Vladimir Golovnev (Glassez)
b65a714d17
Save resume data when torrent has done checking 2021-03-21 13:53:05 +03:00
Vladimir Golovnev
ea1c4a8fc8
Merge pull request #14567 from glassez/desktop
Clean up the code
2021-03-21 12:57:46 +03:00
brvphoenix
5beb1b2cd0 WebUI: Avoid decoding strings repeatedly
Fix #14553
2021-03-21 02:09:53 -07:00
Mike Tzou
f55e0b6775
Merge pull request #14562 from Chocobo1/disable
Show progress bar in disabled state for paused torrents
2021-03-21 14:56:39 +08:00
thalieht
d124041726 Allow >100 days in WebUI function "friendlyDuration"
Because it's not only used for ETA.
2021-03-20 15:36:08 +02:00
Vladimir Golovnev
7a26a92edd
Merge pull request #14520 from glassez/save-resume
Improve "save resume data" handling
2021-03-20 09:10:33 +03:00
Vladimir Golovnev (Glassez)
43c8ac0aa1
Don't use deprecated operators 2021-03-20 09:08:48 +03:00
Vladimir Golovnev (Glassez)
46e6ed480a
Use correct return statement 2021-03-20 09:05:32 +03:00
thalieht
9f30aba2b3 Fix incorrect seeding time string in WebUI General tab 2021-03-19 15:29:08 +02:00
thalieht
560ecbc6c3 Add seeding time to the active time column in WebUI
Closes #14526
2021-03-19 15:29:08 +02:00
Vladimir Golovnev (Glassez)
8d9b6cca63
Include missing header 2021-03-19 13:59:04 +03:00
Vladimir Golovnev (Glassez)
3972597163
Include QDesktopWidget header only when needed 2021-03-19 09:23:20 +03:00
Chocobo1
be2cdca1e9
Draw progress bar in disabled style 2021-03-19 13:34:20 +08:00
Mike Tzou
f6ab1d63e8
Merge pull request #14540 from jagannatharjun/remember
Remember sub sort column of transfer list
2021-03-19 13:24:24 +08:00
jagannatharjun
cf5e833898 Remember sub sort column of transfer list 2021-03-18 16:50:16 +05:30
Mike Tzou
6ed2e2694f
Merge pull request #14543 from Chocobo1/cleanup
Simplify progress bar painting
2021-03-18 11:38:15 +08:00
Vladimir Golovnev (Glassez)
560239c918
Improve "save resume data" handling 2021-03-17 07:31:00 +03:00
Chocobo1
a78929dadf
Simplify progress bar painting 2021-03-17 11:19:08 +08:00
Vladimir Golovnev (Glassez)
349cc54c69
Don't use deprecated QTextCodec 2021-03-16 19:10:10 +03:00
Vladimir Golovnev
a8ae97ba91
Merge pull request #14427 from glassez/qt-5.12
Raise minimum Qt version to 5.12
2021-03-14 20:43:39 +03:00
Chocobo1
d74df935f4
Replace parameters in one step
This would avoid the unwanted effect of replacing parameter coming from
another parameter.
2021-03-14 14:03:42 +08:00
Vladimir Golovnev (Glassez)
a078633a32
Don't use deprecated features 2021-03-13 15:50:53 +03:00
Vladimir Golovnev (Glassez)
f022458383
Raise minimum supported Qt version to 5.12 2021-03-13 15:33:58 +03:00
Vladimir Golovnev
6139d0d65a
Merge pull request #14525 from glassez/init-status
Initialize torrent status from add torrent params
2021-03-13 09:40:18 +03:00
Vladimir Golovnev
86a283b4ae
Merge pull request #14503 from glassez/torrent-id
Improve "info hash" handling (step 2)
2021-03-13 09:39:56 +03:00
jagannatharjun
bb39a41e9e Update comment 2021-03-13 11:39:14 +05:30
Vladimir Golovnev (Glassez)
0c9ecd1d76
Properly show tracker status for "paused" torrents 2021-03-12 16:20:52 +03:00
Vladimir Golovnev (Glassez)
561b597031
Improve "info hash" handling
Define "torrent ID" concept, which is either a SHA1 hash for torrents of version 1,
or a SHA256 hash (truncated to SHA1 hash length) for torrents of version 2.
Add support for native libtorrent2 info hashes.
2021-03-12 12:43:14 +03:00
Vladimir Golovnev (Glassez)
6d6908e625
Initialize torrent status from add torrent params 2021-03-11 20:01:34 +03:00
Vladimir Golovnev
4da4fb0676
Merge pull request #14479 from glassez/trackerentry
Improve tracker entries handling
2021-03-11 18:51:19 +03:00
Vladimir Golovnev (Glassez)
7a8c05dc7c
Improve tracker entries handling 2021-03-10 19:54:34 +03:00
Vladimir Golovnev
d7bacdcbff
Merge pull request #14518 from glassez/speedplot
Don't allow speed plot buffer to overflow
2021-03-10 19:33:22 +03:00
Vladimir Golovnev (Glassez)
e2c785b2d5
Accept "share limits" when adding torrent using WebAPI 2021-03-09 20:01:15 +03:00
Vladimir Golovnev (Glassez)
20e9952d98
Don't allow speed plot buffer to overflow 2021-03-09 19:52:10 +03:00
Vladimir Golovnev
0bf36ad031
Merge pull request #14505 from glassez/stacktrace
Look for qbittorrent.pdb in installation directory
2021-03-08 14:57:43 +03:00
Mike Tzou
f3435c5e35
Merge pull request #14493 from Chocobo1/tos
Expose ToS setting from libtorrent
2021-03-08 10:24:42 +08:00
Vladimir Golovnev (Glassez)
166ec74ff9
Look for qbittorrent.pdb in installation directory
Pass application directory as PDB search path in SymInitialize.
Otherwise it searches in application working directory so when you
run qBittorrent with working directory other than its installation
one it can't find qbittorent.pdb file and produces broken stacktrace.
2021-03-07 17:41:51 +03:00
Vladimir Golovnev
6b3c6c12ff
Merge pull request #14466 from glassez/sha1hash
Improve "info hash" handling
2021-03-07 13:25:01 +03:00
Chocobo1
5161758193
Expose ToS setting from libtorrent
Closes #14420.
2021-03-07 15:32:07 +08:00
Vladimir Golovnev (Glassez)
bea32cfe38
Define template for classes that represent SHA hashes 2021-03-06 12:36:08 +03:00
Vladimir Golovnev (Glassez)
8cfd803222
Drop implicit conversions between InfoHash and QString 2021-03-06 12:35:42 +03:00
Chocobo1
9a567721a8
Add missing semicolon 2021-03-06 14:44:10 +08:00
Chocobo1
12938799a6
Remove unused lambda capture 2021-03-05 22:18:08 +08:00
Mike Tzou
891a24c6ba
Merge pull request #14484 from Chocobo1/abort
Properly stop torrent creation if aborted
2021-03-05 14:44:41 +08:00
Chocobo1
f00f552369
Properly stop torrent creation if aborted
Closes #11346.
2021-03-04 14:54:02 +08:00
Chocobo1
5c2b81d78f
Correctly draw the background of progress bar
Closes #12271.
2021-03-02 21:53:46 +08:00
Vladimir Golovnev
a2b0531d5f
Merge pull request #14189 from glassez/libtorrent-1.2.12
Raise minimum libtorrent version to 1.2.12 (2.0.2)
2021-03-01 20:43:28 +03:00
Mike Tzou
752eb58ec0
Merge pull request #14423 from jagannatharjun/true-stable
Support sub-sorting in Transferlist
2021-03-01 12:26:17 +08:00
Vladimir Golovnev
7373b60522
Merge pull request #14432 from brvphoenix/rss
WebUI: Properly decode strings
2021-02-25 12:58:29 +03:00
brvphoenix
59f0961594
WebUI: Properly decode strings 2021-02-24 21:48:21 +03:00
jagannatharjun
b776f98df8 Support sub-sorting in Transferlist 2021-02-25 00:15:32 +05:30
Mike Tzou
7400284cff
Merge pull request #14437 from Chocobo1/mime
Improve detection of filename extension of audio/video files
2021-02-23 12:35:17 +08:00
Chocobo1
e1f9083c81
Improve detection of filename extension of audio/video files 2021-02-21 17:38:21 +08:00
Michał Kopeć
614376ed64 Add an option to disable icons in menus 2021-02-20 18:12:02 +01:00
Vladimir Golovnev
4ae2160372
Merge pull request #14054 from jagannatharjun/speedplotview
Make SpeedPlotView averager time aware
2021-02-12 06:58:45 +03:00
Mike Tzou
1df2dd9593
Merge pull request #14371 from Chocobo1/units
Fix potential out-of-bounds access
2021-02-11 13:15:01 +08:00
Mike Tzou
de9b43984a
Merge pull request #14368 from zzandland/revise-apply-button-options
Refactor apply button logics on options dialog
2021-02-10 12:35:35 +08:00
Chocobo1
4a0b36a50b
Use std::optional to return results 2021-02-10 12:25:26 +08:00
Chocobo1
fffe5e7003
Fix potential out-of-bounds access 2021-02-10 12:25:15 +08:00
Vladimir Golovnev
0bac639a04
Merge pull request #14327 from zzandland/add-category-automated-rss-downloader
Add category button on AutomatedRSSDownloader
2021-02-10 06:40:23 +03:00
Si Yong Kim
0d0d0a7c23 Add empty name error handling on new category dialog 2021-02-08 21:27:26 -08:00
Si Yong Kim
173f8b093f Refactor apply button logics on options dialog 2021-02-08 09:02:12 -08:00
Chocobo1
e46c88580a
Revise getter function for torrrent queue position
This addresses https://github.com/qbittorrent/qBittorrent/pull/14335#issuecomment-774667836

The WebAPI is not affected as a workaround is added.
2021-02-08 14:24:16 +08:00
Mike Tzou
e6033c952e
Merge pull request #14351 from Chocobo1/avail
Show proper string when torrent availability is not available
2021-02-08 12:12:22 +08:00
Vladimir Golovnev
3dfd0ff3b3
Merge pull request #14354 from glassez/missing-files
Improve handling of "missing files" torrents
2021-02-08 06:34:15 +03:00
Chocobo1
0d550c9bce
Apply "Hide infinity values" to ETA column 2021-02-07 16:08:20 +08:00
Chocobo1
2aeb8b9390
Apply "Hide infinity values" to "Down/Up Limit" columns 2021-02-07 16:08:20 +08:00
Chocobo1
afa2fc0ba9
Apply "Hide zero values" to "Time Active" column 2021-02-07 16:08:20 +08:00
Chocobo1
6a45919b25
Clean up coding style 2021-02-07 16:08:20 +08:00
Chocobo1
e4f7d607e1
Show proper string when torrent availability is not available 2021-02-07 16:08:20 +08:00
Si Yong Kim
0690ef31d1 Add category button on AutomatedRSSDownloader on GUI
Closes #7629
2021-02-06 05:13:57 -08:00
Vladimir Golovnev (Glassez)
c3f02d833c
Restart "missing files" torrents after changing location 2021-02-06 14:59:51 +03:00
Vladimir Golovnev (Glassez)
e273ac3a0d
Allow "missing files" torrents to save more resume data 2021-02-06 14:30:33 +03:00
Vladimir Golovnev (Glassez)
459d02abc8
Allow change-case-only file renaming on Windows 2021-02-06 11:33:46 +03:00
Mike Tzou
f5e8b26a55
Merge pull request #14335 from Chocobo1/sort
Use stable sorting in transfer list
2021-02-06 11:02:30 +08:00
Vladimir Golovnev
ce482c20cb
Merge pull request #14307 from dyumin/let_system_sleep_if_there_are_errored_active_torrents
Don't inhibit system sleep if all active torrents are errored
2021-02-05 14:13:15 +03:00
Chocobo1
ab0e1ec6e8
Use stable sorting in transfer list 2021-02-05 10:01:28 +08:00
Mike Tzou
04275e7d5d
Merge pull request #14318 from Chocobo1/sorting
Reuse existing code for sorting
2021-02-03 12:52:35 +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
Si Yong Kim
74a5c6e745 Add hyperlink to Transifex on translator list
Closes #12609
2021-01-30 15:45:13 -08:00
Si Yong Kim
cfafe90fe0 Remove Hungarian translator email 2021-01-29 08:44:47 -08:00
dyumin
12d396ffc5 Treat errored torrents as finished 2021-01-29 12:36:25 +03:00
Mike Tzou
dc39b9e643
Merge pull request #14274 from Chocobo1/updater
Improve behavior when using ProgramUpdater class
2021-01-29 11:37:32 +08:00
Chocobo1
e6a8c02745
Prolong checking interval for program updates 2021-01-28 16:52:04 +08:00
Chocobo1
88d695f7af
Improve behavior when using ProgramUpdater class
This is mainly to avoid involving of `sender()` function.
2021-01-28 16:52:04 +08:00
Chocobo1
5c819f7242
Revise version comparison 2021-01-27 11:42:06 +08:00
Chocobo1
40bd2039d4
Clean up coding style 2021-01-27 11:42:04 +08:00
Mike Tzou
53f29613c2
Merge pull request #14292 from jagannatharjun/fix-double-click
Disable expand on double click in TorrentContentTreeView
2021-01-26 12:14:55 +08:00
jagannatharjun
3371709472 Disable expand on double click in TorrentContentTreeView
We hook our own actions on double click. Fixes #14269
2021-01-25 13:35:22 +05:30
jagannatharjun
f3e4338efc Add a 3-Hour graph 2021-01-23 18:30:39 +05:30
jagannatharjun
c8979a6a49 Make SpeedPlotView averager time aware
Previously SpeedPlotView assumed speed is updated per second but the
default value was 1500ms and that can be further changed by the
user, this caused a lot of duplicate data in the calculation of the
graph points. Now Averager averages based on the target duration, resolution
and also takes into account when actually data has arrived.

Also improved resolution of 6-hour graph, previously it was same as 12-hour graph
2021-01-23 18:30:39 +05:30
Vladimir Golovnev (Glassez)
5b495e2f51
Bump WebAPI version 2021-01-23 13:55:09 +03:00
Mike Tzou
42637a642b
Merge pull request #14256 from Chocobo1/tr
Don't let "program update" dialog steal focus
2021-01-22 11:47:43 +08:00
Chocobo1
ae1b852821
Enlarge "speed limit" icon slightly 2021-01-21 12:22:15 +08:00
Chocobo1
44e4dd3700
Don't let "program update" dialog steal focus
And also avoid creating an unnecessary event loop.
Closes #14250.
2021-01-21 12:22:08 +08:00
an0n666
24d7d599f1
Validate HTTPS Tracker Certificate by default 2021-01-20 13:33:10 +06:00
Chocobo1
d85a41ad75
Disable translation of program name 2021-01-20 11:30:33 +08:00
Mike Tzou
478ddfe102
Merge pull request #14242 from xavier2k6/Change-qBittorrent-Updater-window-title
Change title of "version update" dialog box
2021-01-20 11:21:40 +08:00
Mike Tzou
198f832c3d
Merge pull request #14237 from crackwitz/master
Allow tab to escape the text box in "Edit trackers" dialog
2021-01-20 11:17:28 +08:00
Mike Tzou
f0b78ffc04
Merge pull request #14233 from Chocobo1/menu
Add ability to prioritize selected items by shown file order
2021-01-20 11:15:52 +08:00
Christoph Rackwitz
1fe1fa9eac Allow tab to escape the text box in "Edit trackers" dialog 2021-01-19 12:44:27 +01:00
Chocobo1
6258652c7b
Remove redundant variable declarations 2021-01-19 12:16:10 +08:00
Chocobo1
28d31b9d5b
Add ability to prioritize selected items by shown file order
Closes #2834.
2021-01-19 12:15:48 +08:00
xavier2k6
75426cc498
Change qBittorrent Updater window title 2021-01-18 14:01:13 +00:00
Vladimir Golovnev (Glassez)
ae29e8bbab
Drop extension from generated content folder name
Try to detect whether generated content folder name contains extension
and drop it to avoid possible conflicts between file/folder names.
2021-01-18 10:37:19 +03:00
Mike Tzou
2b9c7e04a4
Merge pull request #14229 from Chocobo1/ext
Improve detection of file extension string
2021-01-18 12:43:54 +08:00
sledgehammer999
d1aba56096
Sync translations from Transifex and run lupdate 2021-01-17 23:20:45 +02:00
Chocobo1
3985d58d3c
Move menu actions out of .ui files
This is to move related code together.
2021-01-17 14:47:55 +08:00
Chocobo1
1479b61214
Simplify code for checking free disk space
`QStorageInfo::bytesAvailable()` is guaranteed to return `-1` for an
invalid path.
https://doc.qt.io/qt-5/qstorageinfo.html#bytesAvailable
2021-01-17 11:51:33 +08:00
Chocobo1
15a249eb54
Improve detection of file extension string 2021-01-17 00:10:18 +08:00
Vladimir Golovnev (Glassez)
710c5e2c31
WebUI: Correctly represent torrent content structure 2021-01-12 16:13:48 +03:00
Chocobo1
6bfed97710
Add README.md to searchengine folder 2021-01-11 15:11:36 +08:00
Vladimir Golovnev (Glassez)
f9e286123f
Raise minimum libtorrent version to 1.2.12 2021-01-10 14:38:58 +03:00
sledgehammer999
613fd1bcf0
Merge pull request #14162 from Chocobo1/flags
Disable compiler flags
2021-01-09 14:08:55 +02:00
Chocobo1
cede5ac9d2
Migrate away from deprecated Qt functions
`QString QDateTime::toString(Qt::DateFormat format = Qt::TextDate)` will
be removed in Qt6.
2021-01-09 12:59:08 +08:00
Chocobo1
89559eae2b
Disable clang "range loop analysis" compiler warning
See: https://github.com/qbittorrent/qBittorrent/pull/13915#issuecomment-739449084
2021-01-09 12:59:07 +08:00
Mike Tzou
d7fb2e6403
Merge pull request #14176 from Chocobo1/pack_src_2
Add script for generating project tarball
2021-01-09 12:51:46 +08:00
Vladimir Golovnev
e3119b457c
Merge pull request #14179 from lbilli/patch-1
On Linux use legacy 'data' directory only as a fallback
2021-01-08 22:15:34 +03:00
sledgehammer999
ae27a5b7b7
Merge pull request #14171 from sledgehammer999/copyright_attribution
Correct copyright attribution
2021-01-07 18:37:43 +02:00
Chocobo1
302cb27e98
Add script for generating project tarball 2021-01-07 23:31:05 +08:00
lbilli
2d3481b9a9
On Linux use legacy 'data' directory only as a fallback 2021-01-07 10:04:08 -05:00
sledgehammer999
9b67e988db
Correct copyright attribution
These files were created and edited in their entirety in commit 8db4bde15d
As far as I can tell they were almost entirety rewritten from their original state.
The old copyright attribution is restored and the new author is added too.
2021-01-07 13:39:15 +02:00
Chocobo1
24fa9e32b0
Set source character sets to UTF-8
This suppress warning C4819.
https://docs.microsoft.com/en-us/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=msvc-160
2021-01-07 11:51:24 +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
Vladimir Golovnev
35731b96dc
Merge pull request #14157 from jagannatharjun/content-search
Correctly set items flags in TorrentContentModel
2021-01-06 14:19:29 +03:00
Mike Tzou
b79a1b5755
Merge pull request #14145 from Chocobo1/define
Generate version header when configuring project
2021-01-06 11:38:55 +08:00
sledgehammer999
1561f6f09f
Merge pull request #14156 from sledgehammer999/copyright_2021
Bump copyright year
2021-01-06 01:40:46 +02:00
jagannatharjun
36d7fce909 Correctly set items flags in TorrentContentModel
Only set editable flag on item's where editing is handled in the delegate

closes #13515
2021-01-05 23:04:27 +05:30
sledgehammer999
b8d6058b28
Bump copyright year 2021-01-05 14:27:09 +02:00
Vladimir Golovnev
8771e1a339
Merge pull request #14138 from glassez/add-torrent
Use single parameter to accept torrent source
2021-01-05 09:17:08 +03:00
Vladimir Golovnev (Glassez)
531ae501ad
Use std::optional<bool> instead of custom TriStateBool 2021-01-04 23:10:24 +03:00
Vladimir Golovnev (Glassez)
d0cac421bb
Change parseBool() to return optional bool value 2021-01-04 23:10:24 +03:00
Vladimir Golovnev (Glassez)
4429a16ca8
Use std::optional instead of boost::optional 2021-01-04 23:10:03 +03:00
Chocobo1
c669401767
Generate version header when configuring project
The basic idea is we create a version header template at
"src/base/version.h.in" and the build systems are expected to replace
strings that are enclosed with @ symbols and generate
"src/base/version.h" for other source files to consume/include.
2021-01-04 22:28:41 +08:00
Vladimir Golovnev (Glassez)
ee5fe424e8
Use single parameter to accept torrent source 2021-01-03 17:01:20 +03:00
Vladimir Golovnev (Glassez)
552ff0489d
Use nested namespaces definition syntax 2021-01-03 16:53:24 +03:00
Mike Tzou
04a9ce6e81
Merge pull request #14074 from Chocobo1/dialog_size
Remember dialog sizes
2021-01-03 13:20:21 +08:00
Mike Tzou
586bdc0567
Merge pull request #14121 from Chocobo1/settingsStorage
Improve load data behavior of SettingsStorage class
2021-01-03 13:19:53 +08:00
Vladimir Golovnev
4bb3d13921
Merge pull request #14123 from glassez/restart-missing-files
Don't re-check "missing files" torrents when re-start
2021-01-02 15:20:50 +03:00
Vladimir Golovnev
7c02630186
Merge pull request #14116 from glassez/drop-move-notify
Drop notification about move storage finished
2021-01-02 10:34:09 +03:00
Chocobo1
ff63ad8b97
Don't use deprecated locale name 2021-01-02 13:25:23 +08:00
Chocobo1
bdf1fb6db8
Revise store/load state operations of Options Dialog 2021-01-02 13:25:23 +08:00
Mike Tzou
d21fdb7546
Merge pull request #14118 from Chocobo1/fromstring
Move parsing of TriStateBool to a static class function
2021-01-02 12:58:00 +08:00
Chocobo1
be5af2796d
Revise SettingsStorage store/load value interface 2021-01-02 12:48:26 +08:00
Chocobo1
b1020c599f
Improve load data behavior of SettingsStorage class
Previously it only handle the case of failed lookup, now it discard
invalid values when deserializing the database from disk.
Also checks whether the data is convertible to the intended type.
2021-01-01 22:57:50 +08:00
Vladimir Golovnev (Glassez)
b2199202ab
Reload "missing files" torrent instead of re-checking 2021-01-01 16:16:52 +03:00
Vladimir Golovnev (Glassez)
06105072f9
Extract torrent reloading logic into separate method 2021-01-01 16:08:01 +03:00
Vladimir Golovnev
b676ca7d96
Merge pull request #14108 from thalieht/webui-options-content-layout
Update "Keep top-level folder" in WebUI options
2021-01-01 15:32:49 +03:00
Chocobo1
757ab3dc92
Remember dialog sizes
This applies to "About Dialog", "Ban List Options Dialog", "Download From URL Dialog", "IP Subnet
Whitelist Options Dialog", "Search Plugin Select Dialog", "Search Plugin Source Dialog",
"Statistics Dialog", "Speed Limit Dialog" and "Torrent Options Dialog".

Also unifies storing the dialog size under the key "Size".
2021-01-01 16:03:32 +08:00
Chocobo1
e022c371ff
Move parsing of TriStateBool to a static class function 2021-01-01 12:59:48 +08:00
Vladimir Golovnev (Glassez)
df2bbe129d
Drop notification about move storage failed 2020-12-31 21:53:43 +03:00
Vladimir Golovnev (Glassez)
f7cae610a4
Drop notification about move storage finished 2020-12-31 21:49:18 +03:00
thalieht
bb698d682c Update "Keep top-level folder" in WebUI options 2020-12-31 13:06:46 +02:00
Chocobo1
5bd6ff2285
Migrate away from deprecated std::iterator class 2020-12-31 13:28:48 +08:00
Chocobo1
e6cf186c23
Use function-pointer based signal-slot connection 2020-12-31 13:28:48 +08:00
Chocobo1
d70b893852
Bump project requirement to C++17 2020-12-31 13:28:48 +08:00
Mike Tzou
a579b4a519
Merge pull request #14085 from Chocobo1/settingvalue
Add a thin layer around SettingsStorage class
2020-12-31 10:46:32 +08:00
sledgehammer999
fffa2f097e
Merge pull request #14069 from sledgehammer999/new_languages
Add new languages
2020-12-30 23:43:43 +02:00
Vladimir Golovnev (Glassez)
3af2168b02
Don't call non-existent elements
Fixed a regression where the script tries to access elements that no longer
exist on the page, because they were replaced with others by a previous change.
2020-12-30 16:45:49 +03:00
Vladimir Golovnev
f1337524f6
Merge pull request #14089 from glassez/fix-webui
Don't call non-existent elements
2020-12-29 22:30:00 +03:00
Vladimir Golovnev
348109a1f9
Merge pull request #13995 from glassez/rename-files
Improve content file/folder names handling
2020-12-29 22:27:58 +03:00
Chocobo1
0b0597be0c
Add a thin layer around SettingsStorage class
This new layer would be handy for saving GUI widget states as they don't
need the value cached and they store/load rarely.
2020-12-30 00:10:22 +08:00
Vladimir Golovnev (Glassez)
690dbc4725
Don't call non-existent elements
Fixed a regression where the script tries to access elements that no longer
exist on the page, because they were replaced with others by a previous change.
2020-12-29 14:31:37 +03:00
Mike Tzou
cc9b1ea8a1
Merge pull request #14073 from Chocobo1/locale
Capitalize locale names
2020-12-29 17:32:37 +08:00
sledgehammer999
ffebe82586
Add new languages
* Azerbaijani
* Estonian
2020-12-28 21:58:44 +02:00
Vladimir Golovnev (Glassez)
4453e7fcdd
Improve content file/folder names handling
Move files/folders renaming functions to core classes.
Query file/folder for renaming by its current path.
Add ability to rename content folders from WebAPI/WebUI.
2020-12-28 21:18:28 +03:00
Mike Tzou
60d65d8137
Merge pull request #13885 from thalieht/torrentOptionsDialog
Rework global speed limit dialog and introduce torrent options dialog
2020-12-28 11:34:38 +08:00
Chocobo1
c8eefe749f
Capitalize locale names 2020-12-28 11:25:25 +08:00
sledgehammer999
162421a59a
Sync translations from Transifex and run lupdate 2020-12-26 21:15:29 +02:00
Vladimir Golovnev (Glassez)
79048812e9
Fix folder name extraction functions
It should return empty string if there is no parent folder.
2020-12-26 14:47:06 +03:00
Vladimir Golovnev
70b242f190
Merge pull request #13955 from glassez/content-policy
Improve content root folder handling
2020-12-26 14:44:51 +03:00
thalieht
8db4bde15d Group several torrent options into one dialog
Speed limits, share limits and the new options to disable DHT, PeX, LSD per torrent
2020-12-25 20:37:43 +02:00
thalieht
fbb8f0cbf5 Save fastresume when setting torrent speed limits 2020-12-25 20:37:43 +02:00
thalieht
aafa12eb6e Increase maximum global speed limits from ~1 GiB/s to ~2 GiB/s
Closer to the INT_MAX limit of ~2 Billion when multiplied by 1024 for libtorrent
2020-12-25 20:37:43 +02:00
thalieht
76f285f19c Convert existing speed dialog to global + alt global limits only 2020-12-25 20:37:43 +02:00
Mike Tzou
e1073de36f
Merge pull request #14039 from Chocobo1/stats
Don't use removed stat metric in libtorrent 2.0
2020-12-25 17:55:56 +08:00
Chocobo1
4180db601d
Use a helper function to look up stat indexes 2020-12-24 23:20:21 +08:00
Chocobo1
423983e023
Fix wrong JSON type returned
Fix up 78638a15be.
Closes #14041.
2020-12-24 23:15:36 +08:00
Chocobo1
90a1ea4281
Don't use removed stat metric in libtorrent 2.0
For now, the metric is not entirely removed due to WebAPI still needs to
access it.
2020-12-24 12:04:14 +08:00
Chocobo1
0ebd864db9
Initialize stat indices to -1
When the index is initialized it will be set to a number >= 0, so we use
-1 to denote its uninitialized status.
2020-12-24 11:30:48 +08:00
Vladimir Golovnev (Glassez)
1d5dc283fe
Allow to add root folder to torrent content 2020-12-23 13:07:33 +03:00
Vladimir Golovnev (Glassez)
f6d1fea9b7
Fix bug of "move storage job" can be performed multiple times 2020-12-21 20:11:01 +03:00
Chocobo1
78638a15be
Migrate away from deprecated QVariant comparison operators
Fortunately, serializing to JSON limits the data types to a very small
subset and thus we are able to implement the comparison without much
hassle.

Fix up cba8d83b21.
2020-12-18 13:19:15 +08:00
Vladimir Golovnev (Glassez)
d4a51979bb
Extract enum serialization/parsing functions 2020-12-15 10:18:39 +03:00
Vladimir Golovnev (Glassez)
77555cd5c2
Improve torrent name handling 2020-12-15 10:18:39 +03:00
Vladimir Golovnev
c01d28a471
Merge pull request #13948 from FranciscoPombal/pragmatism
Use #pragma once instead of include guards
2020-12-14 13:51:02 +03:00
Chocobo1
20ae89c2a1
Add support for allow_idna option
Upstream PR: https://github.com/arvidn/libtorrent/pull/5316
2020-12-13 12:12:24 +08:00
Chocobo1
0baa23f553
Update "HTTPS tracker validation" enablement conditional
https://github.com/arvidn/libtorrent/pull/5313
2020-12-13 12:12:24 +08:00
Mike Tzou
10fbb6a2a8
Merge pull request #13953 from Chocobo1/cmp
Migrate away from deprecated QVariant comparison operators
2020-12-13 11:49:52 +08:00
FranciscoPombal
6152b83405 Use #pragma once instead of include guards 2020-12-12 19:41:32 +00:00
Vladimir Golovnev (Glassez)
5f94238d23
Fix bug of torrents don't save "stopped" state 2020-12-11 17:33:37 +03:00
Chocobo1
4d1d5d6b20
Revise Utils::Version comparison operators 2020-12-11 12:50:12 +08: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
ff3d0346eb
Fix coding style 2020-12-09 22:50:01 +08:00
Chocobo1
498da509db
Use Qt provided forward declaration header 2020-12-09 18:21:02 +08:00
Mike Tzou
d484c0e7ce
Merge pull request #13912 from Chocobo1/infohash
Use the correct type when referring to info hash
2020-12-08 20:53:12 +08:00
Vladimir Golovnev
5c1c561d7d
Merge pull request #13905 from glassez/handle-metadata
Fix received metadata handling
2020-12-07 08:39:06 +03:00
Chocobo1
9f0429ca6f
Use the correct type when referring to info hash 2020-12-06 22:04:28 +08:00
Vladimir Golovnev
3485ad39d9
Merge pull request #13511 from FranciscoPombal/bump_versions
Bump minimum dependency versions
2020-12-05 13:27:21 +03:00
Vladimir Golovnev (Glassez)
4e04cd27c9
Fix received metadata handling 2020-12-05 10:03:27 +03:00
FranciscoPombal
7e4b428a3e Fix method invocation on Qt < 5.10
Fixup 0c3fe54b0b
2020-12-04 22:46:49 +00:00
Vladimir Golovnev
2f6ed86c78 Drop support for building with libtorrent < 1.2.11
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2020-12-04 14:30:12 +00:00
FranciscoPombal
6590915b15 Update minimum depedency versions 2020-12-04 12:23:22 +00:00
Vladimir Golovnev
0c3fe54b0b
Merge pull request #13894 from glassez/find-existing
Find existing files in separate thread
2020-12-04 06:34:53 +03:00
Vladimir Golovnev (Glassez)
a93b675cb8
Search for existing files in separate thread 2020-12-03 07:58:34 +03:00
Mike Tzou
0f2df23800
Merge pull request #13893 from Chocobo1/input_length
Remove unnecessary restriction on input length
2020-12-02 23:13:06 +08:00
Chocobo1
6aa5abf298
Update URL to libtorrent settings 2020-12-02 13:50:41 +08:00
Chocobo1
bd672c4c4e
Move "embedded tracker" options to qbt section 2020-12-02 13:50:41 +08:00
Chocobo1
8d768bda31
Add links to libtorrent documentation 2020-12-02 13:50:40 +08:00
Chocobo1
5110994f81
Lift upper limit of "Max concurrent HTTP announces" option
Closes #13800.
2020-12-02 13:47:47 +08:00
Chocobo1
83d17b5c0e
Remove unnecessary restriction on input length
Closes #13884.
2020-12-02 11:51:41 +08:00
Vladimir Golovnev
e6c174c33b
Merge pull request #13882 from jesec/master
WebAPI: allow to attach tags while adding torrents
2020-12-01 15:38:48 +03:00
Vladimir Golovnev (Glassez)
9497300a4a
Don't rewrite TorrentInfo instance if it's valid 2020-12-01 08:15:26 +03:00
Vladimir Golovnev (Glassez)
acab62e345
Properly handle "Append extension" option changing 2020-12-01 08:15:25 +03:00
Vladimir Golovnev (Glassez)
0e8feed2f2
Clean up metadata downloading code 2020-12-01 08:15:12 +03:00
sledgehammer999
82716d8014
Merge pull request #13871 from sledgehammer999/magnet_delete
Don't try to remove folders for a torrent without metadata
2020-12-01 02:14:51 +02:00
sledgehammer999
af262e9a14
Merge pull request #13870 from sledgehammer999/fix_magnet_queue
Fix status of torrents without metadata
2020-12-01 02:14:32 +02:00
Jesse Chan
d0d5af8c66 WebAPI: bump version to 2.6.2 2020-12-01 01:43:03 +08:00
Jesse Chan
86f9b1f6db WebAPI: allow to attach tags while adding torrents 2020-11-30 20:54:42 +08:00
Chocobo1
eaaacd71a8
Simplify the calculation of speed graph scale 2020-11-30 00:03:47 +08:00
Chocobo1
75cead9266
Avoid potential rounding to integer issues 2020-11-30 00:03:46 +08:00
Chocobo1
4381739b6d
Fix coding style 2020-11-29 20:13:58 +08:00
Chocobo1
8f2cdcef0e
Fix availability value
Closes #13869.
Fix up 02f19bfbee.
2020-11-29 19:52:51 +08:00
sledgehammer999
9721acbf63
Don't try to remove folders for a torrent without metadata 2020-11-29 02:41:47 +02:00
sledgehammer999
be5cb1683b
Fix status of torrents without metadata 2020-11-29 00:32:53 +02:00