Commit Graph

85 Commits

Author SHA1 Message Date
Vladimir Golovnev (Glassez)
66a5a9863f Fill torrent status with initial values when reload 2022-04-25 08:32:44 +03:00
Vladimir Golovnev (Glassez)
7ca47b8916 Delay event processing until status updated 2022-04-25 08:31:50 +03:00
Vladimir Golovnev (Glassez)
bcfa4866fe Cache indexes of completed files
This avoids extra blocking calls to libtorrent.
2022-04-25 08:31:39 +03:00
Chocobo1
a90ade0446 Add "Export .torrent" action 2022-04-23 15:11:09 +08:00
Vladimir Golovnev (Glassez)
35fcf39fc8 Add additional trackers without extra blocking call 2022-04-15 11:45:10 +03:00
Vladimir Golovnev (Glassez)
bd45dc5d0f Avoid some blocking calls to libtorrent 2022-04-14 15:22:32 +03:00
Vladimir Golovnev
7377974731 Improve path extension handling
PR #16867.
2022-04-14 09:43:07 +03:00
Vladimir Golovnev
df2d449f9b Revamp content layout handling
Apply content layout only if desired file names aren't provided.
Remove helpers with confusing signatures.
Don't remove root folder twice.

PR #16724.
Closes #16259.
2022-04-01 09:35:45 +03:00
Chocobo1
4ca6de2b54 Revise string literal usage
PR #16703.
2022-03-26 11:53:50 +08:00
Vladimir Golovnev
b3ca2ea179 Merge pull request #16573 from glassez/resume-data
Prevent loading resume data with inconsistent ID
2022-03-16 20:30:04 +03:00
Vladimir Golovnev (Glassez)
ce42f7c9f1 Properly handle metadata download for an existing torrent 2022-03-15 18:17:24 +03:00
Chocobo1
8de966ea88 Merge pull request #16585 from Chocobo1/qstring
Use QString literals
2022-03-12 12:49:08 +08:00
Chocobo1
85b0a40a0e Merge pull request #16587 from jagannatharjun/tracker-filter
Optimize torrent filters in GUI
2022-03-12 12:48:49 +08:00
Chocobo1
f0dd7b7dae Use QString literals
This patch covers src/app and src/base folders.
Follow up of ab64ee872b.
2022-03-11 00:11:30 +08:00
Chocobo1
9f32e6e50d Fix wrong parentheses
Fix up 294ea17222.
2022-03-08 13:58:02 +08:00
Chocobo1
294ea17222 Provide upstream documentation link for performance warning 2022-03-07 13:26:37 +08:00
Prince Gupta
cd9ed1706d Improve torrent event handling in TrackerFiltersList 2022-03-06 12:04:01 +05:30
Chocobo1
ab64ee872b Use QString literals
The plan is to define `QT_NO_CAST_FROM_ASCII` eventually.
PR #16561.
2022-03-04 13:25:22 +08:00
Vladimir Golovnev (Glassez)
c5ff9b353c Allow to disable Automatic mode when "temp" path changed 2022-02-28 09:41:44 +03:00
Vladimir Golovnev (Glassez)
1e45b7f50b Add fast way of removing suggested extension 2022-02-18 11:37:51 +03:00
Vladimir Golovnev
c3a64b3d6c Cache file priorities
Speedup access to file priorities by avoiding extra blocking call to libtorrent thread.
Improve the Torrent interface by hiding the asynchrony of file priority changes behind the scenes.

PR #16425.
2022-02-13 08:07:30 +03:00
Vladimir Golovnev
4a7f1116ac Improve tracker status handling
PR #16383.
2022-02-09 18:23:41 +03:00
Vladimir Golovnev
dd1bd8ad10 Implement class for handling filesystem paths
PR #15915.
2022-02-08 06:03:48 +03:00
Vladimir Golovnev
facfa26eed Allow to use Category paths in "Manual" mode
If the option is enabled any relative save path will be resolved against an appropriate Category path instead of Global default one.

PR #16330.
2022-02-02 09:24:09 +03:00
Prince Gupta
0012a3ede7 Optimize completed files handling
PR #16329.

Co-authored-by: Vladimir Golovnev (Glassez) <glassez@yandex.ru>
2022-02-01 08:29:54 +03:00
Prince Gupta
414361a3db Improve tracker error handling
* Improve tracker error handling
* Fix typo in function name

PR  #16298.
2022-01-30 08:56:31 +03:00
Prince Gupta
1d4071d6d8 Don't rename file because of difference in path separator
PR #16317.
2022-01-30 08:54:37 +03:00
Chocobo1
4e2daf117b Speed up bitfields conversion
The old code took 3~5 times longer than the newer version.
2022-01-25 12:19:50 +08:00
Vladimir Golovnev
26352c9eb4 Cache pieces info
PR #16238.
2022-01-25 06:05:16 +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
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
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
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
7a620c794d Fix garbage message when reporting error
PR #15883.
2021-12-24 12:28:22 +08:00
Vladimir Golovnev (Glassez)
62b50d1475 Make TorrentInfo immutable 2021-12-19 16:16:16 +03:00
Vladimir Golovnev
3d7ff9765a Make meaning of "torrent root path" consistent
PR #15816.
2021-12-09 06:12:47 +03: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
71270260bf Reformat code 2021-11-08 13:34:21 +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
Vladimir Golovnev
bc71827c01 Improve torrent content handling
Hide .pad files.

PR #15468.
2021-10-02 21:42:58 +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
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
AbeniMatteo
e4730191db Set default file priorities when not specified (#15190) 2021-07-29 12:20:03 +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