Commit graph

1188 commits

Author SHA1 Message Date
Mike Tzou
46d445d042
Merge pull request #10792 from Chocobo1/rename2
Remove empty leftover folders after rename properly
2019-06-16 12:22:22 +08:00
Chocobo1
a64f3bbc6a
Reorder if conditions slightly 2019-06-15 19:08:24 +08:00
Chocobo1
9893a415c0
Fix updated save path not saved for paused torrents 2019-06-15 19:08:23 +08:00
Chocobo1
7d860b6c24
Log save_resume_data_failed_alert 2019-06-15 19:08:23 +08:00
Chocobo1
4e87aebf55
Don't remove parent directories
QDir::rmpath removes *all* parent directories while QDir::rmdir removes
the specified directory.
2019-06-15 19:08:23 +08:00
Chocobo1
440860c4a9
Properly remove empty leftover folders after rename
TorrentInfo::origFilePath will return the very original path from
.torrent file, not the most recent file path before the rename operation
and thus the code would not be working as we expected.
2019-06-15 19:08:23 +08:00
Chocobo1
89124bdcc8
Add WebAPI session timeout settings
Raise default timeout to 1 hour.
2019-06-15 18:57:19 +08:00
silverqx
4f4f435e76
Add zlib version to GUI & stackdump 2019-06-12 08:02:24 +02:00
Chocobo1
8191f1498a
Log file rename failed errors 2019-06-09 19:07:43 +08:00
Mike Tzou
63b0a5b78c
Merge pull request #10775 from Chocobo1/speed
Misc. improvements
2019-06-09 01:57:20 +08:00
Mike Tzou
c95650c4f3
Merge pull request #10752 from thalieht/fw-declare
Forward declare and remove some unused #include
2019-06-06 10:18:26 +08:00
Chocobo1
431e7179ac
Remove redundant variable 2019-06-06 00:20:57 +08:00
Chocobo1
fbd5699786
Use switch statement 2019-06-06 00:15:09 +08:00
thalieht
70f8882f87 Group Qt forward declarations separately from the others 2019-06-04 17:48:55 +03:00
thalieht
9995967fbf Remove some unused #include 2019-06-04 17:48:55 +03:00
thalieht
4370a7eb12 Forward declare in a few places 2019-06-04 17:48:55 +03:00
Vladimir Golovnev
6f6033cf1c
Merge pull request #10754 from glassez/fix-magnet
Disable "Upload mode" when start preloaded torrent. Closes #10751
2019-06-04 10:56:11 +03:00
Vladimir Golovnev (Glassez)
b644d6685f
Disable "Upload mode" when start preloaded torrent 2019-06-04 07:14:21 +03:00
Vladimir Golovnev (Glassez)
4ae4ae3cfc
Fix wrong indentation 2019-06-04 06:55:45 +03:00
Vladimir Golovnev (Glassez)
2c145fa57c
Fix incorrectly set torrent startup flag 2019-06-04 06:53:17 +03:00
Mike Tzou
b8e205c048
Merge pull request #10741 from Chocobo1/limit
Fix speed limit not applying to IPv6 peers
2019-06-04 11:09:16 +08:00
Vladimir Golovnev
ecb4a76db7
Merge pull request #10742 from glassez/fix-rss
Ignore RSS articles with non-unique identifiers
2019-06-03 17:26:57 +03:00
Vladimir Golovnev (Glassez)
68ee071331
Ignore RSS articles with non-unique identifiers 2019-06-02 13:30:00 +03:00
Vladimir Golovnev (Glassez)
d710bbd9ef
Perform more RSS parsing in working thread 2019-06-02 13:29:41 +03:00
Chocobo1
411b956009
Fix speed limit not applying to IPv6 peers
`TORRENT_USE_IPV6` is not used by libtorrent 1.2 anymore.
2019-06-02 15:00:27 +08:00
Chocobo1
3f2ce8a2b7
Remove unused stats_alert handler
Fixup 0fe9cd05c4.
2019-06-01 11:43:00 +08:00
Chocobo1
39830986c2
Use alert's timestamp
This way has better accuracy than running our own timer.
2019-06-01 11:40:23 +08:00
Chocobo1
0fe9cd05c4
Avoid using deprecated stats_alert
From libtorrent doc:
This alert has been superseded by calling post_torrent_updates() regularly on the session object.
2019-05-31 10:58:23 +08:00
Mike Tzou
db88c2d6a5
Merge pull request #10721 from Chocobo1/sort
Fix wrong comparison result
2019-05-31 10:50:55 +08:00
Mike Tzou
bb3634c382
Merge pull request #10711 from Chocobo1/alert
Log performance alerts from libtorrent
2019-05-31 10:50:03 +08:00
Vladimir Golovnev (Glassez)
05fd0b5859
Fix sequential downloading when redirected 2019-05-29 15:50:02 +03:00
Chocobo1
36cf689432
Fix wrong comparison result
The QString::toInt() might overflow when the string is long.

