Chocobo1
66b86888fc
Add uploadLimit, downloadLimit fields to AddTorrentData & AddTorrentParams
2017-10-11 16:23:58 +08:00
Eugene Shalygin
db35bb54e1
Make BitTorrent::TorrentState strongly-typed enum
...
This is needed to forward declare this type and pass it by value.
Conversion from/to QVariant are hanled via Q_DECLARE_METATYPE, while
TorrentState::toString() function was used in webui only and as such is
moved there.
2017-10-10 21:28:57 +02:00
Vladimir Golovnev
083bc71315
Merge pull request #7396 from thalieht/updownratio
...
Properly pre-select the selected torrent's current ratio limiting options in UpDownRatioDlg
2017-10-08 21:06:55 +03:00
thalieht
0717f0d60c
Save ratio limits as int instead of string
2017-10-08 10:22:40 +03:00
thalieht
525fdd6c2b
Coding style, use nullptr and other minor things
2017-10-08 10:20:54 +03:00
thalieht
f27e75e8fa
Properly pre-select the selected torrent's current ratio limiting options in UpDownRatioDlg dialogs. Fixes #7352
2017-10-08 10:20:38 +03:00
Vladimir Golovnev
66a6674cbc
Merge pull request #7490 from glassez/category-path
...
Allow to set explicit save path for Category from GUI
2017-09-29 14:25:40 +03:00
Vladimir Golovnev (Glassez)
3ec992474d
Implement TorrentCategoryDialog class
2017-09-27 21:25:22 +03:00
Mike Tzou
1fe9272a8f
Merge pull request #7480 from Chocobo1/lastAct
...
Fix last activity calculation
2017-09-26 15:17:35 +08:00
Chocobo1
62493c672d
Fix last activity calculation. Closes #7461
...
`time_since_upload` & `time_since_download` can be -1, so filter them out
2017-09-24 21:06:34 +08:00
sledgehammer999
c7e35a1801
Merge pull request #7451 from sledgehammer999/report_delete_fail
...
Better reporting of success/failure of torrent and file deletion.
2017-09-21 23:36:53 +03:00
sledgehammer999
b9e233601d
Merge pull request #7446 from Chocobo1/utpOnly
...
Add uTP only mode option
2017-09-19 01:45:58 +03:00
sledgehammer999
8f16388915
Better reporting of success/failure of torrent and file deletion.
2017-09-17 23:04:12 +03:00
Chocobo1
45a0c5558a
Add comboBox for selecting BitTorrent protocol. Closes #6316 .
...
Use unicode string C_UTP in place of "uTP"
2017-09-18 01:52:57 +08:00
Chocobo1
a1d46a278b
Change default value of m_diskCacheSize. New default is 64 MB.
2017-09-14 20:32:04 +08:00
Chocobo1
855772ae5a
Fix dereferencing freed pointer. Closes #7420 .
...
The torrent is removed from session after `deleteTorrent()`
yet we still invoke `torrent->name()`, thus result in crash.
2017-09-11 13:16:34 +08:00
Vladimir Golovnev
4cd3a37b4a
Fix suggest_mode setting
...
Actually suggest_mode is of type int.
2017-08-31 22:02:52 +03:00
Mike Tzou
1afd5f70dd
Merge pull request #3235 from Chocobo1/session_option
...
libtorrent session options
2017-08-24 11:35:15 +08:00
Vladimir Golovnev
a6868e2b25
Merge pull request #7313 from glassez/sched
...
Don't disable scheduler when manually switching speed limits. Closes #7306
2017-08-23 17:05:28 +04:00
Vladimir Golovnev
bda5be8e4c
Skip user input events when adding torrent
...
Closes #7327 .
2017-08-23 11:14:34 +03:00
Vladimir Golovnev (qlassez)
93f5d4058d
Improve BandwidthScheduler
...
Don't disable scheduler when manually switching speed limits.
Closes #7306 .
2017-08-23 09:48:31 +03:00
Chocobo1
2da2054ccf
Use enums for settings
2017-08-21 20:30:26 +08:00
Chocobo1
3f5fa0025d
Add sanitize helper clampValue()
2017-08-21 16:50:56 +08:00
Chocobo1
f4be165767
Add send_buffer_watermark send_buffer_low_watermark
...
send_buffer_watermark_factor knobs
2017-08-21 16:50:14 +08:00
Chocobo1
55a1628a5e
Add suggest_mode knob
2017-08-21 16:50:14 +08:00
Chocobo1
6c32f6beff
Add choking_algorithm & seed_choking_algorithm knob
2017-08-21 16:49:45 +08:00
Chocobo1
21ec8fe53f
Add allow_multiple_connections_per_ip knob. Closes #5884 .
2017-08-21 16:48:38 +08:00
Chocobo1
4185209036
Add mixed_mode_algorithm knob
2017-08-21 16:48:38 +08:00
Chocobo1
6150e0c56b
Add guided_read_cache knob
...
cleanup header include order
2017-08-21 16:48:37 +08:00
sledgehammer999
907f222a73
Switch settings to signed int because libtorrent expects them that way.
2017-08-18 20:21:39 +03:00
sledgehammer999
b649d61e8b
Options to better memory control by libtorrent. Closes #7029 .
2017-08-18 20:21:37 +03:00
sledgehammer999
19fcd3dad6
Fix broken build.
2017-08-15 22:12:16 +03:00
sledgehammer999
7bb9c69c08
Fix connection problems when a specific interface/ip is configured.
...
Closes #7235 .
Bug related to #7099 and Qt.
2017-08-15 19:33:45 +03:00
sledgehammer999
c2a8970109
Fix calculation of 'Average time in queue' stat under libtorrent 1.1.x
2017-08-15 17:38:41 +03: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
Vladimir Golovnev
219a6b3ad1
Merge pull request #7267 from glassez/remove-temp
...
Don't remove shared temp folder
2017-08-13 17:00:40 +04:00
Vladimir Golovnev (qlassez)
3801150a7a
Don't remove shared temp folder
...
Don't remove shared temp folder when torrent finished and moved to
its "complete" folder. Only torrents with stripped root folder
have subfolder in temp folder so they should remove it.
2017-08-13 14:17:12 +03:00
sledgehammer999
1b8cda7924
Follow project coding style.
2017-08-12 16:23:15 +03:00
sledgehammer999
31a4309077
Catch possible exceptions when parsing IPs. Closes #7249 .
2017-08-12 16:23:14 +03:00
sledgehammer999
6270433237
Fix explicit Torrent Management Mode in Add New Torrent dialog. Closes #5602 .
2017-08-07 20:01:30 +03:00
sledgehammer999
e1f514042f
Merge pull request #7207 from glassez/move-torrent
...
Don't replace existing files when manually relocating torrent
2017-08-05 20:26:05 +03:00
Vladimir Golovnev (qlassez)
7d78457fe0
Don't replace existing files when relocating torrent
2017-08-05 20:17:44 +03:00
Vladimir Golovnev (qlassez)
f067b8b37c
Don't remove shared temp folder
2017-08-05 19:53:23 +03:00
Vladimir Golovnev (Glassez)
5f47d3b021
Don't create subfolder inside temp folder
2017-07-29 18:04:23 +03:00
Vladimir Golovnev (Glassez)
d22b626a02
Fix temporary subfolder isn't deleted
2017-07-28 15:16:02 +03:00
Eugene Shalygin
934133772e
Set interface for outgoing traffic.
...
This sets interface for outgoing traffic to the same as for ingoing
(listetning) with libtorrent 1.1.x.
2017-07-12 21:28:00 +02:00
Vladimir Golovnev
3181469d87
Merge pull request #6911 from tgregerson/tags
...
Add a Tags system to the GUI to expand torrent organization / filtering options. Closes #13 .
2017-06-26 15:57:27 +03:00
Tony Gregerson
467e516801
Add a Tags (multi-label) feature to the GUI. Closes #13 .
...
See https://github.com/qbittorrent/qBittorrent/issues/13 for details.
2017-06-25 13:53:07 -05:00
sledgehammer999
b5c0d90e9c
Merge pull request #6842 from Chocobo1/countPieces
...
[TorrentCreator] Show total number of pieces. Closes #6774 .
2017-06-02 08:56:10 +03:00
Eugene Shalygin
74cecb1b6c
Replace C-style casts with C++ ones
2017-05-29 17:25:42 +02:00
Mike Tzou
20f6bf817e
Merge pull request #6836 from Chocobo1/api
...
[WebAPI] Get piece information/state
2017-05-27 18:28:22 +08:00
Chocobo1
c618214061
[TorrentCreator] Show number of pieces. Closes #6774 .
2017-05-27 16:37:08 +08:00
Chocobo1
3933790bda
Add new webUI API. Closes #6457 .
...
Now getting piece information for a specific torrent is possible via:
* Returns an array of states (integers) of pieces in order. Defined as:
"0=not downloaded", "1=downloading", "2=downloaded".
GET /query/getPieceStates/<torrent_hash>
* Returns an array of hashes (strings) of pieces in order:
GET /query/getPieceHashes/<torrent_hash>
2017-05-26 14:37:03 +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
Chocobo1
d8c0a40b1f
Add explicit error handling when filesCount() returns negative value
...
Fix coverity CID 162538
2017-05-20 14:01:58 +08:00
Naikel Aparicio
9ba00d7035
Implemented share limit by seeding time
2017-05-17 14:33:17 -04:00
Vladimir Golovnev
44f8a48d73
Merge pull request #6724 from glassez/libt11
...
Don't use features, deprecated in libtorrent-1.1
2017-05-16 18:54:00 +03:00
Eugene Shalygin
92a7479e2d
Merge pull request #4994 from evsh/availability-column
...
Add availability column to torrent contents
2017-05-12 17:47:51 +02:00
Eugene Shalygin
bc18bf1ab4
Add TorrentHandle::availableFileFractions() function
...
The function returns list of availability values for all torrent files.
The availability here is different to that one in the progress bar. Here
it shows what part of the file's pieces is available (i.e. we do not count
availability > 1 for a piece).
2017-05-12 17:14:59 +02:00
Vladimir Golovnev
f3658daf72
Merge pull request #6699 from fbriere/issue/6265-top-dirname-while-adding
...
Use actual top-level dirname to look for incomplete files in new torrent
2017-05-11 15:23:16 +03:00
Vladimir Golovnev (Glassez)
fbda237cc4
Fix local IP addresses
2017-05-10 13:54:29 +03:00
Vladimir Golovnev (Glassez)
26f645bd6c
Don't create redundant "buf" variable
2017-05-10 13:54:29 +03:00
Vladimir Golovnev (Glassez)
a4d2df575e
Don't use deprecated torrent_handle::set_tracker_login
2017-05-10 13:54:29 +03:00
Vladimir Golovnev (Glassez)
1d3dbcb9d2
Don't use deprecated fields of torrent-related alerts
2017-05-10 13:54:29 +03:00
Vladimir Golovnev (Glassez)
5dc54aa224
Don't use deprecated torrent_status fields
2017-05-10 13:54:28 +03:00
Vladimir Golovnev (Glassez)
72a54910e9
Don't use deprecated peer_info fields
2017-05-10 13:54:28 +03:00
Vladimir Golovnev (Glassez)
a2f82be6c2
Don't use deprecated url_seed_alert fields
2017-05-10 13:54:28 +03:00
Vladimir Golovnev (Glassez)
13b04f8d2d
Don't use deprecated settings_pack members
2017-05-10 13:54:27 +03:00
Vladimir Golovnev (Glassez)
bdca55f15c
Use new Session Statistics feature
2017-05-10 13:24:51 +03:00
Vladimir Golovnev (Glassez)
8a6d8f3953
Use cached SessionStatus and CacheStatus
2017-05-10 13:24:37 +03:00
Vladimir Golovnev (Glassez)
78d6b14fe8
Don't use deprecated torrent_info fields
2017-05-10 12:43:49 +03:00
Chocobo1
446b3307f9
Make method const
2017-05-09 14:21:55 +08:00
Chocobo1
42c17ea5ce
Fix argument name differ in definition & declaration
2017-05-09 14:12:36 +08:00
Chocobo1
3739bcc270
Initialize struct member
2017-05-09 13:51:12 +08:00
Vladimir Golovnev
c1e3e2a745
Revert "Guard the flag used for deferred session configure." ( #6733 )
...
This reverts commit 5cbc7b16c0
.
2017-05-02 14:39:47 +03:00
Brian Kendall
eba41978b0
Added command line arguments for specifying options when adding torrents
...
Arguments include adding torrents as paused/started, skiping hash check, setting category, downloading in sequential order, downloading first and last pieces first, and skipping the 'add new torrent' dialog. Added TriStateBoolOption class for specifying options that don't have a default value when unused (e.g. add-paused). Also improved command line usage text to include more information, have better organization, and not exceed 80 columns in width. Also also added firstLastPiecePriority field to BitTorrent::AddTorrentData, and modified TorrentHandle so that if first/last piece priority should be on, it will be toggled on after the torrent's metadata has loaded.
2017-04-30 14:22:30 -04:00
Frédéric Brière
e8f6149a6d
findIncompleteFiles(): Replace dir listing with individual checks. Closes #6265 .
...
Looking for incomplete files in a new torrent by using a pre-generated
directory listing presents several disadvantages:
- It requires us to extract the top-level directory name (in case it
was renamed).
- It requires us to know whether the top-level directory was stripped.
- In the latter case, it may result in recursively traversing the
entire contents of all downloaded torrents.
Calling QFile::exists() individually for each file solves all these
issues.
In so doing, the handling of single-file and multiple-file torrents are
rendered pretty much identical, and can therefore be merged.
2017-04-30 09:26:58 -04:00
Vladimir Golovnev
93df0ef1d1
Move AddTorrentParams to its own header ( #6712 )
...
* Move AddTorrentParams to its own header
* fixup! Move AddTorrentParams to its own header
2017-04-29 11:49:40 +03:00
Vladimir Golovnev
70f1153413
Merge pull request #6694 from glassez/remove-temp
...
Remove torrent temp folder when it becomes unneeded
2017-04-29 11:44:15 +03:00
Vladimir Golovnev (Glassez)
160b7ff2d3
Remove torrent temp folder when torrent is deleted
2017-04-28 16:52:16 +03:00
Vladimir Golovnev (Glassez)
c56b4a25bc
Remove torrent temp folder if it becomes unneeded
2017-04-28 12:30:48 +03:00
sledgehammer999
b71ee80ecd
Optimize P2P filter parsing too.
2017-04-26 02:33:57 +03:00
sledgehammer999
fd7e69e1e0
Add helper function for logging messages.
2017-04-26 02:33:56 +03:00
sledgehammer999
51cf6bd2a5
Optimize DAT filter parsing. Parse in memory and in place instead of copying strings around.
2017-04-26 02:33:55 +03:00
sledgehammer999
8f6e04d779
Using new IP parser provided by @evsh. It is faster and uses less memory.
...
Class `DATIPv4Parser` was written by Eugene Shalygin <eugene.shalygin@gmail.com> (evsh on github).
2017-04-25 04:43:30 +03:00
sledgehammer999
f53dab8ad4
Output log messages for ip filter parsing errors.
2017-04-25 04:43:29 +03:00
sledgehammer999
05ab9fc355
Optimize ip filter parsing.
2017-04-25 04:43:22 +03:00
Vladimir Golovnev (Glassez)
c799923d7d
Allow strip root folder using default settings
2017-04-24 12:03:35 +03:00
Vladimir Golovnev (Glassez)
711be50e9c
Fix AddTorrentData field types
2017-04-24 11:59:16 +03:00
Vladimir Golovnev (Glassez)
989a70fe60
Redesign RSS subsystem
2017-04-23 09:03:46 +03:00
sledgehammer999
ae0ec716cb
Fix inverted check when applying the IP filter.
2017-04-17 17:07:12 +03:00
sledgehammer999
c27108c97a
Merge pull request #6630 from evsh/fix-6454
...
Start up torrents after UI was created. Fixes #6454 .
2017-04-17 16:44:03 +03:00
Vladimir Golovnev (Glassez)
22178f9997
Fix strip torrent root folder
2017-04-15 17:33:20 +03:00
Vladimir Golovnev (Glassez)
6d7d566cdf
Fix TorrentHandle rootPath() and contentPath() methods
2017-04-15 10:11:53 +03:00
Vladimir Golovnev (Glassez)
d413bc65ef
Improve strip torrent root folder
...
Fix issue when you rename the "root item" in the "Add New Torrent" dialog
and uncheck "Create subfolder", it will create the subfolder with the
renamed name.
Fix PropertiesWidget first folder is expanded after app restart.
Strip root folder if torrent was added via magnet link.
Fix crash when you get name of torrent without metadata.
2017-04-15 10:11:53 +03:00
sledgehammer999
4b2d8a7941
Setting for creating subfolder on multifile torrents. Closes #588 .
2017-04-15 10:11:53 +03:00
Eugene Shalygin
21a72c651f
Start up torrents after UI was created. Fixes #6454 .
...
Commit dd0537d
changed torrents startup code adding alerts processing
into it. Therefore alerts were processed before UI code subscribed to
signals and therefore part of alerts was not reflected in the UI.
Thus here we do not start torrents in Session constructor, but do that
from Application::exec() after UI was constructed and is ready to process
signals.
2017-04-14 00:58:43 +02:00
Eugene Shalygin
a8d95dd8bd
Save relative paths in fastresume files
...
Conditionally change absolute paths to relative in the fastresume data files.
The condition is specified by user via a command line parameter and
paths are relative to the profile dir.
On Windows the convertion to relative path is performed if the path and
the profile are on the same drive only.
2017-04-12 00:51:37 +02:00
Eugene Shalygin
0bf7fa15c1
Replace wrappers in base/utils/fs.h with Profile::SpecialFolders::location()
2017-04-12 00:50:33 +02:00