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
Chocobo1
498da509db
Use Qt provided forward declaration header
2020-12-09 18:21:02 +08:00
Vladimir Golovnev (Glassez)
85bd0feee0
Handle torrent "paused" state at application level
2020-11-02 10:09:14 +03:00
Chocobo1
ac3ab2432a
Remove redundant namespace prefix
2020-09-25 15:10:20 +08:00
Vladimir Golovnev (Glassez)
f4efa530dc
Create header for common BitTorrent declarations
2020-05-25 20:32:35 +03:00
Vladimir Golovnev (Glassez)
1132b84548
Split TorrentHandle interface and implementation
2020-04-16 20:22:26 +03:00
Chocobo1
d8401c76f5
Avoid holding encoded resume data in memory
...
Now it the encoded resume data will be streamed to file instead of a
temporary buffer holding the whole of it.
2020-04-07 16:02:09 +08:00
Vladimir Golovnev (Glassez)
0a8c2f75af
Save "resume data" when torrent storage is moved
2020-04-06 12:16:27 +03:00
Vladimir Golovnev
5127156ba4
Merge pull request #12035 from glassez/move-storage
...
Move torrent storages one by one
2020-03-13 15:59:05 +03:00
Chocobo1
24cd7c3611
Avoid unnecessary memory writes
...
Before this change, qbt spent ~1% in these two functions, now it
only spends about ~0.5% in my naive testing.
2020-03-04 03:18:39 +08:00
Vladimir Golovnev
b519ece18b
Merge pull request #12095 from glassez/resume-torrent
...
Let libtorrent decide whether to resume a torrent
2020-03-01 19:54:16 +03:00
Vladimir Golovnev (Glassez)
74884d57ec
Let libtorrent decide whether to resume a torrent
2020-03-01 08:08:01 +03:00
Vladimir Golovnev (Glassez)
e4ff206e3c
Move torrent storages one by one
2020-02-26 10:20:04 +03:00
Vladimir Golovnev (Glassez)
dd0cee44c1
Allow to save downloaded metadata as torrent file
2020-02-26 08:10:11 +03:00
an0n666
8423f43209
Do not list not contacted trackers as error
2020-02-15 19:44:14 +00:00
Chocobo1
5de75eff05
Unify singleton pattern in Profile class
...
1. Use unified function names `initInstance()` and `freeInstance()` and
make them public.
2. Add `freeInstance()` to avoid noise from memory leak detectors.
3. Let `instance()`return a pointer directly to avoid unnecessary
indirections when invoking functions.
2020-02-11 15:30:59 +08:00
Chocobo1
1740f968df
Revise qHash function
...
Instead of xor and narrowing the integers ourselves, now we let qHash()
from Qt do the job properly.
2020-01-27 12:53:22 +08:00
Vladimir Golovnev (Glassez)
f2285e1b63
Redesign torrent startup handling
2020-01-21 10:14:59 +03:00
sledgehammer999
02a027144b
Tracker is errored only if all local endpoints fail
...
Closes #11691
2020-01-05 17:59:54 +02:00
Vladimir Golovnev (Glassez)
f56f817c77
Save resume data after recheck
...
Closes #11774 .
2020-01-01 14:29:58 +03:00
Chocobo1
2422d81de1
Migrate away from deprecated API in Qt 5.14
2019-12-25 19:23:37 +08:00
Prince Gupta
d3aa45526a
Allow transfer list text color changes through QSS
2019-12-19 12:45:26 +05:30
Mike Tzou
2e8b17e498
Merge pull request #11521 from Chocobo1/errorStatus
...
Fix stuck in wrong torrent state
2019-12-03 19:22:39 +08:00
Chocobo1
2ca70cf6cc
Fix stuck in wrong torrent state
...
Before this patch, adding the torrent in
https://github.com/qbittorrent/qBittorrent/issues/11511 and the torrrent
state will stay in torrent_status::checking_resume_data forever.
This is not the correct state since the `torrent_status.errc` field is
non-zero and this commit fixes it.
2019-11-26 03:15:48 +08:00
sledgehammer999
7aa01a1b51
Revert "Always save info dict when saving fastresume"
...
This reverts commit 4aab44e779
.
2019-11-25 15:35:06 +02:00
thalieht
4ffc0cff12
Reallow to force recheck torrents that aren't fully started
2019-11-16 22:13:35 +02:00
Chocobo1
640f52c05f
Let eta function return signed integer
...
We already use signed integer internally so it make sense to return it
as-is.
2019-11-14 12:14:29 +08:00
Mike Tzou
d12468ffb5
Merge pull request #11354 from thalieht/pausechecking
...
Reallow to pause checking torrents
2019-11-09 09:28:18 +08:00
thalieht
f150b3077d
Reallow to pause checking torrents
2019-11-08 19:14:50 +02:00
Mike Tzou
2fb1182700
Merge pull request #11317 from Chocobo1/preview
...
Fix "preview file" action not working
2019-11-04 11:32:14 +08:00
Chocobo1
e262b86c44
Reserve memory for file data buffers
2019-10-31 23:09:28 +08:00
Chocobo1
49266cb9e4
Replace boost::int64_t by std::int64_t
2019-10-23 13:43:49 +08:00
Chocobo1
0607050ecc
Clean up PreviewSelectDialog class
2019-10-02 21:12:35 +08:00
Chocobo1
2396ef5bd6
Move error logging of adding peers to the proper place
2019-09-04 16:09:24 +08:00
Chocobo1
4aab44e779
Always save info dict when saving fastresume
...
Otherwise torrents loaded from fastresume won't have it and needs
to redownload it from elsewhere and slowing down the startup process.
This is also required for the future where we will drop loading the
`info` dict from .torrent files.
2019-08-31 22:59:33 +08:00
Chocobo1
3a11c23efd
Fix wrong "added on" date
...
This only happens for magnet links when its metadata has yet to be retrieved.
Closes #11124 .
2019-08-27 15:01:50 +08:00
Chocobo1
bbecf87292
Handle invalid time activity properly
...
When there is no activity before m_nativeStatus.last_upload will be 0
and this commit will map it to -1 which retain the expected behavior as
before (libtorrent < 1.2 era).
2019-08-21 17:45:04 +08:00
Chocobo1
c420ff29af
Revise operations in TorrentHandle class
2019-08-08 18:57:54 +08:00
Chocobo1
e90a2c00a5
Replace QList by QVector
2019-08-05 20:56:15 +08:00
Mike Tzou
3811612f80
Merge pull request #10982 from Chocobo1/cleanup
...
Code base cleanup
2019-07-31 14:24:42 +08:00
Chocobo1
c1659a189b
Fix messed up symbols in log
2019-07-31 02:10:22 +08:00
Chocobo1
38fa6d2aee
Fix incomplete file extension not applied for new torrents
2019-07-28 13:05:46 +08:00
Vladimir Golovnev
02ab77053e
Merge pull request #10961 from glassez/fastresume
...
Save updated resume data for completed torrents
2019-07-23 18:47:30 +03:00
Vladimir Golovnev
cf2e7d77d6
Merge pull request #10950 from glassez/drop-deprecated
...
Don't use deprecated libtorrent features
2019-07-23 09:19:15 +03:00
Vladimir Golovnev (Glassez)
4021a0c7ce
Store libtorrent native file index in QHash
2019-07-23 06:43:39 +03:00
Vladimir Golovnev (Glassez)
3d70ebfc46
Save updated resume data for completed torrents
...
If fastresume data was rejected we need to save updated
resume data after torrent finishes rechecking.
2019-07-23 06:32:13 +03:00
Vladimir Golovnev (Glassez)
ad6a40d5f4
Extract PeerAddress class into separate file
2019-07-23 06:27:35 +03:00
Vladimir Golovnev (Glassez)
b822d2c380
Fix requested torrent resume data handling
...
Session should increase an appropriate counter each time
the torrent resume data is requested to save.
2019-07-22 14:22:26 +03:00
Vladimir Golovnev (Glassez)
60ffa3030e
Don't use deprecated libtorrent features
2019-07-21 19:28:28 +03:00
Vladimir Golovnev (Glassez)
87d98403f4
Don't break torrent checking
2019-07-14 12:34:50 +03:00