Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style
2020-11-17 21:02:37 +03:00
Chocobo1
19d77b0881
Add support for creating v2 torrents
2020-10-10 23:21:26 +08:00
Chocobo1
40e432b127
Bump requirement to libtorrent 1.2
...
Closes #12258 .
2020-06-26 17:17:29 +08:00
arvidn
af05990bc9
Fix libtorrent include to a more precise header
...
torrentcreatorthread.cpp does not need to include libtorrent/storage.hpp, but
just needs libtorrent/file_storage.hpp. The former header is for implementing a
custom storage. Change include to libtorrent/file_storage.hpp
2020-06-05 23:48:08 +02:00
Vladimir Golovnev (Glassez)
a8c333ff25
Drop "private" subfolders
...
"private" subfolders violate the structure of the project,
since the existence of all other subfolders is based on a
different principle.
In addition, there is no clear line between "private" and
"non private".
2020-05-08 14:59:18 +03:00
sledgehammer999
a17b1f2b78
Use static_cast for explicit type conversions
2020-04-18 18:22:40 +03:00
Chocobo1
9f281c2d25
Avoid holding entire file in memory
...
Previously we need a file buffer that is as large as the file size and
this could be a problem when user has less free memory available or
having very large data. Now with the help of `FileOutputIterator`,
we can have a much smaller, fixed size immediate file buffer and also
the code looks nice with `lt::bencode()`.
2020-04-03 18:27:13 +08:00
Chocobo1
edcc74c1ae
Add option to align file to piece boundary when creating new torrent
...
Alignment is achieved by adding dummy pad files between files which is
handled by libtorrent.
Closes #10460 .
2019-09-14 12:16:50 +08:00
Vladimir Golovnev (Glassez)
60ffa3030e
Don't use deprecated libtorrent features
2019-07-21 19:28:28 +03:00
thalieht
9995967fbf
Remove some unused #include
2019-06-04 17:48:55 +03: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 (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
Vladimir Golovnev (Glassez)
302c99d7d5
Drop support of libtorrent < 1.1.10
2019-01-11 15:13:17 +03:00
Chocobo1
d013e0922d
Use the proper Qt type
2019-01-06 18:32:01 +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
Chocobo1
0217d5b4c0
Replace single-character string with character literal
...
Also remove unnecessary dynamic allocation.
2018-07-21 23:26:15 +08:00
thalieht
20ca90800d
Fix coding style
2018-05-09 17:06:22 +03: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
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
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
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
Vladimir Golovnev (qlassez)
cff6a64e9f
Use qUtf8Printable() for logging strings
...
qDebug(), qInfo(), qWarning(), qCritical(), qFatal() expect %s arguments
to be UTF-8 encoded, while qPrintable() converts to local 8-bit encoding.
Therefore qUtf8Printable() should be used for logging strings instead of
qPrintable().
2017-08-13 16:14:57 +03:00
Chocobo1
c618214061
[TorrentCreator] Show number of pieces. Closes #6774 .
2017-05-27 16:37:08 +08:00
Chocobo1
7e87eeb2d4
Use QThread::requestInterruption() instead of m_abort flag
2017-05-24 11:54:42 +08:00
Chocobo1
009798f690
Follow header include rule
2017-05-24 11:54:42 +08:00
sledgehammer999
147f4d76e2
Merge pull request #6445 from Chocobo1/fix
...
Follow http user-agent format
2017-03-07 23:38:14 +02:00
Chocobo1
fa2128cbae
Replace Utils::String::fromStdString() by QString::fromStdString()
2017-03-07 19:42:44 +08:00
Chocobo1
ffdcfe9686
Replace Utils::String::toStdString() by QString::toStdString()
2017-03-06 23:58:38 +08:00
Chocobo1
cb1646be32
Prepend QBT_ for preprocessor variables
2017-03-06 13:41:58 +08:00
Vladimir Golovnev (Glassez)
c93ada1e7b
Prepare for libtorrent v1.1 support
2016-01-31 10:40:55 +03:00
Vladimir Golovnev (Glassez)
ea8acf3bbd
Fix unitialized scalar field bugs
2016-01-15 09:44:10 +03:00
Vladimir Golovnev (Glassez)
9db93e5d8f
Rename Core to Base ( Closes #3733 ).
2015-12-06 14:27:00 +03:00