Commit graph

336 commits

Author SHA1 Message Date
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