Closes #10706.
2019-05-29 00:03:04 +08:00
Chocobo1
45bafab4e0
Log performance alerts from libtorrent 2019-05-27 14:46:33 +08:00
Chocobo1
9232dd30dc
Sort function declarations 2019-05-27 09:29:59 +08:00
Chocobo1
1b0ffd7781
Fix wrong logic
The error is caused by silly copy-paste error.
Fixup 09ff735007.
2019-05-25 14:55:27 +08:00
Chocobo1
09ff735007
Use newer libtorrent API
This commit covers trackerentry.cpp only.
2019-05-25 11:22:57 +08:00
Chocobo1
ed6bb0efdc
Replace QList by QVector for tracker related operations 2019-05-22 12:57:22 +08:00
Chocobo1
cb4c53c848
Follow the type used in libtorrent 2019-05-19 18:51:09 +08:00
Chocobo1
e92209475e
Use range-based for loops 2019-05-19 18:51:09 +08:00
Chocobo1
10e1c35998
Avoid unnecessary double lookup 2019-05-19 12:06:18 +08:00
Chocobo1
c75500670d
Use forwarding reference when passing function objects
So instead of passing every function objects by value (a copy is made), now function objects
will be handled properly by reference (for lvalues) or by value (for rvalues).
2019-05-19 12:06:18 +08:00
Chocobo1
6738cdd715
Constify exception references 2019-05-19 12:06:18 +08:00
Chocobo1
e288de7ec1
Forward declare as much as possible 2019-05-19 12:06:18 +08:00
Chocobo1
401bdbf3d9
Remove unused functions 2019-05-19 12:06:18 +08:00
Chocobo1
ff707ea5af
Change splitToViews() return type to QVector 2019-05-19 12:06:18 +08:00
Mike Tzou
3d6dccc689
Merge pull request #10627 from Chocobo1/alg
Improve removeIf() to support other types
2019-05-16 10:45:55 +08:00
Chocobo1
459cdf6071
Fix assertion fail
When fileSize == 0, the second index could be smaller than the first index,
thus trigger the assert check in IndexInterval constructor.

Closes #10611.
2019-05-15 10:22:21 +08:00
Evgeny Lensky
62c72091ce
Change "Add new torrent" dialog to horizontal layout 2019-05-14 11:03:56 +08:00
Chocobo1
c6f3da1097
Improve removeIf() to support set types
We can now replace QMutable*Iterator by removeIf() which usage is more consistent with other
algorithm functions.
2019-05-14 01:26:01 +08:00
Chocobo1
5aaf040300
Remove libtorrentfwd.h 2019-05-13 11:20:42 +08:00
Chocobo1
3955eef50d
Change to lt namespace
Quoting from libtorrent doc:
> In the future, libtorrent will be the alias and lt the namespace name.
2019-05-13 11:20:41 +08:00
Chocobo1
4b263f057d
Use newer libtorrent API
This commit covers session.cpp only.
2019-05-13 11:20:41 +08:00
Chocobo1
677a419f0b
Use upstream defined namespace
`lt` namespace is defined since libtorrent 1.1.6 and our master branch requires >= 1.1.10,
so there is no need to add #if condition for it.
2019-05-13 11:20:41 +08:00
Vladimir Golovnev
af7d8f6a43
Merge pull request #10514 from Mataniko/rss-enclosure-type
Download RSS "enclosure" element if no proper MIME type is found
2019-05-11 13:31:46 +03:00
Chocobo1
bd8d70bf60
Refactor HTTP query parsing 2019-05-09 12:41:30 +08:00
Chocobo1
69d29af097
Fix '+' char not decoded to space correctly
Closes #10606.
2019-05-09 11:17:41 +08:00
Matan Bareket
bd2d636bb5 Download RSS enclosure element if no proper MIME type is found
In the case where an RSS feed doesn't have the "enclosure" element
with type "application/x-bittorrent", fallback to the last enclosure
element which has no "type" attribute.
2019-05-08 13:46:13 -04:00
Chocobo1
ae793b7395
Use upstream defined namespace alias 2019-05-06 20:26:15 +08:00
Chocobo1
56434fc8b9
Replace obsoleted QDateTime::fromTime_t() 2019-05-06 20:26:15 +08:00
Chocobo1
3f962ba336
Fix displaying invalid creation date
The bug is only observed when using libtorrent 1.2.
2019-05-06 20:26:14 +08:00
Chocobo1
3f10ac55a3
Migrate to update-to-date libtorrent functions 2019-05-06 20:26:14 +08:00
Chocobo1
aaed5f7fe0
Remove unused headers 2019-05-01 11:09:25 +08:00
Chocobo1
44e4a5b13a
Avoid performance penalty from type erasure
On average the affected code path is 0.1% faster and the result binary
is 10 KB smaller.
2019-05-01 11:09:25 +08:00
Mike Tzou
7db2d1b8cf
Merge pull request #10492 from Chocobo1/server
Remove closed connections immediately
2019-04-16 12:25:40 +08:00
Mike Tzou
c7f89f55d0
Merge pull request #10473 from Chocobo1/warning
Fix unsafe type narrowing (MSVC C4267 warning)
2019-04-16 12:23:30 +08:00
Chocobo1
a2a669572c
Use QSet for tracking server connections
We don't need to maintain order between connections so QSet would be more suitable.
2019-04-15 21:35:35 +08:00
Chocobo1
a35b6cc8dd
Remove closed connections immediately
Previously it relied on a timer to drop dead connections but that proved to
be too slow when there is an incoming burst of connections.

