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
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
Vladimir Golovnev (Glassez)
399d3ad85a
Replace QStringRef with QStringView
2021-07-15 10:56:49 +03:00
Vladimir Golovnev
699b91ab8d
Properly create "clean path" for watched folder ( #15179 )
2021-07-12 11:44:52 +03:00
Vladimir Golovnev (glassez)
27baa55443
Raise minimum Qt version to 5.15.2
2021-07-09 07:41:13 +03:00
Chocobo1
fd3d4d479a
Suppress type narrowing warning on MSVC
...
Fix up 45e31a153c
.
2021-07-08 14:25:39 +08:00
Chocobo1
45e31a153c
Reserve space for vector
2021-07-07 14:20:27 +08:00
Chocobo1
7c23d800e6
Use underlying_type
member directly
...
`LTUnderlyingType` served as a intermediate type for libtorrent 1.1 and
1.2 and is obsoleted now.
Also add helper to convert to underlying type.
2021-07-07 14:19:17 +08:00
Vladimir Golovnev
5d03917877
Use torrent info with hashes for creating .torrent file ( #15138 )
2021-07-04 09:29:34 +03:00
Vladimir Golovnev (Glassez)
d2f975a0f3
Don't forget to start "watch timer"
2021-07-02 08:34:31 +03:00
Chocobo1
eedd47860a
Merge pull request #15142 from Chocobo1/warning
...
Use proper signed number type
2021-07-01 11:35:04 +08:00
Chocobo1
365554d064
Use proper signed number type
...
This also suppress the compiler warning:
src/base/bittorrent/torrentimpl.cpp:228:36: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]
2021-06-29 18:04:33 +08:00
Chocobo1
70d1cb86fd
Disable move constructor where it is sensible
2021-06-29 14:49:45 +08:00
FranciscoPombal
ccb7c0d579
Raise minimum libtorrent version to 1.2.14 (2.0.4)
...
- Also update vcpkg to latest commit: includes libtorrent 1.2.14,
Qt 5.15.2, and Qt 6.1.1
2021-06-28 23:04:47 +01:00
Andrei Stepanov
5157e4965a
Remove excess space
2021-06-27 13:01:03 +04:00
sledgehammer999
3ffd25f9e1
Bump to 4.4.0beta1
2021-06-26 21:05:44 +03:00
Vladimir Golovnev
37f227ae74
Provide v1 and v2 infohashes in UI ( #15097 )
2021-06-25 20:44:23 +03:00
HiFiPhile
f5315d9ba7
Add WebUI reverse proxy source IP resolution ( #15047 )
...
Co-authored-by: qix67
Co-authored-by: HiFiPhile <admin@hifiphile.com>
2021-06-23 09:01:36 +03:00
Vladimir Golovnev (Glassez)
124cc9621d
Delete LoadTorrentParams when load torrent failed
2021-06-22 21:36:42 +03:00
Vladimir Golovnev (Glassez)
3faa7226e7
Handle exception when torrent file cannot be exported
...
Both `lt::create_torrent` constructor and `lt::create_torrent::generate()`
can throw an exception so we need to handle it to prevent the app from crashing.
2021-06-22 21:36:42 +03:00
Vladimir Golovnev (Glassez)
6070b41c9b
Properly add torrent with new tags
...
First, an attempt is made to add new tags to the Session.
Closes #15105 .
2021-06-18 06:29:15 +03:00
Vladimir Golovnev
5c0378a684
Merge pull request #15029 from glassez/qt-5.14
...
Raise minimum Qt version to 5.14
2021-06-14 16:48:15 +03:00
Kacper Michajłow
ccb59fbad3
Suppress C4267 conversion warnings ( #13307 )
...
- warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
Caused by mismatch between size_type of std and Qt containers. It is safe to cast to int as all of those containers hold low number of objects.
2021-06-11 08:51:06 +03:00
Vladimir Golovnev (Glassez)
6c66d02aff
Declare AbstractFileStorage destructor virtual
2021-06-10 09:19:04 +03:00
Vladimir Golovnev (Glassez)
97c7f3bc67
Raise minimum Qt version to 5.14
2021-06-03 08:56:41 +03:00
LoneDev
d335f263f3
Fix comment typo in algorithm.h ( #15030 )
2021-05-29 11:30:47 +08:00
Vladimir Golovnev (Glassez)
b6a35e9477
Don't log any error when "queue" file doesn't exist
2021-05-27 18:27:41 +03:00
Vladimir Golovnev (Glassez)
6aa8251b98
Provide correct error description in "upload mode"
2021-05-27 18:27:40 +03:00
sledgehammer999
34be8c9213
Merge pull request #14934 from sledgehammer999/translations
...
Update Qt translations and add new qbt translations
2021-05-23 21:59:29 +03:00
Chocobo1
40f6201509
Merge pull request #14976 from Chocobo1/options
...
Add `connection_speed` to advanced settings
2021-05-23 14:27:34 +08:00
zhuangzi926
2e8e2b04a1
Announce to all trackers if IP changed ( #15001 )
...
Closes #14545 .
2021-05-23 14:26:54 +08:00
Chocobo1
c64e433a69
Remove unused parameter
2021-05-21 14:44:19 +08:00
Chocobo1
e21f46d824
Avoid data duplication
2021-05-21 14:38:06 +08:00
Chocobo1
ef79546508
Add connection_speed
to advanced settings
...
Now we follow libtorrent current default value 30.
Closes #6973 .
Also bump WebAPI version.
2021-05-21 14:37:57 +08:00
Vladimir Golovnev (Glassez)
2993fdb169
Improve "Watched folders" feature
...
Make "file system watcher" an application core component
and separate it from its presentation model.
2021-05-19 15:42:41 +03:00
Vladimir Golovnev (Glassez)
9565b695ef
Unify custom exceptions
2021-05-18 08:40:05 +03:00
Vladimir Golovnev (Glassez)
89cedd411e
Allow add torrents with relative save path
...
The relative save path will be resoloved against the default one.
2021-05-18 07:43:53 +03:00
An0n
ea3b897d5d
Bump file pool size ( #14966 )
2021-05-14 08:57:01 +08:00
sledgehammer999
2c47cfbe25
Add new languages
...
* Mongolian
* Persian
* Thai
2021-05-07 22:53:13 +03:00
Chocobo1
a82ca6adb2
Fix potential data race
...
This case could be considered benign however it could still be an
undefined behavior to the compiler, so remove it.
Ref:
https://hacks.mozilla.org/2021/04/eliminating-data-races-in-firefox-a-technical-report/
2021-05-07 15:50:33 +08:00
Chocobo1
05e3e46f5a
Throw the exact (same) exception
2021-05-07 15:49:19 +08:00
Chocobo1
c9a552c89c
Merge pull request #14861 from Chocobo1/warnings
...
Initialize struct members by default
2021-05-02 11:26:30 +08:00
Vladimir Golovnev (Glassez)
383eaf44ac
Implement DBResumeDataStorage class
2021-05-01 12:30:53 +03:00
Chocobo1
bdf2f6c3e1
Initialize struct members by default
...
This is to suppress the following compilation warnings:
base/bittorrent/magneturi.cpp: In constructor ‘BitTorrent::MagnetUri::MagnetUri(const QString&)’:
base/bittorrent/magneturi.cpp:87:60: warning: missing initializer for member ‘BitTorrent::TrackerEntry::message’ [-Wmissing-field-initializers]
87 | m_trackers.append({QString::fromStdString(tracker)});
2021-04-27 11:48:13 +08:00
Chocobo1
fdc186c92f
Revise tag related implementations
...
Fix #12690 .
2021-04-27 11:47:52 +08:00
Vladimir Golovnev
376dedebb1
Merge pull request #14816 from glassez/tracker-entry
...
Improve "tracker entries" handling
2021-04-22 19:03:49 +03:00
Vladimir Golovnev (Glassez)
75e0990eb3
Provide tracker peers count via TrackerEntry
...
Don't expose additional accessor in Torrent interface.
2021-04-21 08:46:05 +03:00
Vladimir Golovnev (Glassez)
62a6c725d6
Don't overwrite tracker message
...
Use one of the tracker endpoint messages.
2021-04-21 08:45:09 +03:00
Vladimir Golovnev (Glassez)
d4554c2e5c
Correctly handle "no enough disk space" error
...
If torrent failed to write, it stops downloading and goes to
"upload mode" instead of errored state so it just keeps seeding.
Now qBittorrent indicates this state as "errored" and allows
the user to manually bring the torrent out of this state.
2021-04-21 08:27:56 +03:00
Chocobo1
cb8d6a0939
Reorder peer flags
...
Now we group related flags nearby.
2021-04-18 12:46:07 +08:00
Chocobo1
e38128119c
Capitalize "peer flags" descriptions
...
And use a helper function to build the descriptions.
2021-04-18 12:45:18 +08:00
Chocobo1
b5a24fd877
Merge pull request #14794 from zhuangzi926/pr-dyndns-register-url
...
Update dyndns register url
2021-04-17 11:44:51 +08:00
zhuangzi926
c9e2da5f53
Update dyndns register url
2021-04-15 21:41:42 +08:00
Chocobo1
53b7956968
Clean up code
...
and remove unused parameters/variables.
2021-04-15 11:29:22 +08:00
Chocobo1
d82a1d7198
Merge pull request #14717 from Chocobo1/ncmp
...
Simplify natural sort classes interface
2021-04-13 14:22:25 +08:00
Chocobo1
a64bb1a990
Simplify natural sort classes interface
...
Now the comparison function/class should be constructed before usage.
This change also make it easier to plug in into various containers which
will require a compare function type (such as std::set).
2021-04-10 14:18:18 +08:00
Vladimir Golovnev (Glassez)
4a68df084e
Enclose strings in QLatin1String
2021-04-08 06:56:40 +03:00
Chocobo1
0b3d088782
Merge pull request #14676 from Chocobo1/watcher
...
Revise folder monitoring functions in WebUI
2021-04-03 13:19:29 +08:00
Vladimir Golovnev
6514eaf565
Merge pull request #14688 from glassez/file-prio
...
Correctly forward declare file_prio_alert
2021-04-02 11:45:50 +03:00
Vladimir Golovnev (Glassez)
f8e7602d96
Correctly forward declare file_prio_alert
2021-04-02 08:29:23 +03:00
Vladimir Golovnev
565aef9637
Merge pull request #14630 from glassez/save-resume
...
Improve ResumeDataStorage
2021-04-02 06:48:32 +03:00
Vladimir Golovnev
825bf8d61e
Merge pull request #14657 from glassez/file-prio
...
Save "resume data" once file priority is changed
2021-04-01 06:32:17 +03:00
Vladimir Golovnev (Glassez)
1344b31535
Improve ResumeDataStorage
2021-03-31 11:56:36 +03:00
Chocobo1
8a087a876e
Clean up code
2021-03-31 11:27:57 +08:00
Vladimir Golovnev (Glassez)
cd6959b712
Save "resume data" once file priority is changed
2021-03-30 19:59:05 +03:00
Vladimir Golovnev
2d1c34d8e0
Merge pull request #14593 from glassez/qt6-compat
...
Make current codebase more compatible with Qt6
2021-03-29 14:00:23 +03:00
Vladimir Golovnev (Glassez)
a93391e247
Drop QNetworkConfigurationManager usage
2021-03-27 19:44:34 +03:00
Vladimir Golovnev (Glassez)
a230228441
Don't compare bool with int
...
In Qt6 QHash::remove() returns bool to indicate operation status.
2021-03-27 19:29:53 +03: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
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
Vladimir Golovnev (Glassez)
1a9e97ee3b
Don't cause QHash relayout while using reference to its node
2021-03-23 13:17:36 +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 (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
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
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)
560239c918
Improve "save resume data" handling
2021-03-17 07:31:00 +03:00
Vladimir Golovnev (Glassez)
349cc54c69
Don't use deprecated QTextCodec
2021-03-16 19:10:10 +03: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
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 (Glassez)
e2c785b2d5
Accept "share limits" when adding torrent using WebAPI
2021-03-09 20:01:15 +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
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
f00f552369
Properly stop torrent creation if aborted
...
Closes #11346 .
2021-03-04 14:54:02 +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
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
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
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
6a45919b25
Clean up coding style
2021-02-07 16:08:20 +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
dyumin
12d396ffc5
Treat errored torrents as finished
2021-01-29 12:36:25 +03:00
an0n666
24d7d599f1
Validate HTTPS Tracker Certificate by default
2021-01-20 13:33:10 +06: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
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)
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
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
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
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
Mike Tzou
b79a1b5755
Merge pull request #14145 from Chocobo1/define
...
Generate version header when configuring project
2021-01-06 11:38:55 +08: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
bdf1fb6db8
Revise store/load state operations of Options Dialog
2021-01-02 13:25:23 +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
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
Chocobo1
5bd6ff2285
Migrate away from deprecated std::iterator
class
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
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
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
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
Chocobo1
4180db601d
Use a helper function to look up stat indexes
2020-12-24 23:20:21 +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
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
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
Vladimir Golovnev (Glassez)
a93b675cb8
Search for existing files in separate thread
2020-12-03 07:58:34 +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
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
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style
2020-11-17 21:02:37 +03:00
sledgehammer999
6ec07d744e
Add Latgalian translation
...
Closes #12415
2020-11-16 20:26:54 +02:00
Chocobo1
0be2567d97
Don't use deprecated torrent state "allocating"
...
Closes #13737 .
2020-11-12 00:17:42 +08:00
Vladimir Golovnev (Glassez)
85bd0feee0
Handle torrent "paused" state at application level
2020-11-02 10:09:14 +03:00
Mike Tzou
b249216db6
Merge pull request #13659 from FranciscoPombal/whitespacev2
...
File health: trailing newlines, whitespace, etc fixes and GitHub Actions workflow
2020-11-02 11:33:21 +08:00
Chocobo1
7ddd5e9bc3
Remove unused function
2020-11-01 14:25:33 +08:00
NotTsunami
a5f8f1f0f5
Fix mingw64 build error
...
mingw64 defines interface, so revert back to previous naming scheme
Fixes: 87864531ab
Closes #13649
2020-10-29 18:25:19 -04:00
FranciscoPombal
4bdf9eda41
Fix extra/missing trailing new lines in files
2020-10-28 14:20:18 +00:00
Vladimir Golovnev
571aaea3e0
Merge pull request #13658 from glassez/recheck
...
Don't resume "paused" torrents when put into "checking" state by libtorrent
2020-10-28 08:45:35 +03:00
Vladimir Golovnev (Glassez)
80ca7796ca
Fix torrent state calculation
2020-10-27 17:41:40 +03:00
Vladimir Golovnev (Glassez)
9f0edde12b
Don't resume "paused" torrents when checking by libtorrent
2020-10-26 11:08:22 +03:00
Chocobo1
480832318c
Add support for tracker scrape in libtorrent 2.0
2020-10-26 00:37:53 +08:00
Chocobo1
7a3e397949
Migrate away from deprecated functions in libtorrent 2.0
2020-10-26 00:37:53 +08:00
Chocobo1
c95e450b8d
Improve compatibility with libtorrent 2.0
...
In libtorrent 2.0, the `connection_type` was changed to a flag type and
hence it cannot be used in a switch statement directly. Also our use of
`connection_type` is limited so that a single equality comparison
would cover all of our use cases.
2020-10-26 00:36:59 +08:00
Mike Tzou
172eda5471
Merge pull request #13620 from Chocobo1/qhash
...
Move qHash helper for libtorrent types to its own file
2020-10-24 12:34:26 +08:00
Chocobo1
3971a12f0e
Remove redundant checking before remove
2020-10-23 12:58:57 +08:00
Chocobo1
70c4eb44fd
Fix class name
2020-10-23 12:58:11 +08:00
Vladimir Golovnev (Glassez)
92c6fc04a8
Prevent resume data to be saved for removed torrent
2020-10-22 20:16:52 +03:00
Chocobo1
71827fe4e6
Move qHash helper for libtorrent types to its own file
2020-10-22 03:12:48 +08:00
Mike Tzou
39c61327b5
Merge pull request #13567 from Chocobo1/typo
...
Fix typos
2020-10-21 11:04:17 +08:00
Chocobo1
7e258bfe38
Fix typos
2020-10-20 18:56:30 +08:00
Andrei Stepanov
04306a544f
Fix typo in connection.cpp
...
limiation -> limitation
2020-10-20 11:10:51 +04:00
Vladimir Golovnev
720c1c8216
Merge pull request #13395 from glassez/disk_io
...
Implement disk IO thread wrapper
2020-10-17 12:53:25 +03:00
lbilli
1c7bfcac46
Don't create 'data' subdirectory on Linux
2020-10-15 14:02:28 -04:00
Anton Bershanskiy
b4bfdd6f7a
Add option for hashing_threads, use 10 asyc IO threads
...
Add option for setting lt::settings_pack::hashing_threads
introduced by libtorrent 2.0. It has no effect for earlier
libtorrent versions.
Use 10 async IO threads, as per #11461 .
Closes #11461 .
2020-10-13 00:58:13 +03:00
Chocobo1
19d77b0881
Add support for creating v2 torrents
2020-10-10 23:21:26 +08:00
Vladimir Golovnev
bad5e1f887
Merge pull request #12086 from FranciscoPombal/code-cleanup
...
Clean ups
2020-10-09 07:13:18 +03:00
FranciscoPombal
2c10b3936b
Change some types (uint -> int) in RSS subsystem
2020-10-07 23:26:13 +01:00
FranciscoPombal
deffdbe881
Change some types (uint -> int) in Session class
2020-10-07 23:26:13 +01:00
FranciscoPombal
87864531ab
Clean up in Session class
2020-10-07 23:26:13 +01:00
FranciscoPombal
f502f60f7c
Avoid unessary QString allocation
2020-10-07 15:34:26 +01:00
Mike Tzou
2bfaa8229a
Merge pull request #13431 from Chocobo1/namespace
...
Fix code defects
2020-09-26 11:20:10 +08:00
Chocobo1
ef9765cea1
Remove meaningless const on pointers
...
This only apply to signals.
2020-09-25 15:13:14 +08:00
Chocobo1
ac3ab2432a
Remove redundant namespace prefix
2020-09-25 15:10:20 +08:00
Chocobo1
f487d32594
Fix initialization order
2020-09-25 12:25:09 +08:00
Mike Tzou
1a3091a980
Merge pull request #13419 from silverqx/patch-1
...
Fix fully-qualified-moc-types clazy warning
2020-09-22 22:34:52 +08:00
Silver Zachara
97df5667e7
Use fully-qualified type names
...
Fixed fully-qualified-moc-types clazy warnings
2020-09-21 18:30:02 +02:00
Mike Tzou
c3b5668a07
Merge pull request #12577 from NotTsunami/peer
...
Allow users to configure no_connect_privileged_ports
2020-09-22 00:02:20 +08:00
NotTsunami
2eb3ff7f06
Allow users to configure no_connect_privileged_ports
...
Don't hardcode lt::settings_pack::no_connect_privileged_ports. We
support the peer alert for it already, so connections blocked by this
setting should be logged.
2020-09-20 22:46:28 -04:00
Vladimir Golovnev
04d345251e
Merge pull request #13400 from glassez/sequential
...
Improve sequentialDownload/firstLastPiecePriority handling
2020-09-20 08:00:33 +03:00
FranciscoPombal
2534909d3b
CMake: fix linking against OpenSSL
...
This should have been there from the start,
but for some reason, the lack of it didn't cause any issued
for many systems.
2020-09-18 17:53:14 +01:00
Vladimir Golovnev (Glassez)
39d32063c1
Implement disk IO thread wrapper
2020-09-18 15:56:29 +03:00
Vladimir Golovnev (Glassez)
ff36356be0
Improve sequentialDownload/firstLastPiecePriority handling
...
Always store firstLastPiecePriority in resume data.
Don't recalculate firstLastPiecePriority value each time it is accessed.
Always store sequentialDownload in resume data as native libtorrent field.
2020-09-18 13:33:55 +03:00
FranciscoPombal
46123b9989
CMake: overhaul and improve scripts
...
- Bump minimum required version and
make use of more modern language features
- Rely more on target_...() commands to establish dependency
relationships between targets rather than directory property commands
- Improve libtorrent package discovery
- Enable and handle application features more explicitly
- Improve user-facing output
- Fix various compilation issues on Windows (MSVC and MinGW) and macOS
- Improve handling of translations
- Add explanatory comments where relevant
- Make CMake scripts fully independent of qmake files/details
- Remove old functions/macros
2020-09-17 13:13:26 +01:00
FranciscoPombal
e0c62827a8
Fix peer blocked message
2020-09-16 16:59:51 +01:00
Mike Tzou
49e55d5a5d
Merge pull request #13268 from ngosang/feature/python35-
...
Update minimum Python version to 3.5.0
2020-09-14 12:03:20 +08:00
Chocobo1
8cfac795c6
Avoid using libtorrent internal functions
...
`char const* socket_type_name(socket_type_t);` is decided to be not
exported and thus it is internal:
https://github.com/arvidn/libtorrent/pull/4859/files#r452925563
2020-09-13 12:22:31 +08:00
Mike Tzou
8d57a6527b
Merge pull request #13355 from Chocobo1/allocate
...
Enable faster disk space allocation by default
2020-09-12 23:39:49 +08:00
Mike Tzou
2d1855dc05
Merge pull request #13354 from Chocobo1/libt2
...
Disable deprecated settings in libtorrent 2.0
2020-09-12 11:02:12 +08:00
Chocobo1
01603c1f62
Enable faster disk space allocation by default
...
In libtorrent > 2.0, the setting is turned off by default, now we just
re-enable it to preserve the behavior as in earlier versions.
2020-09-10 22:12:35 +08:00
Chocobo1
2fd69a21b0
Initialize session with session_params
class
...
The old way of initialization is deprecated in libtorrent 2.0.
2020-09-09 16:16:08 +08:00
Chocobo1
554eab50bb
Disable deprecated libtorrent settings
2020-09-09 16:16:08 +08:00
Vladimir Golovnev
defdd5121c
Merge pull request #13340 from glassez/fix-magnet
...
Improve adding torrent using Magnet URI
2020-09-09 10:06:39 +03:00
Mike Tzou
c967bf31ff
Merge pull request #13336 from Chocobo1/webui
...
Minor WebUI improvements
2020-09-09 11:48:55 +08:00
Mike Tzou
6e971c47e7
Merge pull request #13319 from an0n666/tracker-queue
...
Expose libtorrent max_concurrent_http_announces in advanced settings
2020-09-09 11:48:25 +08:00
Vladimir Golovnev (Glassez)
20206ec92a
Improve adding torrent using Magnet URI
...
Closes #13249 .
2020-09-08 14:56:38 +03:00
Chocobo1
2f1016494b
Specify UTF-8 charset when forming data from plain text
...
This suppresses a browser warning about unspecified character encoding
of an HTTP response.
2020-09-08 14:30:55 +08:00