Commit graph

372 commits

Author SHA1 Message Date
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
Chocobo1
d1ee54f6ea Refactor: move methods under the same #if section. 2017-04-11 23:16:16 +08:00
Chocobo1
7f346b49a7 Refactor: move the validation of certificates & key functions under Server class
Rename method
Add log messages
2017-04-10 21:18:59 +08:00
opengg
db3158c410 [WebUI] bugfix: RequestParser::splitMultipartData drop extra trailing newline. 2017-03-11 01:26:22 +08:00
sledgehammer999
9eb01fbe4d Merge pull request #6489 from evsh/fix-fileguard
Fix TorrentFileGuard::setAutoRemove() recursion problem. Closes #6488.
2017-03-08 12:18:58 +02:00
Eugene Shalygin
3091e03a95 Fix CMake build 2017-03-08 09:12:49 +01:00
Eugene Shalygin
3752d112fb Fix TorrentFileGuard::setAutoRemove() recursion problem. Closes #6488.
The problem was created during Qt 4 drop, when FileGuard was promoted
from a member to a base class. The function was blindly changed.
2017-03-08 09:05:58 +01:00
sledgehammer999
729fbb2e50
Change named of getter function. 2017-03-08 00:16:25 +02:00
sledgehammer999
aa51907387
Merge pull request #6369 from magao/issue6367
Use Perl-compatible regexes for RSS rules. Closes #6367.
2017-03-08 00:04:17 +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
87384ca2a2 Replace Utils::String::toHtmlEscaped() by QString::.toHtmlEscaped() 2017-03-07 00:03:53 +08:00
Chocobo1
ffdcfe9686 Replace Utils::String::toStdString() by QString::toStdString() 2017-03-06 23:58:38 +08:00
Chocobo1
7539bee5c5 Remove remaining QBT_USES_QT5 defines.
Fixup of e64bb1de8c.
2017-03-06 23:47:07 +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
008d7dbedc Raise minimal Qt version to 5.5.1 2017-03-05 22:24:59 +01:00
Eugene Shalygin
e64bb1de8c Drop Qt 4 support 2017-03-05 22:24:59 +01:00
sledgehammer999
22989a436e Merge pull request #6461 from Chocobo1/rand_fix
Workaround thread_local on osx
2017-03-05 14:43:29 +02:00
Chocobo1
cae2f3059c Workaround thread_local not supported on OSX
Drop back to xcode7.3 on TravisCI
2017-03-04 20:37:48 +08:00
Chocobo1
3b5e7eb0ea Fix compile error: ‘escape’ is not a member of ‘Qt’ 2017-03-04 16:22:00 +08:00
Chocobo1
ea9d65f377 Fix incomplete type compile error with Qt4 2017-03-04 16:20:36 +08:00
Chocobo1
6ca3e4f094
Add Utils::String::toHtmlEscaped 2017-03-03 21:28:30 +02:00
Chocobo1
7756dd80f3
[WebUI]: add X-XSS-Protection, X-Content-Type-Options, CSP header 2017-03-03 21:28:28 +02:00
ngosang
f5ad04766f
[WebUI] Avoid clickjacking attacks 2017-03-03 21:28:27 +02:00
Chocobo1
f9c39e3dac
[WebUI]: exclude insecure ciphers 2017-03-03 21:28:26 +02:00
Chocobo1
84bc011df5
Code formatting
Remove extra private keyword
2017-03-03 21:28:25 +02:00
sledgehammer999
b5f81a34cb
Use new create_torrent constructor were available. 2017-02-22 19:25:50 +02:00
sledgehammer999
ad4b691fa5 Merge pull request #6413 from evsh/no-proxy-in-webui-server
Disable proxy in WebUI HTTP server. Closes #6349.
2017-02-21 13:15:22 +02:00
Eugene Shalygin
be8eab4e54 Disable proxy in WebUI HTTP server. Closes #6349.
Due to a bug in Qt 5.8 (QTBUG-58706) QTcpServer tries to use HTTP proxy
when it is set as default app proxy (for instance via "http_proxy"
environment variable) and this breaks the server. So we disable any proxy
in it.
2017-02-21 00:07:09 +01: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
Chocobo1
c7d10dc091 Turn off port forwarding of WebUI by default for GUI users 2017-02-16 12:21:26 +08:00
Tim Delaney
a844ccb06a Cache rule regular expressions for performance
--HG--
branch : magao-dev
2017-02-11 18:43:50 +11:00
Tim Delaney
f9abd254f4 Use Perl-compatible regexes for RSS rules. Closes #6367.
--HG--
branch : magao-dev
2017-02-11 16:33:18 +11: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
73f762250c Merge pull request #6358 from Chocobo1/coverity
Fix issues on coverity
2017-02-08 15:34:45 +02:00
Chocobo1
4ad541d066 Fix coverity issues
torrentcontentmodel: Use a variable to store filesCount
optionsdlg: add fallthrough comment to suppress warning
speedPlotview: initialize member
misc: fix wrong type used, add spaces
2017-02-08 13:49:47 +08:00
Chocobo1
cab10aa7b4 Use QString::toStdString()
Qt5 utilized the desired toUtf8() instead of toAscii().
2017-02-08 13:21:36 +08:00
sledgehammer999
179b686e42 Merge pull request #6176 from magao/issue873
Improve UI responsiveness during RSS downloading. Closes #873, #1089, #1235, #5423
2017-02-06 16:17:08 +02: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
Tim Delaney
c0339d4f6a Fix regex RSS matching. Closes #6337.
--HG--
branch : magao-dev
2017-02-05 08:53:33 +11:00
dzmat
b167b4174e reduce methods accessibility from public to private 2017-01-29 15:17:55 +07:00
Tim Delaney
5d185f1fcd Fix compilation error on Qt<5.4. Closes #6170.
--HG--
branch : magao-dev
2017-01-27 14:24:51 +11:00
sledgehammer999
3b3de81cb7 Merge pull request #6181 from magao/issue6170
RSS episode filter improvements. Closes #800, #2749, #3876, #6170.
2017-01-26 01:02:05 +02:00
sledgehammer999
354702140a Merge pull request #6180 from magao/issue6171
Allow | in RSS must contain. Closes #6171.
2017-01-25 23:27:59 +02:00
sledgehammer999
b9b8352a31 Merge pull request #6184 from magao/issue5539
RSS: allow resetting rule to no category. Closes #5539.
2017-01-25 23:20:19 +02:00
sledgehammer999
077ad6506c Merge pull request #6175 from magao/issue6167
Move old RSS items to separate config file. Closes #6167.
2017-01-22 04:47:52 +02:00
sledgehammer999
043ae1eb17 Merge pull request #6278 from Falcosc/fix_incompleate_file_crash
fix index overflow for torrents with invalid meta data or empty progress
2017-01-22 01:14:16 +02:00
sledgehammer999
9225d9ab2b Merge pull request #6279 from evsh/cmake
cmake: compilation fixes
2017-01-21 18:28:54 +02:00
Eugene Shalygin
13d9dea8ac cmake: make LibtorrentRasterbar::LibTorrent public dependency of qbt_base
If libtorrent include directory not in the compiler search path, we have
to pass it to all qbt targets, because session.h includes
libtorrent/version.hpp
2017-01-21 16:40:44 +01:00
Falco
84759d4f20 fix index overflow for torrents with invalid meta data or empty progress 2017-01-21 14:35:09 +01:00
sledgehammer999
5b35981c85 Merge pull request #5774 from thalieht/unit_precision
Increase number of digits after the decimal point. Closes #5053
2017-01-21 14:05:26 +02:00
thalieht
f8213f5d56 friendlyUnit: Properly replace spaces with non-breaking spaces 2017-01-21 12:03:05 +02:00
thalieht
311b060c70 Increased number of digits after the decimal point for Gibibytes and above 2017-01-21 12:02:15 +02:00
sledgehammer999
f4fa000ba3
Polish previous commit. 2017-01-21 02:59:33 +02:00
sledgehammer999
68ecbf4185 Merge pull request #5420 from thalieht/alignment
Changes and additions in search, peerlist, transferlist
2017-01-21 02:58:32 +02:00
sledgehammer999
c8ddd68a7a Merge pull request #6212 from magao/issue2192
Follow project coding style. Issue #2192.
2017-01-20 23:13:06 +02:00
sledgehammer999
1376d8fa7b Merge pull request #6084 from Chocobo1/set_locale
Set default locale
2017-01-20 20:14:20 +02:00
Chocobo1
0517a3eb63 Fix rss icon too large in rss settings dialog
Give a name to the rss icon (in .ui file)
Add helper function: Utils::Misc::largeIconSize()
Group functions under the same #ifdef
2017-01-20 13:45:50 +08: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
e37a696e7d Refactor
Move default value to preference class
Rename variable
Reorder headers
Remove extra parentheses
2017-01-19 13:33:34 +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
ba03fb30f3 Merge pull request #5987 from Chocobo1/temp_dir
Put temp files in .qBittorrent directory
2017-01-19 01:33:57 +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
sledgehammer999
b5bf6df058 Merge pull request #6139 from Chocobo1/warnings
Fix compile warning: unused parameter ‘action’
2017-01-18 23:42:58 +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
sledgehammer999
e230cde6c4 Merge pull request #6108 from evsh/fix-6103
Workaround problem with moc from Qt4 and #if. Closes #6103, #5451
2017-01-12 02:08:59 +02:00
Eugene Shalygin
de403dcd9d Workaround problem with moc from Qt4 and #if
moc from Qt4 ignores Q_ENUMS when it is behind #if QT_VERSION check.
Therefore moc entries for enum in TorrentFileGuard were not generated
and the setting was not saving/loading. This closes #6103, #5451
2017-01-12 00:42:37 +01:00
sledgehammer999
c384cc8c8c
Move new icons to their own theme folder. 2017-01-11 18:02:26 +02: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
Tim Delaney
70ce12372d Follow project coding style. Issue #2192.
--HG--
branch : magao-dev
2017-01-08 11:46:01 +11:00
Tim Delaney
2244b7cb66 RSS episode filter refactoring and logging (prep for later commits).
--HG--
branch : magao-dev
2016-12-31 18:01:22 +11:00
Chocobo1
bc41e2034c Fix warning: unused parameter ‘action’ [-Wunused-parameter] 2016-12-27 20:19:20 +08:00
sledgehammer999
4f59caf3ca Fix share ratio limiting. Broken by commit 259b5e51c4. Closes #6039 #6048. 2016-12-15 00:04:50 +02:00
sledgehammer999
26e8072c84 Merge pull request #5332 from evsh/fix-qt5-log-flood
Add a workaround for QTBUG-52633, qBt issue #5073
2016-12-13 19:37:17 +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
sledgehammer999
283511116e New translations: Icelandic, Latvian, Malay, Occitan, Uzbek
Also re-run lupdate.
2016-12-13 02:09:28 +02:00
sledgehammer999
d88ec48468 Polish previous commit. 2016-12-11 23:24:55 +02:00
sledgehammer999
5a006d5980 Merge pull request #5810 from ghost/macOSpref
Change QSettings to IniFormat on macOS. Closes #5770 #5808
2016-12-11 23:23:22 +02:00
sledgehammer999
4e8ca90b23 Merge pull request #5958 from dzmat/auto_ptr_eviction
minimizing the number of warnings about deprecated auto_ptr
2016-12-10 21:23:42 +02:00
sledgehammer999
07edb7b74e Merge pull request #6010 from Chocobo1/warnings
Fix memory leak
2016-12-10 21:22:41 +02:00