Fixes #10487.
2019-04-15 21:35:10 +08:00
Chocobo1
41773a5465
Fix unsafe type narrowing
Appending the warning below:
qBittorrent\src\base/utils/version.h(176): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
qBittorrent\src\base/utils/version.h(185): note: see reference to function template instantiation 'std::array<T,2> Utils::Version<T,2,2>::parseList<StringsList>(const StringsList &)' being compiled
        with
        [
            T=unsigned short,
            StringsList=QList<QByteArray>
        ]
2019-04-15 20:23:26 +08:00
Mike Tzou
19dfec1e0a
Merge pull request #10464 from thalieht/torrent-size-limit
Increase the download request size limit from 10 to 100 MiB
2019-04-11 10:14:49 +08:00
thalieht
2f3b7642c2 Show user friendly size in error 2019-04-10 11:39:27 +03:00
thalieht
25102b9c5d Increase the download size limit to 100 MiB 2019-04-10 11:39:27 +03:00
Chocobo1
d86a984e25
Correctly handle '+' sign in x-www-form-urlencoded data
Fixes #10451.
2019-04-07 13:58:16 +08:00
Vladimir Golovnev (Glassez)
ead078a38e
Add preliminary support of libtorrent v1.2
libtorrent v1.2 should be built with deprecated features enabled.
2019-03-18 15:17:03 +03:00
Mike Tzou
d1b0c230ed
Merge pull request #10366 from Chocobo1/logger
Avoid performance penalty when logger is full
2019-03-17 15:04:53 +08:00
Chocobo1
04fd6e9d04
Avoid performance penalty when logger is full 2019-03-15 14:29:06 +08:00
thalieht
4c53447d35 Remove the max half-open connections option from GUI
Its functionality was deprecated long ago.
2019-03-13 21:08:40 +02:00
Vladimir Golovnev
928ce940c9
Merge pull request #10346 from glassez/download-manager
Improve "Download manager"
2019-03-10 09:13:07 +03:00
Vladimir Golovnev (Glassez)
4ee6a0ba29
Use Qt-provided HTTP redirection handling 2019-03-08 13:06:42 +03:00
Vladimir Golovnev (Glassez)
746916a963
Use DownloadHandler behind the scenes 2019-03-08 13:00:37 +03:00
sledgehammer999
c2d1af9853
Merge pull request #10338 from sledgehammer999/raise_qt5_ver
Raise minimum Qt version to 5.9.0
2019-03-08 00:42:26 +02:00
Vladimir Golovnev (Glassez)
6cb15706f5
Reduce number of DownloadManager signals 2019-03-05 11:28:29 +03:00
Chocobo1
adbd34c795
Move helper functions to Utils::Gui namespace 2019-03-05 14:55:22 +08:00
sledgehammer999
5c63ad3b95
Raise minimum Qt version to 5.9.0 2019-03-04 16:48:49 +02:00
Mike Tzou
0f1fc7be9d
Merge pull request #10302 from Chocobo1/uptr
Replace QScopedPointer with std::unqiue_ptr
2019-03-02 12:26:14 +08:00
Chocobo1
6dab93f7fd
Replace deprecated QDesktopWidget class 2019-02-28 12:02:03 +08:00
Chocobo1
c657134344
Replace deprecated QSslSocket::setDefaultCiphers() 2019-02-28 12:01:36 +08:00
Chocobo1
168d3fbdac
Replace deprecated trUtf8() 2019-02-28 12:01:36 +08:00
thalieht
77aea3c59e Add const to a few pointer arguments 2019-02-25 17:05:15 +02:00
thalieht
ce437817de Make various minor changes 2019-02-25 17:05:15 +02:00
thalieht
89dce36e98 Use uniform initialization on some default arguments 2019-02-25 17:05:15 +02:00
thalieht
8a19a0d4a0 Remove const in declarations' arguments that are passed by value 2019-02-25 17:05:15 +02:00
thalieht
70f1537d9f Add const to almost all remaining vars and arguments that qualify 2019-02-25 17:05:15 +02:00
Mike Tzou
1c14a08390
Merge pull request #10296 from thalieht/clang-tidy
Some suggestions from Clang-tidy
2019-02-21 23:17:29 +08:00
Chocobo1
5e3fddf456
Replace QScopedPointer with std::unqiue_ptr
These 2 types are very similar and we should prefer the one from C++
standard library, this reduces the number of types in our code base.

