Chocobo1
e93de54eb5
Merge pull request #16099 from Chocobo1/errormsg
...
Revise error message
2022-01-15 12:01:55 +08:00
Vladimir Golovnev
43441d8291
Handle missing torrent alerts
...
PR #16085 .
2022-01-14 15:18:18 +03:00
Chocobo1
5ebbed8160
Revise error message
...
Remove the period mark at the end of error message since
`errc.message()` already contains one.
2022-01-14 14:48:41 +08:00
Vladimir Golovnev
5f623e32c4
Correctly handle XML parsing errors
...
PR #16071 .
2022-01-13 09:36:08 +03:00
Chocobo1
e4a67183bd
Update default value of "Type of service for peers"
...
Upstream change:
3d701c7380
PR #16036 .
2022-01-12 11:53:07 +08:00
Vladimir Golovnev
a3be239a60
Keep "torrent info" alive while generating .torrent file
...
PR #16018 .
2022-01-11 07:29:42 +03:00
Vladimir Golovnev
709a053c7c
Merge pull request #16009 from glassez/dont-move-into-itself
...
Don't try to move storage into its current location
2022-01-11 07:26:22 +03:00
Vladimir Golovnev
d39c6bef4b
Correctly handle Auto TMM in Torrent Files Watcher
...
PR #13690 .
2022-01-11 07:25:30 +03:00
Vladimir Golovnev
84a8158aa2
Correctly track the root folder name change
...
PR #16004 .
2022-01-11 07:24:24 +03:00
Vladimir Golovnev (Glassez)
fbc85bed64
Move torrent immediately when "save path" is changed
2022-01-10 08:18:34 +03:00
Vladimir Golovnev (Glassez)
52b54fe154
Don't try to move storage into its current location
2022-01-09 21:14:49 +03:00
Vladimir Golovnev
f44341a8e2
Handle .!qB extension behind the scenes
...
PR #15920 .
2022-01-08 08:45:50 +03:00
thalieht
d3bdeaab3f
Replace "seeding_duration" with "finished_duration" everywhere
...
Closes #10223 .
PR #13601 .
2022-01-07 15:22:51 +08:00
sledgehammer999
d6fc020ba7
Bump to 4.5.0alpha1
2022-01-06 20:47:06 +02:00
sledgehammer999
ac5a485651
Disambiguate the data type
2022-01-04 01:39:01 +02:00
sledgehammer999
0a1c61d9d3
Merge pull request #15922 from glassez/fix-paths
...
Correctly concatenate path components
2022-01-04 00:17:54 +02:00
Chocobo1
01a0fff4c2
Add missing field initial value
...
Suppresses the following warning:
qBittorrent/src/base/bittorrent/categoryoptions.cpp: In static member function ‘static BitTorrent::CategoryOptions BitTorrent::CategoryOptions::fromJSON(const QJsonObject&)’:
qBittorrent/src/base/bittorrent/categoryoptions.cpp:44:59: warning: missing initializer for member ‘BitTorrent::CategoryOptions::DownloadPathOption::path’ [-Wmissing-field-initializers]
44 | options.downloadPath = {downloadPathValue.toBool()};
2022-01-03 23:42:48 +02:00
Vladimir Golovnev (Glassez)
fdbf8cb0ee
Correctly concatenate path components
2022-01-03 19:44:47 +03:00
Vladimir Golovnev
61504ae3b1
Merge pull request #15793 from glassez/save-path
...
Redesign "Incomplete folder" feature
2022-01-02 22:25:00 +03:00
Vladimir Golovnev (Glassez)
1c0f8b4289
Redesign "Incomplete folder" feature
...
Change "Incomplete/temp folder" term with "download folder".
Allow to set "download folder" per torrent (in manual mode) and per category (in automatic mode).
2022-01-01 20:58:49 +03:00
Chocobo1
63043b4927
Replace min, max, clamp functions with std counterparts
2022-01-01 15:22:07 +08:00
Chocobo1
3ea4c66d41
Replace QPair with std::pair
2022-01-01 15:22:07 +08:00
Chocobo1
781d7fbf1a
Merge pull request #15884 from Chocobo1/migrate
...
Migrate "setting key mappings" to upgrade code
2021-12-25 14:05:52 +08:00
Chocobo1
39f054eef6
Migrate "setting key mappings" to upgrade code
2021-12-24 14:50:06 +08:00
Chocobo1
7a620c794d
Fix garbage message when reporting error
...
PR #15883 .
2021-12-24 12:28:22 +08:00
Vladimir Golovnev
5347897b7d
Merge pull request #15852 from glassez/torrent-info
...
Improve torrent content handling
2021-12-20 08:54:46 +03:00
Vladimir Golovnev (Glassez)
62b50d1475
Make TorrentInfo immutable
2021-12-19 16:16:16 +03:00
Chocobo1
aedd997604
Don't expire connection when there are data in buffer
...
For writing, this ensures expire handler won't be executed in a small
time window, that is after `m_socket->write()` and before
`QIODevice::bytesWritten()` signal.
For reading, this let the socket to have the chance to process the
received data instead of dropping it.
PR #15849 .
2021-12-18 12:28:30 +08:00
Chocobo1
87e1a14a4b
Merge pull request #15831 from Chocobo1/server
...
Improvements for WebAPI server
2021-12-16 13:38:05 +08:00
Chocobo1
ad9d0608d4
Avoid needless string-bytes conversion
...
This saves a few microseconds.
2021-12-14 13:52:34 +08:00
Chocobo1
3c5688c6f6
Reserve enough buffer space according to response content size
2021-12-14 13:52:34 +08:00
Chocobo1
ece92a886a
Restart idle timer on sending network response
2021-12-14 13:52:33 +08:00
Chocobo1
85777ea491
Simplify tray icon related code
2021-12-13 15:56:20 +08:00
Chocobo1
1c52fff1cc
Unify value loading paths
...
The idea is to try load every intermediate value from the base case and
then convert them to their respective type.
2021-12-11 01:45:49 +08:00
Chocobo1
2d48581570
Move main window setting to its own section
2021-12-11 01:45:49 +08:00
Chocobo1
b8a7ecfe69
Introduce versioning on main configuration file
2021-12-11 01:45:49 +08:00
Vladimir Golovnev
3d7ff9765a
Make meaning of "torrent root path" consistent
...
PR #15816 .
2021-12-09 06:12:47 +03:00
Chocobo1
28f2def21f
Remove redundant layer of QVariant
in Preferences
class
...
PR #15812 .
2021-12-07 12:17:37 +08:00
Chocobo1
e3fe66d3ec
Store enum type in settings directly
...
Affected settings will be migrated to new keys so nothing should break.
PR #15800 .
2021-12-06 13:53:52 +08:00
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
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
d78b2a569f
Fix handling when Content-Length field is absent
...
Closes #15754 .
PR #15757 .
2021-11-21 11:48:49 +08: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
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
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
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
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
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
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
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
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
bc71827c01
Improve torrent content handling
...
Hide .pad files.
PR #15468 .
2021-10-02 21:42:58 +03:00
Vladimir Golovnev (Glassez)
86b1ac5d7c
CMake: Allow to build with Qt6
2021-10-02 09:23:49 +03: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
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
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
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
gxcreator
307f5e6e56
Initialize member fields
2021-09-11 11:53:41 +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
Chocobo1
81139c0098
Improve error detection when saving files
2021-09-05 12:20:22 +08:00
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
sledgehammer999
2b501904cf
Bump to 4.4.0beta3
2021-08-29 01:53:02 +03: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
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
Sylvain Finot
e87f8f5b93
Expose SSRF mitigation ( #15247 )
2021-08-04 11:28:36 +08:00
sledgehammer999
1d26f4c5f7
Bump to 4.4.0beta2
2021-08-03 23:15:27 +03: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
09e558ae0b
Revise checkbox label for "Use any available ports" functionality
...
Also reorder the checkboxes a bit.
2021-07-27 13:35:18 +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
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
an0n666
73b39a8dec
Expose libtorrent max_concurrent_http_announces in advanced settings
2020-09-08 06:05:45 +06:00
Chocobo1
79bb8227d0
Migrate away from deprecated address::to_string(error_code)
...
The other overload require users to handle exceptions themselves.
2020-09-07 14:48:13 +08:00
Chocobo1
25a47dadeb
Migrate away from deprecated address::from_string()
2020-09-07 14:27:18 +08:00
Chocobo1
2a2ae2a566
Add helper function to convert to string from lt::socket_type_t type
2020-09-07 13:48:57 +08:00