Chocobo1
e288de7ec1
Forward declare as much as possible
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
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
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
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
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
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
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)
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
Chocobo1
168d3fbdac
Replace deprecated trUtf8()
2019-02-28 12:01:36 +08:00
thalieht
89dce36e98
Use uniform initialization on some default arguments
2019-02-25 17:05:15 +02: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
8a3f942385
Don't use 'else' after return/break
2019-02-13 18:23:25 +02: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
sledgehammer999
2f1a0ffe5c
Use a more detailed alert mask where possible
...
Closes #9547
2018-10-02 02:42:06 +03:00
Administrator account
f6ed605414
Don't recheck just checked torrent
...
Closes #8743 .
Closes #9370 .
2018-09-29 17:13:44 +03:00
sledgehammer999
06c8142826
Make strings actually translatable
2018-09-22 14:05:41 +03: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
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
Thomas Piccirello
d89ef22d85
Require torrent category creation to be explicit
2018-08-18 22:04:21 -04: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
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
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
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
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
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
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
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
56766dc08b
Avoid binding constant reference to returned object
...
In such cases, it makes no sense doing so.
2018-07-23 13:40:25 +08:00
Chocobo1
0217d5b4c0
Replace single-character string with character literal
...
Also remove unnecessary dynamic allocation.
2018-07-21 23:26:15 +08:00
Mike Tzou
aed971883d
Merge pull request #9192 from Chocobo1/msg
...
Revise dialog messages
2018-07-18 00:08:00 +08:00
Chocobo1
42eac2ee3c
Simplify code
...
This avoids "deferencing null pointer" warning from static analyzers.
2018-07-15 13:30:11 +08:00
Chocobo1
ec7dfee887
Fix typo
2018-07-15 10:19:24 +08:00
Vladimir Golovnev (Glassez)
cd44ab2fc6
Improve torrent initialization
...
Don't post "torrent resumed" event when torrent starts in "resumed"
state.
Fix confusing names. Now "resumed torrent" means "unpaused torrent"
only. When we load previously added torrent it is called "restored
torrent".
2018-07-12 21:03:36 +03:00
Vladimir Golovnev (Glassez)
7ebd63a60f
Save resume data on torrent change events
...
Closes #9174 .
2018-07-10 17:45:09 +03:00
tjjh89017
670a8e27af
Add async io threads option to AdvancedSettings
2018-07-08 22:58:35 +08:00
Chocobo1
d61435e4bf
Allow save resume interval to be disabled
...
Also raise the allowable upper limit
2018-07-05 13:22:20 +08:00
Chocobo1
6a16fc1ca2
Prolong resume data save interval
2018-07-05 13:22:13 +08:00
thalieht
456270bbb1
Delete several unused #include
2018-07-03 08:38:32 +03:00
thalieht
eb508d67ef
Fix coding style
2018-07-03 08:38:32 +03:00
Vladimir Golovnev (Glassez)
d78414307e
Make TorrentInfo loading behavior uniform
2018-06-29 15:48:36 +03:00
Vladimir Golovnev (Glassez)
112a9bcfa2
Use new DownloadManager interface
2018-06-29 15:48:17 +03:00
thalieht
4022799881
Fix coding style
2018-06-12 07:17:05 +03:00
Chocobo1
09f759355f
Replace QRegExp with QRegularExpression
...
Revise `static` keyword usage, static is added to frequently used
instances.
2018-05-31 22:56:49 +08:00
Chocobo1
c22e6b4502
Cleanup header include order
...
Add missing header.
Cleanup license.
2018-05-31 22:56:25 +08:00
sledgehammer999
7c6a5afbff
Merge pull request #8962 from sledgehammer999/suppress_errors
...
Suppress multiple I/O errors for the same torrent
2018-05-24 16:35:03 +03:00
Mike Tzou
cd21071c69
Merge pull request #8954 from Chocobo1/firstlast
...
Relax behavior of "Download first and last piece first"
2018-05-23 13:26:02 +08:00
Mike Tzou
84df2794dc
Merge pull request #8944 from Chocobo1/literal
...
Make use of QStringLiteral
2018-05-23 13:23:41 +08:00
sledgehammer999
b9546ccd4c
Suppress multiple I/O errors for the same torrent
...
When a file error happens libtorrent spews a ton of `file_error_alert`
which result in log floods and notification balloon floods. The later
might render the program inaccessible because the constant
notifications prevent the user from interacting with the tray icon.
Closes #8934
2018-05-22 21:29:50 +03:00
Vladimir Golovnev (Glassez)
a54f57611c
Rename torrent if content was initially renamed
...
Closes #8910 .
2018-05-19 20:21:21 +03:00
Chocobo1
95b19ec303
Relax behavior of "Download first and last piece first"
...
Now it applies the setting to all files in torrent, no matter whether
the file is previewable or not.
Torrent client shouldn't be smart by deciding which file this
option will be applied to, i.e. it should just follow the user's decision.
2018-05-19 21:48:13 +08:00
Chocobo1
da75a010c7
Refactor code
...
Add const to variables.
Add Logger message.
Simplify code logic.
2018-05-19 21:48:13 +08:00
Chocobo1
ceaf755ac6
Make use of QStringLiteral
...
Only changed instances that are initialized at program start.
2018-05-18 02:14:49 +08:00
sledgehammer999
8a99e29122
Merge pull request #8716 from sledgehammer999/move_progress
...
Move and recheck progress
2018-05-13 13:02:03 +03:00
sledgehammer999
375b15727d
Show rechecking progress
...
When having big torrents, the rechecking might take a while to
complete. Users need some sort of feedback that progress is being made.
Also, I changed the float to qreal since that's the return type.
2018-05-13 12:32:17 +03:00
sledgehammer999
e5c73cee4a
Log successful torrent move
2018-05-12 20:49:33 +03:00
sledgehammer999
565ffa7d1e
Add 'Moving' state for torrents being relocated/moved
...
This is another indication to the user that something is happening
behind the scenes.
Uses the same icon/color as "Checking" status.
Torrents in the `Moving` state are considered as "Active". This should
prevent accidental program exit from the user and inhibit system sleep.
2018-05-12 20:49:33 +03:00
Vladimir Golovnev (Glassez)
32e2791f56
Fix compilation with MinGW
2018-05-12 06:24:05 +03:00
thalieht
20ca90800d
Fix coding style
2018-05-09 17:06:22 +03:00
thalieht
6b4455e13d
Use qt5 connect() syntax
2018-05-09 16:08:22 +03:00
Mike Tzou
7af83ab704
Merge pull request #8807 from Chocobo1/tracker_msg
...
Fix displayed tracker message
2018-05-09 14:38:17 +08:00
Mike Tzou
99a1343b9d
Merge pull request #8862 from Chocobo1/cleanup
...
Code cleanups
2018-05-09 14:33:49 +08:00
Vladimir Golovnev
3a0e5e51df
Merge pull request #8761 from thalieht/nullptr
...
Replace the zeroing of pointers with nullptr
2018-05-08 17:10:37 +03:00
Chocobo1
defba23d61
Refactor code
...
Remove forward declarations of Qt types.
Fix header include order.
2018-05-08 12:18:18 +08:00
Chocobo1
6d923f703a
Fix displayed tracker messages
...
Before this change, we were displaying debug messages constructed by
libtorrent, now we show messages returned by trackers.
Closes #8739 .
2018-05-07 21:49:31 +08:00
Chocobo1
90f42e6737
Refactor functions
...
Add const to variables
Remove debug messages
2018-05-07 21:49:31 +08:00
Chocobo1
58861c35b0
Fix compile warnings on gcc 8
...
The warning was:
warning: catching polymorphic type ‘class std::exception’ by value
[-Wcatch-value=]
2018-05-07 21:39:54 +08:00
Chocobo1
203bafc4c3
Revert commit
...
Apparently the translations were working in previous state, but affected by
lupdate issue:
https://github.com/qbittorrent/qBittorrent/issues/8220#issuecomment-385712673
The reverts commit fb698896c9
.
Closes #8831 .
2018-05-05 21:46:36 +08:00
Mike Tzou
d8c14ffe97
Merge pull request #8814 from Chocobo1/tr_fix
...
Fix tr() related issues
2018-05-05 13:48:09 +08:00
Chocobo1
9fabe59b80
Fix usage of Q_DECLARE_TR_FUNCTIONS()
...
The context parameter shouldn't be enclosed in double quotes.
2018-05-01 22:42:55 +08:00
sledgehammer999
6e94b03c13
Fix compilation against libtorrent 1.0.x
...
Closes #8798
2018-05-01 10:39:53 +03:00
Chocobo1
970ad7cf28
Sort filenames when creating torrent
...
First all dir paths are retrieved, then filenames in each path
are retrieved and sorted, then concatenate the sorted filenames together.
2018-04-20 14:35:48 +03:00
toster
c4625f50a8
Pass isAlignmentOptimized flag to piece size calculation
2018-04-20 14:31:20 +03:00
thalieht
3e4099fe5b
Replace the zeroing of pointers with nullptr
2018-04-15 13:06:31 +03:00
toster
e538eae726
Make alignment optimization optional
...
Disabling alignment optimization allows preserving file order in torrent
files and closes #5652
2018-04-14 06:46:41 +03:00
Mike Tzou
38837db8de
Merge pull request #8699 from Chocobo1/linking
...
Add helper for loading Windows system functions
2018-04-11 00:13:55 +08:00
sledgehammer999
747c70a58e
Avoid data corruption when rechecking paused torrents
...
Libtorrent can recheck only unpaused torrents. We get around this by
unpausing the torrent, issuing the recheck and pausing again after we
get alerted by libtorrent that the recheck has finished. This alert is
asyncronous. There is a small time frame where the program might start
downloading and writing data to the file before we pause it. This can
lead to data corruption if the file on disk is totally different that
the one expected by the torrent AND the file on disk is a valid file on
its own. OR in case the user points the new torrent to the wrong
directory by mistake.
To get around this the torrent is placed in upload_mode and out of
automanagement.
2018-04-09 23:25:52 +03:00
Chocobo1
b0e3d77975
Add helper for loading Windows system functions
2018-04-09 21:18:04 +08:00
Chocobo1
37ea01bd44
Use lightweight printf instead of iostream
...
Using iostream usually adds a lot of other operators (<<, endl), whereas
*printf takes only 1 function call.
Also use qUtf8Printable whenever possible.
2018-03-31 03:21:53 +08:00
Vladimir Golovnev
a5294e1e08
Merge pull request #8558 from luis-pereira/containter-anti-pattern
...
Don't create temporary containers just to iterate over them
2018-03-19 13:06:01 +03:00
Luís Pereira
ac42ccb5e4
Don't create temporary containers just to iterate over them
...
Stops temporary containers being created needlessly due to API misuse.
For example, it’s common for developers to assume QHash::values() and
QHash::keys() are free and abuse them, failing to realize their
implementation internally actually iterates the whole container, allocates
memory, and fills a new QList.
Added a removeIf generic algorithm, similar to std ones. We can't use std
algorithms with Qt dictionaries because Qt iterators have different
behavior from the std ones.
Found using clazy.
2018-03-18 16:22:12 +03:00
Chocobo1
fdb0d97b28
Remove unused function
2018-03-11 23:27:04 +08:00
Mike Tzou
7233274110
Merge pull request #8562 from Chocobo1/lint
...
Fix warnings from clazy
2018-03-11 12:41:58 +08:00
Vladimir Golovnev
4f206f987a
Merge pull request #8561 from glassez/tracker
...
Properly reply to announce request
2018-03-10 17:08:29 +03:00
Vladimir Golovnev (Glassez)
dfddda57b9
Properly reply to announce request
2018-03-09 17:41:06 +03:00
Chocobo1
ed310c2dac
Avoid temporary QString allocations
...
Fix up 0457fd260e
2018-03-09 01:34:35 +08:00
Chocobo1
50167d40d7
Allow ADL lookup for helper function
2018-03-09 01:34:19 +08:00
Mike Tzou
5261d4375f
Merge pull request #8551 from Chocobo1/override
...
Fix warnings from linters
2018-03-09 00:36:52 +08:00
Chocobo1
0457fd260e
Avoid temporary QString allocations
...
This fixes clazy warning: Use multi-arg instead [-Wclazy-qstring-arg]
2018-03-07 20:06:00 +08:00
Vladimir Golovnev (Glassez)
1aca3b0adc
Parse URL query string at application level
2018-03-04 17:08:48 +03:00
Mike Tzou
55c3db339b
Merge pull request #8455 from Chocobo1/large_torrent
...
Fix loading very large torrents. Closes #8449
2018-03-01 13:22:43 +08:00
Vladimir Golovnev
6207855f3b
Merge pull request #8372 from thalieht/inactiverate
...
Expose the libtorrent fields for "dont_count_slow_torrents" to GUI.
Closes #5713 .
2018-02-24 14:13:39 +03:00
thalieht
0e30659c26
Fix possible crash when using both share limits
...
Avoid possible crash in "torrent->name()" when processing seeding time of the torrent that already reached the ratio limit.
2018-02-23 17:13:56 +02:00
Chocobo1
f5fc2d52b8
Fix loading very large torrents. Closes #8449 .
...
`torrent_info` constructor has default limits that can't be changed via
parameters, so we handle the loading process manually and explicitly
specifiy the limits to `bdecode()`.
The token_limit is also changed to 10000000.
2018-02-22 18:52:10 +08:00
Mike Tzou
47048d8410
Merge pull request #8349 from Chocobo1/stats
...
Improve stats dialog
2018-02-16 15:31:01 +08:00
Mike Tzou
882fa7ecd4
Merge pull request #8336 from Chocobo1/coalesce
...
Add "Coalesce reads & writes" checkbox in advanced options
2018-02-16 15:30:17 +08:00
thalieht
f50b4724a6
Expose the libtorrent fields for "dont_count_slow_torrents" to GUI:
...
inactive_down_rate
inactive_up_rate
auto_manage_startup
2018-02-08 14:14:39 +02:00
Chocobo1
b9ec216aa5
Redefine CacheStatus.readRatio field.
...
Now it is defined as:
CacheStatus.readRatio = (blocks read from cache) / (blocks read from disk + blocks read from cache)
The 2 variables in denominator are counted separately and the formula before this change doesn't really make sense
Add percentage sign to "Read cache hits" stats
Also remove redundant header include
2018-02-02 23:41:42 +08:00
Chocobo1
543cbc6d1c
Add "Coalesce reads & writes" checkbox in advanced options
...
The setting is defaulted to ON for Windows. Closes #8295 .
2018-01-30 22:46:14 +08:00
Vladimir Golovnev (Glassez)
27d8dbf13b
Redesign Web API
...
Normalize Web API method names.
Allow to use alternative Web UI.
Switch Web API version to standard form (i.e. "2.0").
Improve Web UI translation code.
Retranslate changed files.
Add Web API for RSS subsystem.
2018-01-28 19:16:24 +03:00
Vladimir Golovnev (Glassez)
69df8174b9
Allow to load TorrentInfo from data buffer
2018-01-23 11:08:32 +03:00
Chocobo1
fb698896c9
Fix translation context.
...
Partially addresses #8220 .
Also sort include headers
2018-01-07 23:01:22 +08:00
sledgehammer999
b11c33b2d9
Merge pull request #8068 from thalieht/readableFlags
...
Make peer information flags in peerlist more readable
2017-12-23 19:33:19 +02:00
sledgehammer999
cf9bad03aa
Fix application of speed limits on LAN and μTP connections. Closes #7745 .
2017-12-23 19:19:08 +02:00
thalieht
5b52835377
Make peer information flags in peerlist more readable
2017-12-20 11:22:23 +02:00
Chocobo1
8dcf326576
Add source field in Torrent creator. Closes #7965 .
...
This field is often used for cross-seeding between (private) trackers.
2017-12-09 00:39:50 +08:00
Chocobo1
c405cb2f1c
Add struct TorrentCreatorParams for passing parameters
...
Filter out continuous newlines in Trackers field
Avoid adding empty url seed entries
Cleanup:
Replace boost::bind
Add const
Use nullptr
Use QString::SkipEmptyParts
Rename variables
Throw proper exception type
2017-12-06 01:56:36 +08:00
sledgehammer999
a55be5e58f
Stop logging IP filter parsing errors after a while.
...
When a lot of errors happen the resulting log lines introduce
a huge slowdown of the GUI, due to writing each log line to disk.
Closes #7755 .
2017-11-29 15:49:59 +02:00
sledgehammer999
48c46dc79a
Fix crash on some systems when creating address object for 255.255.255.255
...
Closes #7735 .
2017-11-27 19:06:37 +02:00
Chocobo1
534ed91d04
Change MixedModeAlgorithm default to TCP. Closes #7779 .
...
MixedModeAlgorithm::Proportional will throttle TCP connections when utp
is in use and users is expecting maximum speed no matter what, so now
disable the throttling.
2017-11-22 22:39:52 +08:00
Chocobo1
433b5a46cf
Fix crash when aborting a torrent creation process. Closes #7783 .
...
The wait time wasn't long enough causing the thread to
terminate prematurely.
Also, to avoid crashing qbt entirely when creating a torrent for a very
big file, I decided to wait indefinitely here.
2017-11-21 18:33:47 +08:00
Chocobo1
034d71dce3
Wrap function into anonymous namespace
2017-11-21 18:23:39 +08:00
sledgehammer999
9f8e7917a8
Merge pull request #7657 from Chocobo1/upnp
...
Disable upnp & nat-pmp on startup if disabled in options. Closes #7338 .
2017-10-31 18:24:28 +02:00
Chocobo1
1b652c882e
Refactor
...
Add const
Use Qt5 connect syntax
2017-10-31 19:09:01 +08:00
Chocobo1
601234e492
Explicitly set UPnP state on start-up. Closes #7338 .
...
libtorrent 1.1 enables upnp by default.
2017-10-31 19:08:58 +08:00
sledgehammer999
6c804edadf
Change default settings for tracker/tier announces to mimick ìTorrent behavior.
2017-10-30 23:27:29 +02:00
sledgehammer999
3a5c0d9818
Allow to specify if announcing to all tiers is desired.
2017-10-30 23:27:28 +02:00
Mike Tzou
1f7391737e
Merge pull request #7445 from Chocobo1/fixAddTorrent
...
Disable processing socket events in findIncompleteFiles()
2017-10-25 23:00:35 +08:00
sledgehammer999
50471ec8c8
String fixes and optimizations mentioned by translators on Transifex.
2017-10-24 03:32:56 +03:00
Chocobo1
f3603d05e7
Disable processing events when adding torrents. Closes #7436 .
...
webUI connection timeout & deletion might occur while
doing processEvents() and will result in use-after-free segfault.
2017-10-22 13:54:03 +08:00
Mike Tzou
bd07cb91bb
Merge pull request #7571 from Chocobo1/webui_download
...
[WebAPI] Add parameters for /command/download & /command/upload
2017-10-15 20:32:14 +08:00
Chocobo1
66b86888fc
Add uploadLimit, downloadLimit fields to AddTorrentData & AddTorrentParams
2017-10-11 16:23:58 +08:00