Commit graph

911 commits

Author SHA1 Message Date
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
Eugene Shalygin
0f746ffd5a Add support for different configurations. Partially closes #465
It may be useful to have different configurations either for portable
versions or for debugging purposes. To implement this we add two
options, avaliable via command line switches
1. An option to change configuration name ("--configuration"). The name
supplied via this option is appended to
QCoreApplication::applicationName() to form "qBittorrent_<conf_name>"
name for the configuration files.
2. An option to provide a path do directory where all the settings are
stored (kind of profile directory). There is a shortcut "--portable"
which means "use directory 'profile' near the executable location".

In order to implement that we have to perform initialisation of the
profile directories before the SettingStorage and Preferences singletones
are initialised. Thus, options parsing shall be performed without defaults
read from preferences.
2017-04-12 00:50:28 +02:00
sledgehammer999
be60b3e046
Change the user-agent format in the session.cpp too. 2017-03-07 23:41:29 +02:00
sledgehammer999
147f4d76e2 Merge pull request #6445 from Chocobo1/fix
Follow http user-agent format
2017-03-07 23:38:14 +02:00
sledgehammer999
7a6da3d3ce
Merge pull request #6479 from Chocobo1/qt4
Remove remainings of Qt4
2017-03-07 23:28:56 +02:00
sledgehammer999
431658bee6
Fix race condition where there was a chance to allow all ips between reparsings of the ip filter. 2017-03-07 23:16:50 +02:00
sledgehammer999
5084c01c2b Merge pull request #5877 from dzmat/to_pull_request
locally banned IP list managment (Closes #1837 )
2017-03-07 23:14:20 +02:00
Vladimir Golovnev (Glassez)
79e8f69fb6 Remove exception-suppress macros
Remove SAFE_* macros from TorrentHandle class.
These macros using seems to be unneeded.
2017-03-07 15:04:57 +03: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
dzmat
59de1af31b implemented UI for managment of locally banned IP list (Closes #1837 ) 2017-03-06 19:40:34 +07:00
Chocobo1
2091dfaa69 Follow http user-agent format
Add version variable without the starting "v"
2017-03-06 14:42:32 +08:00
Chocobo1
cb1646be32 Prepend QBT_ for preprocessor variables 2017-03-06 13:41:58 +08:00
Eugene Shalygin
e64bb1de8c Drop Qt 4 support 2017-03-05 22:24:59 +01:00
sledgehammer999
b5f81a34cb
Use new create_torrent constructor were available. 2017-02-22 19:25:50 +02:00
sledgehammer999
4adcd03ec7 Merge pull request #6366 from Chocobo1/rand
Replace rand()
2017-02-20 01:49:27 +02:00
Chocobo1
511796f74e Replace rand() by a true uniform distribution generator 2017-02-16 12:21:26 +08:00
sledgehammer999
d045f64ebb Merge pull request #6288 from Falcosc/fix_add_torrent_queue_overflow
fix queue overload for add torrent at session start
2017-02-08 22:46:58 +02:00
falco
ee239ddd1e fix queue overload for add torrent at session start 2017-02-08 15:13:21 +00:00
sledgehammer999
25c7c297e8 Merge pull request #6317 from dzmat/public_to_private
reduce methods accessibility from public to private
2017-02-06 00:11:38 +02:00
sledgehammer999
5046c36458
Immediately update torrent_status after manipulating super seeding mode. Partially fixes #6072. 2017-02-05 22:02:33 +02:00
dzmat
b167b4174e reduce methods accessibility from public to private 2017-01-29 15:17:55 +07:00
Falco
84759d4f20 fix index overflow for torrents with invalid meta data or empty progress 2017-01-21 14:35:09 +01:00
sledgehammer999
fed325a54d Merge pull request #6140 from Chocobo1/relocateNoRemove
After files relocate, don't remove the old folder even if it is empty
2017-01-19 15:52:09 +02:00
sledgehammer999
dcab1da8ab Merge pull request #6138 from Chocobo1/stats2
Use the numbers from tracker scrape response
2017-01-19 11:49:47 +02:00
Chocobo1
a2bb947dcc After files relocate, don't remove the old folder even if it is empty. 2017-01-19 14:21:04 +08:00
Chocobo1
fa45ba102c Refactor 2017-01-19 14:21:04 +08:00
Chocobo1
72a6f7ae24 Use the numbers from tracker scrape response. Closes #5048, #6117.
Add comments
Thanks to Ian Kent for helping investigate
2017-01-19 13:17:50 +08:00
sledgehammer999
a178268b31 Merge pull request #5959 from dzmat/DRY_fix_minor
Little DRY violation fixed
2017-01-19 01:49:21 +02:00
sledgehammer999
a092cb9bda
Remove settings to exchange trackers. It wasn't used by non-libtorrent clients. Also it has a privacy risk and you might be DDoSing someone. DHT makes it obsolete anyway. 2017-01-19 01:13:55 +02:00
Eugene Shalygin
b6e64c13d8 Fetch torrent status when generating final fastresume data
This is done to get correct queue position, which has to be written into
the fastresume file. See discussion in #6154.
2017-01-18 18:59:03 +01:00
Eugene Shalygin
6cd233dd61 Add queue repair code
This is a bit adjusted code created by nxd4, who shared it in issue
disappearing).
2017-01-18 17:27:20 +01:00
Eugene Shalygin
4c13f155ff Do not remove added files unconditionally. Closes #6248
If removing of added torrents is enabled and dialog for adding torrents
is disabled, file guard was assuming that torrent is added successfully.
And that can be not the case if a user trying to add a broken torrent
file (or not a torrent file at all). Then this file gets deleted always.

Fix this by checking result of addTorrent_impl().
2017-01-18 00:04:26 +01:00
Eugene Shalygin
7b594a635e Set upper version limit for QTBUG-52633
The bug seems to be fixed in version 5.7.1.
2017-01-11 00:14:16 +01:00
sledgehammer999
4f59caf3ca Fix share ratio limiting. Broken by commit 259b5e51c4. Closes #6039 #6048. 2016-12-15 00:04:50 +02:00
Eugene Shalygin
9a123c42c3 Add a workaround for QTBUG-52633, qBt issue #5073
The QTBUG-52633 results in food of network interface changed events, libtorrent IP
rebind calls and flood in the qBt log. The work around is the check not only for
interface name, but for IP address on that interface before triggering the libtorrent rebind.
2016-12-13 17:18:58 +01:00
dzmat
abeff99ba0 minimizing the number of warnings about deprecated auto_ptr 2016-12-08 19:24:52 +07:00
sledgehammer999
0d1b70e248 Decouple dependency between Session and BandwidthScheduler during Session init. Closes #6007. 2016-12-07 01:33:48 +02:00
Chocobo1
11c2ee81c1 Fix warning C4267.
conversion from 'size_t' to 'int', possible loss of data.
2016-12-02 15:32:27 +08:00
dzmat
4b18bb29a6 DRY violation fixed 2016-11-18 23:05:47 +07:00
sledgehammer999
90bbe3379d Merge pull request #5882 from onto/pvs-studio
Fixes and improvements after check by PVS-Studio
2016-11-07 00:18:46 +02:00
thalieht
c7a04e27f4 Log: set embedded Tracker [OFF] msg type as info 2016-11-06 11:55:31 +02:00
Anton Lashkov
1233c5b67b Fix name of variable same as class member 2016-11-04 21:44:00 +04:00
sledgehammer999
259b5e51c4 Don't ever stop seeding forced torrents. Closes #5784. 2016-11-02 18:25:09 +02:00
sledgehammer999
146d4e049a Some more compiler warnings fixed. 2016-11-02 17:49:50 +02:00
sledgehammer999
9f8dfbc51c Fix warning due to stupid typo. 2016-11-01 22:24:55 +02:00
sledgehammer999
e440fc3d17 Fix setting a speed limit. 2016-11-01 17:51:57 +02:00
sledgehammer999
3081a8bb3f Add libtorrent's DHT bootstrap node to our bootstrap list. 2016-11-01 03:42:38 +02:00
sledgehammer999
660b8cdb7e Use the new API to add DHT bootstrap nodes for libtorrent 1.1.x and simplify the code a bit. 2016-11-01 03:42:33 +02:00
sledgehammer999
afe930cbee Use new libtorrent 1.1.2+ utility function to generate client ID instead. 2016-11-01 03:42:28 +02:00
sledgehammer999
e054f63746 Make sure that paths are loaded/saved using slashes as dir separators. 2016-11-01 03:42:22 +02:00
sledgehammer999
59b570cf62 Display message about libtorrent plugins for the correct case. 2016-11-01 03:42:17 +02:00
sledgehammer999
f391b24b1d Migrate last setting related to interfaces to the new system. 2016-11-01 03:42:12 +02:00
sledgehammer999
f885c6375a Use better variable names for tracker announce IP setting. 2016-11-01 03:42:01 +02:00
sledgehammer999
5cbc7b16c0 Guard the flag used for deferred session configure. 2016-11-01 03:41:45 +02:00
sledgehammer999
1757973f88 Misc fixes. 2016-11-01 03:41:40 +02:00
sledgehammer999
10cd45dc81 Fix setting limits to unlimited. 2016-11-01 03:41:35 +02:00
sledgehammer999
a5ae86512a Rename IP filtering functions and settings names. 2016-11-01 03:06:58 +02:00
sledgehammer999
b97cb7422f Export torrents added only after the setting was enabled. 2016-11-01 03:06:58 +02:00
sledgehammer999
124eddc68c Merge pull request #5342 from glassez/session
Optimize BitTorrent::Session settings applying
2016-11-01 03:02:29 +02:00
Vladimir Golovnev (Glassez)
c4e9291db4 Do not create save folder in advance
Closes #5422.
2016-06-26 16:48:11 +03:00
Vladimir Golovnev (Glassez)
b5fe749f0b Use new libtorrent-1.1 settings API 2016-06-20 08:30:02 +03:00
Vladimir Golovnev (Glassez)
b2cb473b63 Don't use Preferences in BitTorrent::Session 2016-06-20 08:30:02 +03:00
sledgehammer999
e3e7636de8 Fix parsing of eMule .DAT filters. Closes #5281. 2016-06-20 02:24:37 +03:00
Eugene Shalygin
5f2362dc89 Replace TorrentHandle::fileExtremityPieces() with TorrentInfo::filePieces() 2016-06-02 10:30:35 +02:00
Eugene Shalygin
b3378d4599 Show files in tooltips for pieces progress bars
In addition to the current tooltip, which shows color legend, if user
holds the Shift key during hovering we show another tooltip which
contains a table of contents for the piece under the moue cursor. The
table lists file sizes and names. If the cursor points to a part of a
file which spans several pieces, those pieces are highlighted.
2016-06-02 10:30:28 +02:00
sledgehammer999
5878d49f60 Fixup previous commits and allow IPv6 interface addresses too. 2016-05-27 01:37:16 +03:00
sledgehammer999
1397a951fe Merge pull request #5096 from Harekiet/kietC
Bind directly to an IP instead of using a network Interface
2016-05-26 17:36:22 -05:00
sledgehammer999
81ea07abee Rename ASM to TMM and related stuff. 2016-05-25 20:07:36 +03:00
Chocobo1
f13c604fbe Use boost:circular_buffer instead of QList.
QList has to store an additional pointer for each element which leads to bad space efficiency.
2016-05-24 10:44:42 +08:00
Vladimir Golovnev (Glassez)
a318040eaa Use new alert dispathing API 2016-05-17 07:58:38 +03:00
Eugene Shalygin
6e73fa80b8 Add option to automatically remove .torrent files upon adding
Some browsers do not download files, intended for immediate opening,
into a temporary directory, and thus a regular download directories
accumulate those unneeded files.

The option allows qBittorrent to clean after itself and delete those
files whether they were succesfully added or not (user-selectable
policy).
2016-05-09 11:52:36 +02:00
Chocobo1
a81cf1ea16 Fix "IP Filtering - Apply to trackers" wasn't being applied. Closes #5217. 2016-05-08 20:46:58 +08:00
sledgehammer999
0143799623 Don't show added torrent notification during startup. 2016-04-30 01:38:24 +03:00
Vladimir Golovnev (Glassez)
56287173b1 Fix .!qB extension is added when disabled 2016-04-25 15:30:41 +03:00
Vladimir Golovnev (Glassez)
b8c703b8b0 Use truncated torrent hash in temp path 2016-04-25 08:39:36 +03:00
Vladimir Golovnev (Glassez)
850556fdfa Use unique temp directories
Save torrent in temp_path/<torrent_hash> directory.
Closes #5154.
2016-04-25 08:39:36 +03:00
Vladimir Golovnev (Glassez)
2fb6bb00bf Fix rechecking after torrent is finished 2016-04-20 15:45:15 +03:00
Vladimir Golovnev (Glassez)
e0d9ae3116 Try to find incomplete files for new torrent 2016-04-20 15:45:03 +03:00
Vladimir Golovnev (Glassez)
8e9b0d97ec Fix torrent adding with existing data 2016-04-18 08:30:49 +03:00
Chocobo1
a12d82524a Fix class member initialize order 2016-04-16 12:31:41 +08:00
Sjoerd van der Berg
c7c71d3c88 Change back to the original names for the announce address
Only allow ip's through that match the currenrly selected network interface and address
2016-04-13 10:51:29 +02:00
Sjoerd van der Berg
e2f43b3383 Add option to bind directly to an IP instead of using a network Interface 2016-04-09 09:19:22 -07:00
sledgehammer999
2efdddb9af Always delete partfile (libtorrent 1.1.x). 2016-03-14 14:53:14 +02:00
sledgehammer999
8c36f753f9 Merge pull request #4867 from evsh/peers-show-files
Show downloading files in peers list. Attempt #2
2016-03-13 19:14:48 -05:00
Vladimir Golovnev (Glassez)
c047ef5b37 Fix save path bugs 2016-03-06 21:23:15 +03:00
Vladimir Golovnev (Glassez)
dd34663224 Implement Advanced Saving Management subsystem
Closes #4696
2016-03-04 19:59:53 +03:00
Eugene Shalygin
8baa144933 Use correct piece size while calling torrent_info::map_block()
This should fix crashes. Issue #4597
2016-02-27 21:07:54 +01:00
Eugene Shalygin
b24bdcb8d9 Revert "Temporarily revert PR #2885 (filename column in peers view)."
This reverts commit 69d52a06d7.
2016-02-27 20:51:39 +01:00
sledgehammer999
c1f7446c26 Partially revert decfae7b8a. Newer libtorrent RC_1_1 has added back the missing variables. 2016-02-21 18:42:55 +02:00
sledgehammer999
b099a766e6 Don't merge trackers for private torrents. Closes #2928. 2016-02-15 03:24:22 +02:00
sledgehammer999
958b70e4ac Merge pull request #4403 from glassez/fastresume
Improve .fastresume saving and torrents starting up. Closes #4315.
2016-02-05 12:06:58 -06:00
Vladimir Golovnev (Glassez)
732f46cc69 Save resume data using QSaveFile (Qt5 only) 2016-02-05 20:29:30 +03:00
Vladimir Golovnev (Glassez)
034bd83915 Manage save path in one place 2016-02-04 11:42:30 +03:00
Vladimir Golovnev (Glassez)
c57aaf0216 Create MagnetUri object from BC link or HASH string 2016-01-31 21:32:41 +03:00
Vladimir Golovnev (Glassez)
decfae7b8a Add libtorrent v1.1 basic support 2016-01-31 14:04:25 +03:00
Vladimir Golovnev (Glassez)
c93ada1e7b Prepare for libtorrent v1.1 support 2016-01-31 10:40:55 +03:00
ngosang
6b6411d06b Download more pieces in "Download first and last pieces first" feature 2016-01-30 03:11:14 +01:00
sledgehammer999
063eb7e9ab Merge pull request #3941 from jconnop/announceIP
Always update native session's announce_ip setting
2016-01-28 11:44:23 -06:00
sledgehammer999
69d52a06d7 Temporarily revert PR #2885 (filename column in peers view).
There's a bug that causes frequent crashes.
Issue #4597.
2016-01-21 00:26:03 +02:00
sledgehammer999
d3c38da04d Merge pull request #4565 from glassez/fixes
Fix some bugs (reported by Coverity Scan)
2016-01-17 16:18:40 -06:00
sledgehammer999
c2a26d39af Merge pull request #4577 from glassez/hotfix
[IMPORTANT] Fix loading corrupted .fastresume file
2016-01-17 11:49:58 -06:00
Vladimir Golovnev (Glassez)
3df802cef7 Delete unused include 2016-01-17 10:12:55 +03:00
Vladimir Golovnev (Glassez)
3a2bd3c9b1 Fix loading corrupted .fastresume file 2016-01-16 15:27:01 +03:00
Vladimir Golovnev (qlassez)
245f424014 Optimize Session::startupTorrents()
Reduce queue size by starting up initial items (torrents) when they are detected
2016-01-16 14:36:56 +03:00
Vladimir Golovnev (qlassez)
a5780dd66c Switch to using previous fastresume file names 2016-01-16 14:36:56 +03:00
Vladimir Golovnev (qlassez)
4f01660591 Perform fastresume data saving in separate thread
Closes #4315
2016-01-16 14:36:56 +03:00
Vladimir Golovnev (Glassez)
ea8acf3bbd Fix unitialized scalar field bugs 2016-01-15 09:44:10 +03:00
Vladimir Golovnev (Glassez)
cf25ed3d80 Fix reconfigure additional trackers
Replace wrong QList::empty() call with QList::clear()
2016-01-13 19:12:31 +03:00
Boris Nagaev
4706733846 convert includes like <Windows.h> to lowercase
There is header file windows.h, not Windows.h.
MinGW on Linux build machine is filename case-sensitive.
2016-01-05 23:29:26 +03:00
sledgehammer999
17f1a7d22a Merge pull request #2885 from evsh/peers-show-files
Add column with list of currently downloading files
2016-01-02 11:48:10 -06:00
Vladimir Golovnev (qlassez)
30f4036c97 Fix moving torrents to Temp after app restart
Closes #4434
2015-12-23 14:13:49 +03:00
sledgehammer999
db459b2400 Merge pull request #3832 from glassez/search
Search Engine code redesign (Issue #2433).
2015-12-21 11:13:38 -06:00
Vladimir Golovnev (Glassez)
54979e6b53 Move basic search-related code into Core.
Also use qBittorrent torrent file download routines instead of
nova2dl.py script.
2015-12-20 19:20:59 +03:00
Eugene Shalygin
0a92cb74a5 functions for retrieving list of currently downloading files 2015-12-20 01:45:35 +01:00
sledgehammer999
2d25edd4d6 Don't recheck twice after 'Force Recheck' with 'Recheck torrents on completion' enabled. Closes #4274. 2015-12-13 14:33:16 +02:00
Jesse Connop
41dbb82cc2 Always update native session's announce_ip setting 2015-12-08 21:55:34 +13:00
sledgehammer999
91a99c6903 Fix possible deadlock during application exit. 2015-12-07 23:59:45 +02:00
buinsky
00c765be1b Implement sync/torrent_peers request 2015-12-06 22:21:24 +03:00
Vladimir Golovnev (Glassez)
9db93e5d8f Rename Core to Base (Closes #3733). 2015-12-06 14:27:00 +03:00