Also see:
https://stackoverflow.com/questions/40346393/should-i-use-qscopedpointer-or-stdunique-ptr#comment67966940_40346991
2019-02-18 16:06:40 +08:00
Chocobo1
8fe1ff87f1
Limit DownloadHandler max redirection to 20
Closes #10219.
2019-02-17 22:02:48 +08:00
thalieht
86df25a3e9 Remove some unused stuff 2019-02-16 18:54:18 +02:00
thalieht
8c944bd4e1 Avoid repeating the return type 2019-02-16 18:54:18 +02:00
thalieht
d8cbc9266a Use 'auto' to avoid duplicating the type name 2019-02-16 18:54:17 +02:00
Chocobo1
409557ef30
Clean up code 2019-02-15 19:47:06 +08:00
thalieht
8a3f942385 Don't use 'else' after return/break 2019-02-13 18:23:25 +02:00
Chocobo1
313a95bdd1
Log DownloadManager SSL errors 2019-02-13 20:09:08 +08:00
Mike Tzou
78ab0e4ba9
Merge pull request #10220 from thalieht/const
Add const to many vars and arguments
2019-02-13 12:11:00 +08:00
thalieht
445adb0ab4 Convert pass-by-value arguments to const refs where applicable 2019-02-12 02:45:55 +02:00
thalieht
ca3ce87e06 Add const to many vars and arguments
Also remove const in declarations' arguments that are passed by value
2019-02-11 20:19:41 +02:00
Mike Tzou
12aea82031
Merge pull request #10273 from Chocobo1/fix
Fix wrong arg placeholder
2019-02-10 13:31:09 +08:00
Chocobo1
79d7ba8205
Fix wrong arg placeholder 2019-02-09 21:26:45 +08:00
Vladimir Golovnev
0413a05246
Merge pull request #10242 from glassez/ordered-recheck
Force recheck multiple torrents one by one. Closes #9120
2019-02-08 08:19:30 +03:00
Mike Tzou
efed3fc78c
Merge pull request #10256 from Chocobo1/license
Add license header
2019-02-08 12:07:08 +08:00
Mike Tzou
c540e57f55
Merge pull request #10227 from Chocobo1/login
Prevent login credential appearing in URL
2019-02-07 13:16:24 +08:00
Chocobo1
364a837dbd
Revise comments about C++14 2019-02-05 13:35:54 +08:00
Chocobo1
6d29a3af60
Make use of std algorithms 2019-02-05 13:35:54 +08:00
Chocobo1
f789df7edf
Add license header 2019-02-04 17:28:55 +08:00
Vladimir Golovnev (Glassez)
61925f74fd
Force recheck multiple torrents one by one
Closes #9120.
2019-02-01 18:15:54 +03:00
Chocobo1
814eef1e56
Fix wrong arg placehoder 2019-02-01 13:38:14 +08:00
Chocobo1
5cdb3b6a2d
Load WebUI certificate & key from file path
This allow users to update certificate & key more easily, i.e. without the need to import them
into qbt.

Closes #6675, #7547, #8315, #8564.
2019-01-28 16:33:48 +08:00
Chocobo1
48d358872f
Cleanup header inclusion 2019-01-28 14:34:13 +08:00
Vladimir Golovnev
5b82b681cb
Merge pull request #10225 from glassez/http-request
Separate URL components before percent-decoding. Closes #9116
2019-01-28 08:46:41 +03:00
sledgehammer999
6fdc02f947
Merge pull request #10201 from sledgehammer999/dead_code
Remove leftover tracker authentication code
2019-01-27 22:19:21 +02:00
Vladimir Golovnev (Glassez)
b0446380c6
Separate URL components before percent-decoding
Allow special characters in query string parameters.
Closes #9116.
2019-01-27 15:33:19 +03:00
sledgehammer999
4a414d50f1
Remove leftover tracker authentication code 2019-01-23 02:38:46 +02:00
Chocobo1
04227f5a41
Add QBT_APP_64BIT define
Now we use QT_POINTER_SIZE to detect CPU bitness, it has the advantage of applicable to all CPU
architectures not limiting to x86 arch.
2019-01-19 10:14:10 +08:00
Vladimir Golovnev (Glassez)
302c99d7d5
Drop support of libtorrent < 1.1.10 2019-01-11 15:13:17 +03:00
Chocobo1
b7627db98c
Remove unused headers 2019-01-06 19:19:57 +08:00
Chocobo1
06e82d10f6
Replace boost::function with std::function 2019-01-06 19:19:57 +08:00
Chocobo1
d013e0922d
Use the proper Qt type 2019-01-06 18:32:01 +08:00
sledgehammer999
6b2a382ab8
Merge pull request #10066 from sledgehammer999/drop_migration_code
Drop upgrade code
2019-01-02 21:42:31 +02:00
Chocobo1
2b903fc3d1
Move Utils::Misc::isUrl() function
All usage of this function gets to call Net::DownloadManager eventually.
2018-12-31 20:00:15 +08:00
Chocobo1
6759446639
Cleanup code
Also remove redundant code, it is already handled correctly in subsequent function calls.
2018-12-31 20:00:15 +08:00
Chocobo1
19d6de795c
Drop support for "BC Link" format
The format is marked obsolete on 2009.12.28 and has been replaced by magnet links.

