OctopusET
ab5605d54b
Use proper string for Korean language
...
PR #15799 .
2021-12-01 12:06:05 +08:00
Chocobo1
19d95ebd10
Add comment for qHash implementation requirements
...
As clazy report false-positive on this.
2021-11-29 01:28:49 +08:00
Chocobo1
0e1849346b
Avoid iterating over a temporary variable
2021-11-29 00:31:03 +08:00
Chocobo1
0f34e3bed9
Don't use deprecated Q_ENUMS
...
See: https://doc.qt.io/qt-5/qobject-obsolete.html#Q_ENUMS
2021-11-29 00:31:03 +08:00
Chocobo1
c8b66b25e8
Avoid potential container detachment
...
Suppress clazy warning:
warning: Don't call QList::operator[]() on temporary [-Wclazy-detaching-temporary]
2021-11-29 00:31:03 +08:00
Chocobo1
e6f07a6fe4
Use implicit copy-constructor generated by compiler
...
This also suppresses the following clang warning:
warning: definition of implicit copy assignment operator for 'Version<unsigned short, 2>' is deprecated because it has a user-declared copy constructor [-Wdeprecated-copy]
2021-11-29 00:30:17 +08:00
Chocobo1
51469f8fa2
Store Qt6 table header states under a different key
...
Follow up 22abbc1d41
.
PR #15774 .
2021-11-23 11:02:07 +08:00
Chocobo1
d78b2a569f
Fix handling when Content-Length field is absent
...
Closes #15754 .
PR #15757 .
2021-11-21 11:48:49 +08:00
Chocobo1
dc13eaed1f
Revert "Use percentage notation for alpha-values in CSS"
...
This reverts commit 864dca1b67
.
Upstream change: https://github.com/stylelint/stylelint-config-standard/pull/212
PR #15745 .
2021-11-18 00:19:27 +08:00
Chocobo1
b063042988
Apply download priority immediately in torrent content view
...
Apply the new priority after picking it via drop-down menu.
Fixes #14667 , #15238 .
PR #15739 .
Co-authored-by: a-sum-duma <68896601+a-sum-duma@users.noreply.github.com>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2021-11-16 13:50:53 +08:00
a-sum-duma
fa1d49add5
Properly check if file priority changes
...
Current item priority is compared against new checkbox state. I believe the intention was to check if the priority changes before performing further actions. This PR fixes the issue - compare priority against new value that is about to be set rather then the checkbox state.
PR #15740 .
2021-11-16 13:50:11 +08:00
Chocobo1
b45248bf99
Merge pull request #15452 from thalieht/autoTMM
...
Move some options from transfer list's context menu into "Torrent options" dialog
2021-11-10 12:39:59 +08:00
Chocobo1
13a49866a7
WebUI: Revise about page
...
Follow GUI more closely.
2021-11-09 13:17:55 +08:00
Chocobo1
7e2aea92b0
WebUI: Remove IRC in about page
...
This follows the GUI change in 65a30bab3f
.
2021-11-09 13:17:41 +08:00
Chocobo1
ae1b963e0f
Merge pull request #15682 from Chocobo1/qt6
...
Store Qt6 table header states under a different key
2021-11-09 11:23:04 +08:00
a-sum-duma
b29b7e0185
Add more download options to torrent search result right-click menu
...
PR #15654 .
2021-11-09 06:11:47 +03:00
Chocobo1
71270260bf
Reformat code
2021-11-08 13:34:21 +08:00
Chocobo1
22abbc1d41
Store Qt6 table header states under a different key
2021-11-08 13:34:21 +08:00
Chocobo1
32698fe0be
Migrate away from low-level SettingsStorage
class
...
Also add `QFlags<T>` support to `SettingsStorage`.
PR #15693 .
2021-11-08 13:23:33 +08:00
thalieht
16f8d6a936
Allow deselecting radio buttons in "Torrent options" for mixed torrents
2021-11-06 12:47:53 +02:00
thalieht
046d6f3bc1
Move a few torrent context menu actions into "Torrent options" dialog
...
Automatic torrent management
Save path
Category
Download in sequential order
Download first and last pieces first
closes #15447 , closes #14064
2021-11-06 12:47:53 +02:00
Andrei Stepanov
51d754a53e
Optimize PNG images losslessly with FileOptimizer
...
PR #15662 .
2021-11-05 12:59:25 +08:00
Chocobo1
49976bcd83
Merge pull request #15648 from Chocobo1/lockfile
...
Create lock file in config folder instead of temp folder
2021-11-03 12:15:22 +08:00
xavier2k6
e6ff23885e
Sync flag icons with upstream
...
Upstream commit e0577caf317aa721b62c5a4788b13572cc163252 (Release v4.1.4)
PR #15657 .
2021-11-02 11:10:50 +08:00
Chocobo1
7aa859a442
Don't use deprecated statfs64() on macOS ( #15661 )
...
Co-authored-by: Nick Korotysh <kolchaprogrammer@list.ru>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2021-11-02 10:41:09 +08:00
Chocobo1
180deb867a
Use char array directly
...
This eliminates the possibility of reassigning the pointer to another
address.
2021-11-01 14:08:49 +08:00
Chocobo1
a5c531f0a4
Create lock file in config folder instead of temp folder
...
Some linux distros seem to alter TMPDIR environment variable and
therefore hamper qbt ability to find the lock files. So use config
folder instead of TMPDIR folder to create/locate the lock files.
Note that this change will also make qbt become one instance per-user
instead of one instance per-system.
Closes #15646 .
2021-11-01 14:08:49 +08:00
a-sum-duma
5dd70b88d3
Fix torrent content sorting
...
Fix improper sorting of the list of files contained by a torrent.
Always load all torrent content data so that the files list can be sorted properly.
Load torrent content only when needed. Don't load the list of files contained by a torrent if the list widget is not visible.
PR #15604 .
2021-11-01 11:45:48 +08:00
sledgehammer999
40f2718265
Sync translations from Transifex and run lupdate
2021-10-31 12:29:34 +02:00
Vladimir Golovnev
cc61ad01b6
Explicitly set "added time" when adding new torrent
...
Don't overwrite "added time" with possibly incorrect value.
Explicitly set "added time" when adding new torrent.
PR #15644 .
2021-10-31 12:08:19 +03:00
sledgehammer999
8a44c1f6d5
Bump to 4.4.0rc1
2021-10-31 02:56:25 +03:00
sledgehammer999
e370cbb06b
Sync translations from Transifex and run lupdate
2021-10-31 02:52:52 +03:00
Likol Tung
cb0c2e3b9c
Fix WebUI reverse proxy section doesn't work
...
As title. because load with incorrect key.
Also moving proxy list label to left, screenshot: https://imgur.com/Rz038uW
PR #15634 .
2021-10-29 11:50:09 +08:00
Chocobo1
8b60baea99
Remove unused CSS properties
2021-10-22 14:45:37 +08:00
Chocobo1
ac61c33d1c
Use modern color notation in CSS
2021-10-22 14:43:13 +08:00
Chocobo1
3088f04e6f
Use standard CSS properties instead of vendor specifics
2021-10-22 14:43:13 +08:00
Chocobo1
864dca1b67
Use percentage notation for alpha-values in CSS
2021-10-22 14:43:12 +08:00
Chocobo1
15320018f0
Use shorthand for CSS properties
2021-10-22 14:43:05 +08:00
Chocobo1
6226dd5b80
Add quotes to URL in CSS files
...
Better add quotes: https://stackoverflow.com/a/34383157
2021-10-22 14:43:05 +08:00
Chocobo1
aafc1064d9
Disable CSS selector naming rule
2021-10-22 14:42:12 +08:00
Vladimir Golovnev
4f20769a6c
Use respective subcategory for "watched" torrents
...
Assign respective Subcategory of configured Category to torrents
if Automatic Torrent Management Mode is set for Watched folder.
PR #15603 .
2021-10-22 05:51:11 +03:00
Chocobo1
8a7179195f
Suppress remove null widget warning
...
And improve text format for translation work.
2021-10-14 00:25:30 +08:00
Chocobo1
e45e29b431
Avoid type specifier mismatch
...
Qt5 uses `int` and Qt6 uses `qsizetype`, so use the stream version of
`qDebug()` to avoid specifying types.
2021-10-14 00:24:41 +08:00
Chocobo1
ca28fc27dc
Disable deprecated Qt functions
...
Also Qt6 by default set these attributes to our preferred value.
2021-10-13 12:00:21 +08:00
Chocobo1
08b2cde8e8
Let infohash v2 text be mouse selectable
...
And drop unused property.
2021-10-13 11:59:44 +08:00
Chocobo1
489d88e02a
Suppress conversion warning
...
This fixes MSVC warning C4305: 'argument': truncation from 'double' to 'float'.
`QColor::setAlphaF()` parameter has been changed to `float` in Qt6.
2021-10-12 15:37:45 +08:00
Chocobo1
dff39ffd20
Fix typo
...
https://doc.qt.io/qt-6/qmake-variable-reference.html#qt-major-version
2021-10-12 14:16:53 +08:00
Chocobo1
7087565d92
Fix typo
2021-10-11 22:17:17 +08:00
Chocobo1
45a1c25a29
Merge pull request #15467 from xavier2k6/Python_URL
...
Update python installer URL for Windows
2021-10-11 12:47:00 +08:00
Chocobo1
70a11a12b3
Merge pull request #15549 from Chocobo1/api
...
WebAPI: Use specific number to represent non-existing values
2021-10-11 12:38:38 +08:00
Vladimir Golovnev
5d5b0d572e
Merge pull request #15536 from glassez/expected
...
Don't use output parameters for error handling
2021-10-10 15:04:55 +03:00
Chocobo1
7c8eadfddf
Revert "WebUI: group trackers by hostname"
...
This functionality wasn't ever correctly implemented and couldn't be
done without considerable effort, so revert it for now.
This reverts commit 4ac25a50ed
.
PR #15542 .
2021-10-10 11:00:21 +08:00
xavier2k6
a92a6404cb
Make Python minimum version requirement an argument
2021-10-09 10:45:26 +01:00
Vladimir Golovnev (Glassez)
78459fcb31
Don't throw exception in TorrentInfo::saveToFile()
2021-10-09 08:54:20 +03:00
Vladimir Golovnev (Glassez)
41fc0fd084
Don't use output parameters for error handling
2021-10-09 08:54:03 +03:00
Chocobo1
5c9655abc3
WebAPI: Use specific number to represent non-existing values
...
Closes #15545 .
2021-10-09 12:31:15 +08:00
Chocobo1
3301797491
Merge pull request #15530 from Chocobo1/errmsg
...
Log error message in DownloadHandlerImpl class
2021-10-09 12:09:56 +08:00
Daniel Aleksandersen
eb5e1d34df
WebUI: Add meta application name
...
Used for installable/pinned app installs.
PR #15539 .
2021-10-09 12:06:44 +08:00
Daniel Aleksandersen
9e92e5995f
WebUI: Set icon sizes attribute
...
Gives browsers more information to pick the best icon.
PR #15540 .
2021-10-09 11:59:37 +08:00
Chocobo1
e96f2d7be0
Simplify comparison
...
From https://doc.qt.io/qt-5/qdatetime.html#operator-eq-eq :
>Since 5.14, all invalid datetimes are equal to one another and differ from all other datetimes.
2021-10-09 02:20:22 +08:00
Chocobo1
03cb51844b
Remove redundant define
...
NOMINMAX is already defined in build scripts.
2021-10-08 11:11:02 +08:00
Chocobo1
6b06cc9216
Log error message in DownloadHandlerImpl class
2021-10-08 11:07:35 +08:00
Chocobo1
6b49323f05
Improve error message reporting
2021-10-08 11:01:48 +08:00
Chocobo1
4a11fab2b1
Add constexpr to Sample class functions
2021-10-08 01:04:58 +08:00
Vladimir Golovnev
c382191e75
Correctly iterate through the files of torrent
...
PR #15535 .
2021-10-07 10:48:00 +03:00
luzpaz
4d480b8761
Fix various typos
...
Found via `codespell -q 3 -S *.ts`.
PR #15520 .
2021-10-05 12:58:25 +08:00
Vladimir Golovnev
bc71827c01
Improve torrent content handling
...
Hide .pad files.
PR #15468 .
2021-10-02 21:42:58 +03:00
Vladimir Golovnev
a8ade3a04b
Merge pull request #14465 from glassez/qt6
...
Allow to build with Qt6
2021-10-02 21:29:10 +03:00
Vladimir Golovnev (glassez)
add75fbc77
Make complete type declarations available where needed
2021-10-02 09:23:50 +03:00
Vladimir Golovnev (Glassez)
86b1ac5d7c
CMake: Allow to build with Qt6
2021-10-02 09:23:49 +03:00
Vladimir Golovnev (glassez)
b51197936b
QMake: Don't use WinExtras module with Qt6
2021-10-02 09:23:15 +03:00
Jose M. Abuin
64609ce5cf
Add missing double-click action
...
Closes #15422 .
PR #15509 .
2021-10-01 12:16:58 +08:00
Chocobo1
5cf39a2970
Reuse code path
...
`buf.f_type` should be compatible across platforms.
https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/statfs.2.html
2021-09-27 22:40:25 +08:00
Chocobo1
1c9321d5a1
Add remote filesystem magic numbers
2021-09-27 22:22:36 +08:00
Chocobo1
97a8d865dc
WebUI: revise hash function
...
In benchmark, using `Math.imul()` is about ~20% faster than floating
point multiplication.
PR #15475 .
2021-09-27 13:54:28 +08:00
Chocobo1
1c343a444b
Remove redundant const specifier
2021-09-21 17:19:38 +08:00
Chocobo1
1c9696b68e
Suppress function unused warning
2021-09-21 17:18:50 +08:00
Chocobo1
ecd23d0abd
Merge pull request #15459 from Chocobo1/i18n
...
Revise description wordings
2021-09-19 13:29:08 +08:00
Chocobo1
010d1b5ff8
Merge pull request #15419 from Chocobo1/file
...
Improve error detection when saving files
2021-09-19 13:28:47 +08:00
Chocobo1
46394a7c0f
Combine stream statements
2021-09-18 12:59:08 +08:00
Chocobo1
fc86034fab
WebUI: update authors page
2021-09-18 12:59:07 +08:00
Chocobo1
03012cc175
Revise description wordings
2021-09-18 12:59:07 +08:00
Vladimir Golovnev
b2e0e25f1c
Merge pull request #15451 from glassez/profile
...
Improve Profile handling
2021-09-15 19:11:22 +03:00
Chocobo1
9673be17cb
Improve handling when writing to temporary files
...
Let QTemporaryFile remove incomplete written file when error occurs.
"XXXXXX" template is not strictly required according to Qt doc.
2021-09-15 23:25:27 +08:00
Chocobo1
fa8786e230
Flush manually when saving a file
...
This is to work around https://bugreports.qt.io/browse/QTBUG-75077
2021-09-15 23:15:33 +08:00
Chocobo1
21f72baae2
Use QSaveFile wherever applicable
...
expected.hpp was fetched from:
b803e3c07b/include/nonstd/expected.hpp
2021-09-15 21:54:44 +08:00
xavier2k6
4b78af268f
Update python installer URL for Windows
2021-09-12 17:17:06 +01:00
jagannatharjun
a734199383
Fix startup with different profiles
2021-09-12 10:59:20 +03:00
Vladimir Golovnev (Glassez)
046b741700
Improve Profile handling
...
Add Profile::rootPath and Profile::configurationName properties.
2021-09-12 10:58:48 +03:00
Chocobo1
ce0b6f0d56
Merge pull request #15450 from Chocobo1/pr_15303
...
Fix code defects
2021-09-12 12:56:33 +08:00
Chocobo1
6de0622c1a
Merge pull request #15444 from Chocobo1/guard
...
Prevent self-assignment in assignment operator
2021-09-12 12:56:17 +08:00
Jesse Smick
6229b81730
WebUI: Add pieces progress bar to General tab
...
Closes #15292 .
PR #15418 .
2021-09-12 12:55:41 +08:00
Chocobo1
0783968121
Guard for null pointer
2021-09-11 11:54:01 +08:00
gxcreator
307f5e6e56
Initialize member fields
2021-09-11 11:53:41 +08:00
Chocobo1
cb29685a24
Use Qt macro to disable various constructors
2021-09-10 19:51:27 +08:00
Chocobo1
2efd4f2a77
Prevent self-assignment in assignment operator
2021-09-09 21:42:46 +08:00
Vladimir Golovnev
90296b3ef0
Add "Skip hash check" option for watched folders
...
Closes #15388 .
PR #15433 .
2021-09-09 07:00:51 +03:00
smigii
8f02fe0cc6
Elide text from the right for all columns' header
...
Minimizing columns no longer truncates text from the left, now elides
text from the right for better readability. Done by setting header's
textElideMode to Qt::TextElideRight.
Fix issue #14419 .
PR #15366 .
2021-09-08 11:47:55 +08:00
Chocobo1
7a6edcdddb
Fix broken behavior of "priority by shown file order"
...
Closes #15421 .
PR #15423 .
2021-09-07 11:47:13 +08:00
Chocobo1
81139c0098
Improve error detection when saving files
2021-09-05 12:20:22 +08:00
jagannatharjun
68133ec8e3
Correctly use fallback icons for RSS feed in GUI
2021-09-04 12:11:44 +05:30
jagannatharjun
314f92f2d8
Use DownloadRequest::destFileName for downloading RSS feed icons
2021-09-04 12:02:38 +05:30
jagannatharjun
8b5db328ec
Add DownloadRequest::destFileName
2021-09-04 12:02:38 +05:30
Prince Gupta
f2912c14ea
Stick Unread row to top in RSS feed list
...
PR #15397 .
2021-09-04 12:55:58 +08:00
Chocobo1
08f33d7e9e
Fix WebUI crash when tracker URL is invalid
...
Closes #15391 .
PR #15395 .
2021-08-31 11:53:42 +08:00
xavier2k6
c034cb5985
Remove Windows Vista support from manifest
...
PR #15394 .
2021-08-30 08:07:15 +03:00
Chocobo1
e3cd15dced
Remove unnecessary UI properties in "Add new torrent" dialog ( #15387 )
...
Closes #15383 .
2021-08-29 11:29:01 +08:00
sledgehammer999
2b501904cf
Bump to 4.4.0beta3
2021-08-29 01:53:02 +03:00
sledgehammer999
ea986a1f1b
Sync translations from Transifex and run lupdate
2021-08-29 01:51:47 +03:00
Chocobo1
b924357ea9
Specify Unicode for resource block ( #15370 )
...
The StringFileInfo block was using "1252 Multilingual", change it to
"1200 Unicode" for consistency.
https://docs.microsoft.com/en-us/windows/win32/menurc/stringfileinfo-block
Closes #15364 .
2021-08-26 11:30:53 +08:00
Vladimir Golovnev
b823d74ac3
Use "old file path" provided by libtorrent
...
Until libtorrent provided an "old_name" field in `file_renamed_alert` we relied
on a workaround with storing old file names to remove empty leftover folders.
PR #15356 .
2021-08-23 07:29:50 +03:00
Chocobo1
8d822f2cb4
Improve "last activity" calculation in WebAPI ( #15339 )
...
Co-authored-by: 秦风 <mayli.he@gmail.com>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2021-08-19 11:16:34 +08:00
Chocobo1
7dc7b95bfd
Merge pull request #15306 from Chocobo1/icon
...
Minor UI revise
2021-08-14 12:12:49 +08:00
Chocobo1
e006538514
Fix cmake script ( #15309 )
...
Fix up 138c911ef4
.
2021-08-11 13:26:15 +08:00
Chocobo1
526ee9c9db
Add tooltip to listening port spinbox
2021-08-10 12:24:50 +08:00
Chocobo1
a93cf04aca
Use default values for inconsequential fields
...
Or when the default value is actually what we want.
2021-08-09 13:37:48 +08:00
Chocobo1
e93a67e644
Use default upper limits for ddns entries
...
The default is 32767 which is larger than the previous artificial limit.
2021-08-09 13:14:51 +08:00
Chocobo1
b29a52dfa8
Use the same icon for selecting folders/files
...
As stated in Qt doc, the `QStyle::SP_DialogOpenButton` is only for a
button within QDialogButtonBox which means it isn't suitable elsewhere.
2021-08-09 13:14:14 +08:00
sledgehammer999
3e92e716b2
Merge pull request #15294 from sledgehammer999/accept_v2_infohash
...
Accept v2 infohashes for download
2021-08-08 12:29:04 +03:00
Chocobo1
138c911ef4
Add compile definition to indicate using of libtorrent 2.0 ( #15297 )
...
The compile definition is temporary which will be removed when qbt
ditches libtorrent 1.x.
2021-08-08 13:27:22 +08:00
sledgehammer999
e5fe6401a0
Accept v2 infohashes for download
...
Partially fixes #15287
2021-08-07 17:25:13 +03:00
Vladimir Golovnev
bed643e627
Delay processing of watched folders ( #15282 )
...
Fixes regression of #14882 .
Closes #15272 .
2021-08-07 12:33:29 +03:00
Mengyang Li
4ac25a50ed
WebUI: group trackers by hostname ( #15264 )
...
Closes #13608 .
2021-08-07 12:25:07 +08:00
Chocobo1
567848e94f
Work around missing function error
...
The fix comes from older version of MochaUI.
2021-08-05 16:03:18 +08:00
Chocobo1
221cbcc1ac
Update MochaUI to v0.9.7
...
Upstream: https://github.com/cdotyone/mochaui/blob/develop-0.9.8/Build/mocha.js
2021-08-05 16:03:07 +08:00
Chocobo1
dc2086dab4
Update clipboard.js to v2.0.8
2021-08-05 15:24:03 +08:00
Chocobo1
7be2a03c86
Update mootools to v1.6.0
2021-08-05 15:24:01 +08:00
Sylvain Finot
e87f8f5b93
Expose SSRF mitigation ( #15247 )
2021-08-04 11:28:36 +08:00
Chocobo1
11a063ea66
Merge pull request #15242 from Chocobo1/libt_version
...
Detect incompatible libtorrent v2 versions in build systems
2021-08-04 11:28:07 +08:00
sledgehammer999
1d26f4c5f7
Bump to 4.4.0beta2
2021-08-03 23:15:27 +03:00
sledgehammer999
8a09558ed8
Sync translations from Transifex and run lupdate
2021-08-03 23:14:08 +03:00
Daniel Aleksandersen
60b1e692b9
Disconnect comment links fom the WebUI ( #15251 )
2021-08-03 16:26:04 +08:00
Chocobo1
0a1865d0dd
Don't use old style cast
2021-08-01 13:48:46 +08:00
Chocobo1
7d7f967d5e
Detect incompatible libtorrent v2 versions in build systems
...
Although the detection is working, the error message in autotools is not
perfect, i.e. it would only mention valid range for libtorrent v1 and it
shouldn't be a problem since v2 support isn't fully ready yet.
2021-07-31 16:59:37 +08:00
Chocobo1
ce554e6c77
Merge pull request #15229 from Chocobo1/port
...
Use spinbox special value to represent "Use any available port"
2021-07-30 15:19:08 +08:00
AbeniMatteo
e4730191db
Set default file priorities when not specified ( #15190 )
2021-07-29 12:20:03 +08:00
Chocobo1
49aab492e0
Use spinbox special value to represent "Use any available port"
...
WebAPI functionality is preserved (deprecated) for now and should be
removed in the future.
2021-07-29 11:50:52 +08:00
Chocobo1
2d4d246268
Remember last viewed page in Options dialog ( #15230 )
2021-07-28 11:11:00 +08:00
Chocobo1
09e558ae0b
Revise checkbox label for "Use any available ports" functionality
...
Also reorder the checkboxes a bit.
2021-07-27 13:35:18 +08:00
Chocobo1
a3fd6633c4
Use default property for widgets
2021-07-26 12:20:46 +08:00
Vladimir Golovnev
1eb246c98b
Merge pull request #15181 from glassez/qt5
...
Raise minimum Qt version to 5.15.2
2021-07-23 06:22:57 +03:00
Chocobo1
96e0c0df20
Improve handling for magnet URI ( #15209 )
...
This add support for magnets URI in v2 hash format.
2021-07-22 13:05:59 +08:00
thalieht
aa8f420681
Recognise v2 info-hashes in clipboard for "Add torrent link" dialog ( #15206 )
2021-07-20 14:30:37 +03:00
Tom Piccirello
7974b5a95c
Support sorting Web UI tables via touch ( #15205 )
2021-07-19 14:28:04 +08:00
Vladimir Golovnev
ed4570cb4d
Store minimal metadata for "restore torrent" purposes ( #15191 )
...
We can no longer save valid torrent files in the general case, because
for torrents of version 2, we need a full merkle tree to do it, but if
a torrent is added from magnet link, full merkle tree may not be available
even before the end of downloading all the data. Actually, we don't need
the full torrent file for the purposes of resuming the torrent, so we can
allow libtorrent to produce only a minimal part of the metadata as part
complete resume data, but we still want to store it in a separate file,
so we extract the resulting metadata from the complete resume data before
saving and merge it together before loading.
2021-07-19 07:59:06 +03:00
AbeniMatteo
01d851440b
Add "Forced metadata downloading" state ( #15185 )
2021-07-17 21:33:14 +03:00
AbeniMatteo
e5943b64c1
Add filter "Checking" to side panel ( #15166 )
2021-07-16 14:08:10 +03:00
Kristof Mattei
140e73be4e
Use the URI's setData to set query data ( #15187 )
...
This allows the system to properly encode the '|', instead of passing
the '|' on in the URL, which is not allowed and breaks proxies such as
Authelia.
Then, for the purpose of generalization, I pushed this pattern through
to all places where we join items with a '|'.
This comes with the caveat that when we have individual components which
contain a '|' or any other character that is not allowed per the
HTTP standard, we still like to encode the individual components,
for example in the case of 3 strings, separated by a '|'.
If we don't do this we run into the risk that upon decoding URI finds
'|' in our original strings, which is something we don't want.
For example:
Sender:
````javascript
const arr = ["foo|1", "bar|2"];
const uri = new URI("test.html").setData(arr.join("|"));
````
Then on the receiving window, when it receives the uri and splits it, it
looks like this:
````javascript
const arr = new URI().getData('hashes').split('|');
// arr is now ["foo", "1", "bar", "2"]
````
This is why when we want to send a literal "|" we need to do
`encodeURIComponent` and `decodeURIComponent` manually on each item,
and THEN we join.
For example:
Sender:
````javascript
const arr = ["foo|1", "bar|2"];
const uri = new URI("test.html").setData(arr.map(encodeURIComponent).join("|"));
````
Receiver:
````javascript
const arr = new URI().getData('hashes').split('|').map(decodeURIComponent);
// arr is now ["foo|1", "bar|2"]
````
We don't need to with hashes as they are HEX, so no risk of any weird
characters in there.
2021-07-16 12:53:47 +08:00
Vladimir Golovnev (glassez)
925bf7715c
Disable functions deprecated in Qt 5.15.2 and earlier
2021-07-15 10:56:49 +03:00
Vladimir Golovnev (Glassez)
399d3ad85a
Replace QStringRef with QStringView
2021-07-15 10:56:49 +03:00