http://wiki.bitcomet.com/inside_bitcomet#bc_link_format_obsoleted_as_of_v117
https://www.bitcomet.com/en/changelog
2018-12-31 20:00:15 +08:00
sledgehammer999
1fff760722
Drop upgrade code 2018-12-31 00:41:17 +02:00
Chocobo1
a5c53ff756
Simplify InfoHash, TrackerEntry class internals 2018-12-26 12:04:41 +08:00
Chocobo1
2a84345835
Mark constructors as explicit 2018-12-26 12:04:40 +08:00
thalieht
d9416299f4 Fix regression on resuming torrents without metadata 2018-12-23 19:23:34 +02:00
sledgehammer999
6f638058d1
Merge pull request #10013 from sledgehammer999/revert_locale
Use configured locale only for translating
2018-12-18 16:28:05 +02:00
Stephen Dawkins
70435ab5bf Keep track of REPACK/PROPER downloads
When using the smart episode filter, if the episode contains REPACK and/or
PROPER, these should be stored to prevent it from redownloading a duplicate
episodes.

Closes #9898.
2018-12-17 09:52:12 +00:00
sledgehammer999
63cf216550
Use configured locale only for translating
Don't use other aspects of it eg for date formatting. We should depend
on the system locale for all these. The user probably likes it that way,
otherwise he would have changed it.
2018-12-17 00:13:28 +02:00
Mike Tzou
deed457764
Merge pull request #9993 from Chocobo1/referer
Enforce referrer-policy in WebUI
2018-12-14 13:23:04 +08:00
Thomas Piccirello
7f349732ee Send numeric status without translation 2018-12-11 01:37:33 -05:00
Mike Tzou
cf9d903ba9
Merge pull request #9541 from Piccirello/webui-file-priority
Set priority for multiple files in one WebAPI request
2018-12-11 13:32:53 +08:00
Thomas Piccirello
c5b8f62780 Set priority for multiple files in one WebAPI request
Closes #6259.
2018-12-10 23:21:09 -05:00
Thomas Piccirello
f27dc977e9 Replace prio namespace with FilePriority enum class 2018-12-10 23:21:09 -05:00
Chocobo1
7fd30fa90f
Enforce referrer-policy in WebUI
This stops leaking private data to other websites via Referrer header.
2018-12-10 22:17:04 +08:00
Mike Tzou
3ff7d16cfc
Merge pull request #9982 from Chocobo1/fixes
Fix TravisCI linux builds
2018-12-10 12:33:51 +08:00
Vladimir Golovnev
fc08091765
Merge pull request #9940 from glassez/error-msg
Show error message when Session failed to start
2018-12-09 11:16:17 +03:00
Chocobo1
f13bcbd772
Add OpenSSL version to GUI & stackdump 2018-12-08 12:46:50 +08:00
Chocobo1
a137f1493e
Use correct locale to display date 2018-12-08 12:19:56 +08:00
Chocobo1
de437b905b
Fix MSVC C4267 warning
The warning was: "warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of
data"
2018-12-08 12:19:56 +08:00
Mike Tzou
6bb4eb825b
Merge pull request #9942 from Chocobo1/pbkdf2
Do password hashing properly
2018-12-06 16:22:22 +08:00
Mike Tzou
1eef5b6876
Merge pull request #9373 from FranciscoPombal/checking_mem_usage_adv_settings
Add checking_mem_usage option to AdvancedSettings
2018-12-06 16:20:02 +08:00
Mike Tzou
0ab5b8fcba
Merge pull request #9824 from thalieht/style
Convert all foreach() to range-based for()
2018-12-06 16:19:17 +08:00
FranciscoPombal
74be5d9030
Add checking_mem_usage option to AdvancedSettings 2018-12-06 03:10:24 +08:00
Vladimir Golovnev (Glassez)
89deccd9b5
Show error message when Session failed to start 2018-12-05 19:57:44 +03:00
Chocobo1
2c8890bd06
Apply PBKDF2 to GUI lock 2018-12-05 13:28:42 +08:00
Chocobo1
05d6a29416
Apply PBKDF2 when storing passwords 2018-12-05 13:28:42 +08:00
Mike Tzou
eb957bb790
Merge pull request #9953 from Chocobo1/announce
Use ip parameter from tracker request if provided
2018-12-05 11:13:03 +08:00
Chocobo1
ede9b1a7c4
Fix typo 2018-12-03 12:06:32 +08:00
Chocobo1
b4564f5f4e
Use ip parameter from tracker request if provided
Closes #9949.
2018-12-03 00:14:15 +08:00
Chocobo1
b56937f5fa
Use QHostAddress for storing IP 2018-12-02 14:18:18 +08:00
Chocobo1
36429887dc
Fix wrong locale used in log message 2018-12-01 20:39:20 +08:00
thalieht
1f36b8b89f Combine qAsConst() with copyAsConst() to asConst() 2018-11-28 23:41:23 +02:00
thalieht
6b1d26d555 Convert all foreach() to range-based for() 2018-11-28 23:40:12 +02:00
thalieht
d668a4fe6d Fix coding style for various things 2018-11-28 23:37:35 +02:00
Mike Tzou
5efdd211cc
Merge pull request #9892 from Chocobo1/progress
Code cleanup
2018-11-29 01:16:07 +08:00
Chocobo1
0339e6ee35
Clean up code 2018-11-27 22:01:27 +08:00
Vladimir Golovnev (Glassez)
68508ba657
Save torrents queue in separate file 2018-11-27 16:55:45 +03:00
Vladimir Golovnev (Glassez)
e146c2f227
Fix signed/unsigned integers comparison warning 2018-11-27 16:55:44 +03:00
Thomas Piccirello
4885fe6b4c Only instantiate SearchPluginManager as needed 2018-11-21 16:59:38 -05:00
Chocobo1
344e47dcfb
Add option for WebUI Host header validation
Closes #9743.
2018-11-19 11:05:04 +08:00
Vladimir Golovnev (Glassez)
64d7cf4794
Improve RSS Feed updating
Don't process "out-of-limit" articles.
Closes #9833.
2018-11-16 10:30:24 +03:00
Mike Tzou
2ce57b97be
Merge pull request #9799 from Chocobo1/removeCheckbox
Remove speed limit checkbox in Options dialog
2018-11-07 13:40:43 +08:00
Vladimir Golovnev
54e4806e3d
Merge pull request #9817 from Piccirello/torrent-dl-success
Handle downloading .torrent file as success
2018-11-06 15:39:51 +03:00
Vladimir Golovnev
46ec72f688
Merge pull request #9580 from glassez/start_paused
Improve handling of torrent startup/recheck
2018-11-06 15:34:21 +03:00
Chocobo1
3fa5358c3f
Remove speed limit checkbox in Options dialog
This unifies speed limit UI elements throughout the program.
2018-11-05 11:07:52 +08:00
Tom Piccirello
1b81356a67 Handle downloading .torrent file as success
We don't know whether the download will be successful, so default to success. Closes #9811.
2018-11-04 14:43:33 -05:00
Chocobo1
c1c28ce195
Improve parser for search engine versions.txt
The parse could fail when there is an extra empty line at the end of
file, this patch fixes it.
2018-11-03 01:01:46 +08:00
Chocobo1
ee030cc4eb
Fix wrong type passed to arg() 2018-11-03 00:34:25 +08:00
Vladimir Golovnev (Glassez)
1214cf0fa1
Don't update torrent status unnecessarily 2018-11-02 19:25:39 +03:00
Vladimir Golovnev (Glassez)
9dadb919ef
Improve force recheck of paused torrent 2018-11-02 19:25:38 +03:00
Vladimir Golovnev (Glassez)
a8c00456e4
Restore torrent in two steps
Add/restore all torrents in "paused" state and then resume those
that need to be really "resumed" (added/restored in "resumed" state).
Keep torrents with missing files paused.
Force recheck torrent with missing files when it's resumed by the user.
2018-11-02 19:25:26 +03:00
Vladimir Golovnev
dea6b3d7e0
Merge pull request #9562 from dzmat/round_speed_labels
Improve scaling of speed graphs
2018-11-01 09:46:26 +03:00
Vladimir Golovnev (Glassez)
5712c05e68
Consider empty locale setting as not set 2018-10-27 20:59:08 +03:00
Mike Tzou
2fd4d50f3a
Merge pull request #9754 from silverqx/previewable-ts-ext
Recognize TS files as previewable
2018-10-25 12:56:02 +08:00
silver
0b20750cd5
Recognize *.ts files as previewable 2018-10-24 16:18:35 +02:00
Vladimir Golovnev
7e36cc746f
Merge pull request #8584 from Piccirello/new-search-api-2
WebUI search API. Closes #2495
2018-10-24 13:13:16 +03:00
dzmat
fabd7e34f5 Improve scaling of speed graphs
Make Y axis scale to fix on predetermined nice looking positions
2018-10-21 16:45:32 +07:00
Mike Tzou
18a64f109d
Merge pull request #9683 from Chocobo1/win_fs
Add isNetworkFileSystem() detection on Windows
2018-10-14 01:29:22 +08:00
Vladimir Golovnev
ff72be9c2d
Merge pull request #9481 from mj-p/master
Don't recheck just checked torrent. Closes #8743, #9370
2018-10-13 09:34:27 +03:00
Vladimir Golovnev
72e148e0f1
Merge pull request #9590 from dzmat/disable_graphs_collection
Implement option for disabling speed graphs
2018-10-12 08:24:33 +03:00
Chocobo1
acdf5363b2
Simplify #if conditions 2018-10-12 00:04:08 +08:00
Chocobo1
cff5af2e76
Add isNetworkFileSystem() detection on Windows
This allows network mounts to be monitored correctly by polling timer.
2018-10-12 00:03:12 +08:00
Mike Tzou
fb8fad3fa1
Merge pull request #9673 from Chocobo1/fs_watch
Add SMB2 magic number
2018-10-11 23:11:06 +08:00
Chocobo1
9b552c463f
Add FileSystemWatcher log messages 2018-10-11 11:01:22 +08:00
Chocobo1
25a0147f61
Add SMB2 magic number
Closes #9671.
2018-10-10 10:36:26 +08:00
Stephen Dawkins
d8054f9cb3
Allow to disable downloading REPACK/PROPER matches 2018-10-09 08:14:12 +03:00
dzmat
2d0f0cb372 Allow to disable speed graphs 2018-10-08 23:51:02 +07:00
sledgehammer999
2f1a0ffe5c
Use a more detailed alert mask where possible
Closes #9547
2018-10-02 02:42:06 +03:00
Thomas Piccirello
0b6ae68801 Add WebUI search API controller
Closes #2495.
2018-09-30 20:07:27 -04:00
Administrator account
f6ed605414
Don't recheck just checked torrent
Closes #8743.
Closes #9370.
2018-09-29 17:13:44 +03:00
Chocobo1
b8d87f641f
Avoid variable shadowing 2018-09-26 23:53:17 +08:00
Chocobo1
66ffb01629
Add include guard to headers 2018-09-26 23:49:33 +08:00
Chocobo1
f26a5c3581
Update Python URLs 2018-09-25 11:46:40 +08:00
Chocobo1
7d808cfc99
Fix asking to install Python
The dialog asking users to install python is borked since the last refactor, this
commit fixes it.
2018-09-25 11:46:39 +08:00
Chocobo1
60ecc4fe8f
Move python related functions
Also the functions are slightly changed to return full path of the found
python executable.
2018-09-25 11:46:39 +08:00
sledgehammer999
6c0af1b078
Merge pull request #9553 from sledgehammer999/misc_fixes
Misc fixes
2018-09-22 20:09:54 +03:00
sledgehammer999
06c8142826
Make strings actually translatable 2018-09-22 14:05:41 +03:00
sledgehammer999
e8213b2c6a
Remove unused variable 2018-09-22 14:05:40 +03:00
dzmat
fc93f2eb78 Replace magic number with system define 2018-09-21 22:33:43 +07:00
Vladimir Golovnev
fe9fb03e38
Merge pull request #9482 from proninyaroslav/patch-1
Fix typo in variable name
2018-09-13 19:45:14 +03:00
Vladimir Golovnev
28a6ac3197
Merge pull request #9228 from Piccirello/addCategory
Add save path and category editing to WebUI
2018-09-13 19:43:28 +03:00
sledgehammer999
c520e657ce
Save state change from queued to paused 2018-09-11 21:00:04 +03:00
Yaroslav Pronin
4e28033c9c
Fix typo in variable name 2018-09-11 17:56:55 +00:00
Vladimir Golovnev
d18de18128
Merge pull request #9461 from thalieht/tracker
Show "N/A" if there is no scrape response
2018-09-10 07:14:28 +03:00
thalieht
94613c2fa2 Fix some warnings 2018-09-07 19:40:08 +03:00
sledgehammer999
9ce619eac8
Decrease probability of missing important alerts
During startup we can get above 1000 alerts at each pop even with only
30 torrents in the queue. This is because libtorrent will post
piece_finished_alert and file_completed_alert for each torrent. These
alerts push out of the way the ones we care about.
The alert queue will be grown to max only if needed. So we don't use
more memory. It will greatly depend on how many torrents a user has in
their session.

When getting fastresume_rejected_alert we need to act as fast as
possible in pausing it, otherwise there's a chance it will begin
downloading and writing to disk before we pause it.
2018-09-06 02:06:44 +03:00
Thomas Piccirello
63c53766b4 Add save path and editing to WebUI new category dialog 2018-08-31 11:27:05 -04:00
Mike Tzou
846d8993a9
Merge pull request #9410 from Chocobo1/clazy
Minor fixes
2018-08-30 12:07:34 +08:00
Elias M. Mariani
33af699191 Support the OpenBSD filesystem 2018-08-28 13:58:09 -03:00
Chocobo1
254782def6
Avoid copy-construct QString in for loop 2018-08-28 14:13:59 +08:00
thalieht
ec9120adf0 Save torrents priorities on torrent finished
Save fastresumes for all torrents that shifted in the queue when a torrent finished.
2018-08-25 22:02:14 +03:00
thalieht
95b02bbb2e Save fastresumes when changing torrent priorities 2018-08-25 22:02:14 +03:00
Vladimir Golovnev (Glassez)
386d0565fe Always save actual queue position 2018-08-25 22:02:14 +03:00
Vladimir Golovnev
93f9b3de8b
Merge pull request #9314 from thalieht/searchregexfilter
Add option to use regexps in the search job's search filter's context menu
2018-08-22 17:15:37 +03:00
Thomas Piccirello
d89ef22d85 Require torrent category creation to be explicit 2018-08-18 22:04:21 -04:00
Chocobo1
262c3a75bd
Fix WebUI unreachable issue
QVariant doesn't have constructor for plain char, by default it converts
a plain char into an integer, hence the WebUI issue.
Closes #9333.
2018-08-19 03:33:08 +08:00
thalieht
400eafce2b Rename 2 methods to eliminate ambiguity 2018-08-14 13:40:00 +03:00
thalieht
4dcb0b922e Add regex option in the search filter's context menu
In the search job widget.
2018-08-14 13:38:34 +03:00
Chocobo1
71dcc76a64
Replace png icons with svg 2018-08-14 17:03:14 +08:00
Chocobo1
6f2b1823ad
Fix lupdate errors
I suspect lupdate isn't smart enough to figure out what tr() is suppose
to do, so just make it a static function in class.
The error was: tr() cannot be called without context
2018-08-13 01:24:34 +08:00
sledgehammer999
366239ca7b
Merge pull request #9244 from Couchy/inhibit_sleep_options
Inhibit sleep for running downloads or uploads regardless of network activity
2018-08-12 16:31:01 +03:00
sledgehammer999
a3172590d0
Merge pull request #9255 from thalieht/filterRegex
Add option to use regexps in the transfer list's search filter's context menu
2018-08-12 16:22:00 +03:00
Mike Tzou
f44ff63361
Merge pull request #9278 from Couchy/torrent_file_error_handling
Improve error handling when loading torrent files
2018-08-12 00:21:56 +08:00
sledgehammer999
9dd1049f24
Merge pull request #9274 from sledgehammer999/tray_close_notification
Notify users on 1st time close/minimize to tray
2018-08-11 00:13:41 +03:00
Couchy
3808b5df16
Avoid allocating large memory when loading a .torrent file
`QIODevice::read(qint64 maxSize)` will allocate full `maxSize` of memory no matter
what the real file size was, this caused users to experience out-of-memory
exception on 32-bit qbt.
Also handle the OOM execption if it still fails.

Closes #9064, #9075, #9130, #9239, #9246, #9279.
2018-08-11 00:48:35 +08:00
Mike Tzou
5f61ffa184
Merge pull request #9303 from Chocobo1/fix
Fix I/O error after fetching magnet metadata
2018-08-11 00:14:06 +08:00
thalieht
2485525896 Add option for regexps in the transferlist search filter's context menu 2018-08-10 12:44:10 +03:00
Chocobo1
63991cb58e
Fix I/O error after fetching magnet metadata
It is caused by an extra path seperator, so removing it fixes it.
Fixup 9612a75faa.
2018-08-10 12:48:04 +08:00
sledgehammer999
fd30bf7423
Notify users on 1st time close/minimize to tray 2018-08-09 16:48:34 +03:00
sledgehammer999
2befd2927a
Revert "Set "close to tray" to false as default"
This reverts commit dc9ec0e408.
2018-08-09 16:37:23 +03:00
Vladimir Golovnev
260b03de92
Merge pull request #9265 from glassez/dont-save-paused
Never save resume data for already paused torrents
2018-08-08 08:45:15 +03:00
Mike Tzou
89081d5365
Merge pull request #9268 from Chocobo1/clean
Put temporary files in qbt own temp folder and cleanups
2018-08-04 01:18:56 +08:00
Lukas Greib
48cd993c92 Inhibit sleep regardless of activity
"Active torrents" is a somewhat unintuitive concept as a basis for
preventing sleep, as torrents can become active or inactive on the
network at any time. This brings some predictability to the inhibit
sleep option, and will inhibit sleep as long as there are unpaused
downloads or uploads, regardless of network activity.

Closes #1696, #4592, #4655, #7019, #7159, #7452
2018-08-03 09:58:15 -04:00
Vladimir Golovnev
d106d908ef
Merge pull request #9273 from thalieht/closetotray
Set "close to tray" to false as default
2018-08-03 11:16:50 +03:00
thalieht
dc9ec0e408 Set "close to tray" to false as default 2018-08-02 17:11:41 +03:00
Chocobo1
9612a75faa
Put temporary files in qbt own temp folder 2018-08-02 17:44:06 +08:00
Vladimir Golovnev (Glassez)
2a6e38aa28
Never save resume data for already paused torrents 2018-08-01 21:29:32 +03:00
Vladimir Golovnev (Glassez)
7716a27d0d
Reorder resume data saving conditionals
Having conditionals which can break saving of torrent resume data
in order from more likely to less likely is more effective.
2018-08-01 21:29:01 +03:00
Chocobo1
9df67b52b8
Add const to function signature 2018-08-01 01:40:50 +08:00
Chocobo1
73b5efbb23
Avoid potentially setting the wrong piece priorities
Updating file priorities is an async operation in libtorrent, when we
just updated it and immediately query it, we might get the
old/wrong values, so we rely on `updatedFilePrio` in this case.
2018-07-30 13:22:05 +08:00
Chocobo1
a68cdc5225
Refactor code
Make the code slightly easier to read.
2018-07-30 02:43:23 +08:00
Chocobo1
9bd8587c68
Add const to function parameters 2018-07-30 02:23:51 +08:00