Commit graph

10670 commits

Author SHA1 Message Date
Vladimir Golovnev
699b91ab8d
Properly create "clean path" for watched folder (#15179) 2021-07-12 11:44:52 +03:00
AbeniMatteo
abd6eb2ff3
Add context menu to toggle content tab columns (#15164) 2021-07-12 13:57:17 +08:00
Thomas Piccirello
32f29e72c6 Support expanding/collapsing Web UI folders with arrow keys 2021-07-11 03:01:31 -07:00
Thomas Piccirello
e76bac4131 Support navigating Web UI tables with arrow keys
This allows navigating rows via up/down arrow keys.
2021-07-11 03:01:31 -07:00
Thomas Piccirello
8b94642ab1 Always set Web UI row id as a string
This helps ensure consistent behavior when performing rowId comparisons against strings.
2021-07-10 11:50:48 -07:00
Vladimir Golovnev (glassez)
27baa55443
Raise minimum Qt version to 5.15.2 2021-07-09 07:41:13 +03:00
Chocobo1
fd3d4d479a
Suppress type narrowing warning on MSVC
Fix up 45e31a153c.
2021-07-08 14:25:39 +08:00
Chocobo1
4b0a2d050a
Display tooltip for all columns in torrent content widget
It is primary useful for showing long file names.
2021-07-08 14:23:30 +08:00
Chocobo1
d85c14864b
Add tooltip for "client ID" column
Sometimes the client ID could be quite long and this patch helps showing
it.
2021-07-08 14:22:59 +08:00
Chocobo1
ee696e6f36
Merge pull request #15170 from Chocobo1/tooltip
Add tooltip for various columns
2021-07-08 13:01:59 +08:00
Chocobo1
8ec26e9ea9
Don't use old style casts
Ref: https://github.com/qbittorrent/qBittorrent/runs/2996702005?check_suite_focus=true#step:8:298
2021-07-07 14:44:39 +08:00
Chocobo1
45e31a153c
Reserve space for vector 2021-07-07 14:20:27 +08:00
Chocobo1
7c23d800e6
Use underlying_type member directly
`LTUnderlyingType` served as a intermediate type for libtorrent 1.1 and
1.2 and is obsoleted now.
Also add helper to convert to underlying type.
2021-07-07 14:19:17 +08:00
Chocobo1
4dbf6af733
Simplify initialization statement 2021-07-07 13:20:13 +08:00
Chocobo1
bdc03b1c75
Add tooltip for various columns
Those strings sometimes are quite long and having a tooltip would
save the action of resizing the column width to see the full message.
The WebUI already has it done for all columns.
2021-07-07 13:19:29 +08:00
AbeniMatteo
9bfc74a1bc
Filter torrent info endpoint by tag (#15152) 2021-07-05 13:55:49 +08:00
Vladimir Golovnev
5d03917877
Use torrent info with hashes for creating .torrent file (#15138) 2021-07-04 09:29:34 +03:00
Vladimir Golovnev (Glassez)
d2f975a0f3 Don't forget to start "watch timer" 2021-07-02 08:34:31 +03:00
Chocobo1
eedd47860a
Merge pull request #15142 from Chocobo1/warning
Use proper signed number type
2021-07-01 11:35:04 +08:00
Chocobo1
365554d064
Use proper signed number type
This also suppress the compiler warning:
src/base/bittorrent/torrentimpl.cpp:228:36: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]
2021-06-29 18:04:33 +08:00
Chocobo1
70d1cb86fd
Disable move constructor where it is sensible 2021-06-29 14:49:45 +08:00
FranciscoPombal
ccb7c0d579 Raise minimum libtorrent version to 1.2.14 (2.0.4)
- Also update vcpkg to latest commit: includes libtorrent 1.2.14,
Qt 5.15.2, and Qt 6.1.1
2021-06-28 23:04:47 +01:00
Andrei Stepanov
5157e4965a
Remove excess space 2021-06-27 13:01:03 +04:00
sledgehammer999
3ffd25f9e1
Bump to 4.4.0beta1 2021-06-26 21:05:44 +03:00
sledgehammer999
665ab34f25
Sync translations from Transifex and run lupdate 2021-06-26 21:03:43 +03:00
Vladimir Golovnev
37f227ae74
Provide v1 and v2 infohashes in UI (#15097) 2021-06-25 20:44:23 +03:00
HiFiPhile
f5315d9ba7
Add WebUI reverse proxy source IP resolution (#15047)
Co-authored-by: qix67
Co-authored-by: HiFiPhile <admin@hifiphile.com>
2021-06-23 09:01:36 +03:00
Vladimir Golovnev (Glassez)
124cc9621d Delete LoadTorrentParams when load torrent failed 2021-06-22 21:36:42 +03:00
Vladimir Golovnev (Glassez)
3faa7226e7 Handle exception when torrent file cannot be exported
Both `lt::create_torrent` constructor and `lt::create_torrent::generate()`
can throw an exception so we need to handle it to prevent the app from crashing.
2021-06-22 21:36:42 +03:00
Vladimir Golovnev (Glassez)
6070b41c9b Properly add torrent with new tags
First, an attempt is made to add new tags to the Session.
Closes #15105.
2021-06-18 06:29:15 +03:00
Vladimir Golovnev (Glassez)
50ddfea617 Remove lockfile only when last app instance is destroyed 2021-06-18 06:27:33 +03:00
tgregerson
e74ad86f14
Don't close tags menu when toggling items (#15098)
The issue was resolved by using QAction::toggled signal instead of
QAction::triggered. In QT 5.15+ the latter signal causes a QMenu
to close, whereas the former does not. Closes #13492.
2021-06-16 17:57:56 +03:00
Vladimir Golovnev (Glassez)
2bd2490539 Disable functions deprecated in Qt 5.14 and earlier 2021-06-16 17:56:40 +03:00
Vladimir Golovnev
5c0378a684
Merge pull request #15029 from glassez/qt-5.14
Raise minimum Qt version to 5.14
2021-06-14 16:48:15 +03:00
Dmitry Khlestkov
2bd5aca3a4
Keep sub-sorting order (#15074)
Fixes #15073
2021-06-14 11:57:50 +08:00
Kacper Michajłow
ccb59fbad3
Suppress C4267 conversion warnings (#13307)
- warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data

Caused by mismatch between size_type of std and Qt containers. It is safe to cast to int as all of those containers hold low number of objects.
2021-06-11 08:51:06 +03:00
Vladimir Golovnev (Glassez)
6c66d02aff Declare AbstractFileStorage destructor virtual 2021-06-10 09:19:04 +03:00
Vladimir Golovnev (Glassez)
97c7f3bc67
Raise minimum Qt version to 5.14 2021-06-03 08:56:41 +03:00
Chocobo1
2503271a45
Fix main window turns blank after restoring from tray (#15031)
When restoring from tray icon, although the window manager shows qbt
window but qbt itself didn't handle the event correctly, i.e. the
`show()` was missing and thus qbt did nothing and the window is blank.
Note that at this point the `visible` property is `false`.
After invoking `show()` qbt will start showing the contents and also
fire another showEvent where `visible` property is `true` and here is where
qbt should handle preparations for the window.

Fix #9510.
2021-05-31 12:19:22 +08:00
LoneDev
d335f263f3
Fix comment typo in algorithm.h (#15030) 2021-05-29 11:30:47 +08:00
Vladimir Golovnev
1c34635016
Merge pull request #14993 from glassez/file-error
Provide correct error description in "upload mode"
2021-05-28 08:55:53 +03:00
Vladimir Golovnev (Glassez)
b6a35e9477
Don't log any error when "queue" file doesn't exist 2021-05-27 18:27:41 +03:00
Vladimir Golovnev (Glassez)
6aa8251b98
Provide correct error description in "upload mode" 2021-05-27 18:27:40 +03:00
Chocobo1
3b4bf90a13
Merge pull request #15017 from Chocobo1/css_formatting
Format and lint CSS code
2021-05-27 14:36:57 +08:00
Chocobo1
42582e21f7
Merge pull request #15016 from Chocobo1/pr_13756
Update Mac icons for Big Sur
2021-05-26 11:46:06 +08:00
Chocobo1
af49a4dd5a
Sort CSS properties 2021-05-25 13:20:38 +08:00
Chocobo1
b2081faf87
Remove redundant empty line 2021-05-25 13:20:37 +08:00
Chocobo1
f960934eb9
Merge same selector 2021-05-25 13:20:37 +08:00
Chocobo1
5522725f5d
Remove duplicate property 2021-05-25 13:20:37 +08:00
Chocobo1
9f3d36bab0
Remove useless property
The `padding` will override the former `padding-top`.
2021-05-25 13:20:37 +08:00
Chocobo1
87e7085c22
Remove empty block 2021-05-25 13:20:37 +08:00
Chocobo1
d8eac56f5e
Use stylelint for CSS linting 2021-05-25 13:20:37 +08:00
Chocobo1
c20557f690
Use cleaned icons
By running svgcleaner over qbittorrent_mac.svg.
2021-05-25 12:09:24 +08:00
Chocobo1
65bdc4cf43
Format CSS code with prettier 2021-05-25 11:26:58 +08:00
Chocobo1
ee79c196df
Use prettier for formatting CSS code 2021-05-25 11:21:39 +08:00
17jiangz1
41682bfcbb
Update Mac icons for Big Sur
Add Mac icon vector source.
2021-05-25 10:42:42 +08:00
sledgehammer999
34be8c9213
Merge pull request #14934 from sledgehammer999/translations
Update Qt translations and add new qbt translations
2021-05-23 21:59:29 +03:00
brvphoenix
aebb9f89d1
Remove the lockfile on exit (#14997) 2021-05-23 14:29:41 +08:00
Chocobo1
40f6201509
Merge pull request #14976 from Chocobo1/options
Add `connection_speed` to advanced settings
2021-05-23 14:27:34 +08:00
zhuangzi926
2e8e2b04a1
Announce to all trackers if IP changed (#15001)
Closes #14545.
2021-05-23 14:26:54 +08:00
Chocobo1
c64e433a69
Remove unused parameter 2021-05-21 14:44:19 +08:00
Chocobo1
e21f46d824
Avoid data duplication 2021-05-21 14:38:06 +08:00
Chocobo1
ef79546508
Add connection_speed to advanced settings
Now we follow libtorrent current default value 30.
Closes #6973.

Also bump WebAPI version.
2021-05-21 14:37:57 +08:00
Vladimir Golovnev (Glassez)
2993fdb169
Improve "Watched folders" feature
Make "file system watcher" an application core component
and separate it from its presentation model.
2021-05-19 15:42:41 +03:00
Vladimir Golovnev (Glassez)
9565b695ef
Unify custom exceptions 2021-05-18 08:40:05 +03:00
Vladimir Golovnev (Glassez)
89cedd411e
Allow add torrents with relative save path
The relative save path will be resoloved against the default one.
2021-05-18 07:43:53 +03:00
Anton
a51742b47c
Add context menu for tabs in search widget (#14926)
In searchwidget you can close all opened tabs or selected tab using menu. Closes #5628.
2021-05-17 11:56:21 +08:00
An0n
ea3b897d5d
Bump file pool size (#14966) 2021-05-14 08:57:01 +08:00
PriitUring
e432d67b3b
Fix typo "Highlited" (#14956) 2021-05-12 05:00:19 +03:00
Chocobo1
ff87958188
Merge pull request #14928 from Chocobo1/atomic
Fix potential data race
2021-05-09 11:48:18 +08:00
sledgehammer999
f308cd392b
Merge pull request #14936 from sledgehammer999/bump_grunt_dependency
Update grunt dependency
2021-05-08 14:16:46 +03:00
sledgehammer999
e4bea17fb8
Update grunt dependency
This fixes CVE-2020-7729
2021-05-07 23:34:57 +03:00
sledgehammer999
2c47cfbe25
Add new languages
* Mongolian
* Persian
* Thai
2021-05-07 22:53:13 +03:00
Vladimir Golovnev
511fa37c84
Merge pull request #14927 from thalieht/webui_translate
Make some strings in WebUI translatable
2021-05-07 21:10:27 +03:00
Chocobo1
a82ca6adb2
Fix potential data race
This case could be considered benign however it could still be an
undefined behavior to the compiler, so remove it.

Ref:
https://hacks.mozilla.org/2021/04/eliminating-data-races-in-firefox-a-technical-report/
2021-05-07 15:50:33 +08:00
Chocobo1
05e3e46f5a
Throw the exact (same) exception 2021-05-07 15:49:19 +08:00
Chocobo1
6d399f0303
Fix typo 2021-05-07 15:49:19 +08:00
Chocobo1
ecebfc34fa
Move initial values to header 2021-05-07 14:51:39 +08:00
thalieht
e86916a7f9 Make some strings in WebUI translatable
Closes #14920
2021-05-06 20:49:35 +03:00
Vladimir Golovnev
2f1ec09aef
Merge pull request #14714 from FozzeY/no-parent-priority-menu-on-add
Show priority menu at top level if there is no other
2021-05-03 18:11:24 +03:00
sledgehammer999
94195d5339
Sync translations from Transifex and run lupdate 2021-05-02 18:32:42 +03:00
Chocobo1
c9a552c89c
Merge pull request #14861 from Chocobo1/warnings
Initialize struct members by default
2021-05-02 11:26:30 +08:00
Vladimir Golovnev (Glassez)
383eaf44ac
Implement DBResumeDataStorage class 2021-05-01 12:30:53 +03:00
Chocobo1
bdf2f6c3e1
Initialize struct members by default
This is to suppress the following compilation warnings:
base/bittorrent/magneturi.cpp: In constructor ‘BitTorrent::MagnetUri::MagnetUri(const QString&)’:
base/bittorrent/magneturi.cpp:87:60: warning: missing initializer for member ‘BitTorrent::TrackerEntry::message’ [-Wmissing-field-initializers]
   87 |         m_trackers.append({QString::fromStdString(tracker)});
2021-04-27 11:48:13 +08:00
Chocobo1
fdc186c92f
Revise tag related implementations
Fix #12690.
2021-04-27 11:47:52 +08:00
Chocobo1
ab6141edb7
Merge pull request #14813 from Kolcha/cmake_mac
Set correct minimum macOS version with CMake
2021-04-26 10:02:56 +08:00
Chocobo1
d0dcf53575
Merge pull request #14840 from jagannatharjun/pfix
Correctly draw progress background with stylesheet
2021-04-26 10:02:25 +08:00
jagannatharjun
ab906f17de Correctly draw progress background with stylesheet
fixes #14731
2021-04-24 18:04:34 +05:30
Nick Korotysh
28ef33b0a0
Improve Info.plist generation with CMake
- drop configure_file() and file(GENERATE) calls
- fill missed MACOSX_DEPLOYMENT_TARGET variable
2021-04-23 20:59:09 +03:00
Vladimir Golovnev
376dedebb1
Merge pull request #14816 from glassez/tracker-entry
Improve "tracker entries" handling
2021-04-22 19:03:49 +03:00
Vladimir Golovnev
137c6458f7
Merge pull request #14825 from glassez/upload-mode
Correctly handle "no enough disk space" error
2021-04-22 18:43:43 +03:00
Vladimir Golovnev (Glassez)
75e0990eb3
Provide tracker peers count via TrackerEntry
Don't expose additional accessor in Torrent interface.
2021-04-21 08:46:05 +03:00
Vladimir Golovnev (Glassez)
62a6c725d6
Don't overwrite tracker message
Use one of the tracker endpoint messages.
2021-04-21 08:45:09 +03:00
Vladimir Golovnev (Glassez)
d4554c2e5c
Correctly handle "no enough disk space" error
If torrent failed to write, it stops downloading and goes to
"upload mode" instead of errored state so it just keeps seeding.
Now qBittorrent indicates this state as "errored" and allows
the user to manually bring the torrent out of this state.
2021-04-21 08:27:56 +03:00
Chocobo1
d6a398cf2c
Merge pull request #14811 from Kolcha/bundle_name
Don't use executable name as CFBundleName value
2021-04-21 11:46:43 +08:00
Chocobo1
6864e13e6f
Show "last activity" value under all circumstances 2021-04-20 10:03:25 +08:00
Nick Korotysh
29e6b229ac
Don't use executable name as CFBundleName value 2021-04-20 01:49:32 +03:00
Chocobo1
cb8d6a0939
Reorder peer flags
Now we group related flags nearby.
2021-04-18 12:46:07 +08:00
Chocobo1
e38128119c
Capitalize "peer flags" descriptions
And use a helper function to build the descriptions.
2021-04-18 12:45:18 +08:00
Chocobo1
b5a24fd877
Merge pull request #14794 from zhuangzi926/pr-dyndns-register-url
Update dyndns register url
2021-04-17 11:44:51 +08:00
Vladimir Golovnev
e1ed5b73d0
Merge pull request #14795 from glassez/file-action
Allow to specify file indexes in `torrents/files` API
2021-04-17 06:17:38 +03:00
FozzeY
3e47d26e44 Show priority menu at top level if there is no other 2021-04-17 00:14:18 +03:00
Vladimir Golovnev
e0d17e496a
Merge pull request #14783 from glassez/macutils
Don't use "Qt Mac Extras" module
2021-04-16 18:40:40 +03:00
Vladimir Golovnev (Glassez)
6cf99cd0f2
Allow to specify file indexes in torrents/files API 2021-04-16 09:30:07 +03:00
zhuangzi926
c9e2da5f53 Update dyndns register url 2021-04-15 21:41:42 +08:00
Chocobo1
53b7956968
Clean up code
and remove unused parameters/variables.
2021-04-15 11:29:22 +08:00
Chocobo1
d13be829c3
Fix D-Bus Notification desktop-entry field 2021-04-15 11:24:28 +08:00
Chocobo1
e18b2ab437
Regenerate D-Bus notifications related code 2021-04-15 11:24:25 +08:00
Vladimir Golovnev (Glassez)
35032d7eed
Don't use "Qt Mac Extras" module
"Qt Mac Extras" module is removed in Qt6.
2021-04-14 15:41:46 +03:00
kevtechxx
7722916fad Add "Notification timeout" option 2021-04-13 16:22:48 +02:00
Chocobo1
d82a1d7198
Merge pull request #14717 from Chocobo1/ncmp
Simplify natural sort classes interface
2021-04-13 14:22:25 +08:00
Chocobo1
a64bb1a990
Simplify natural sort classes interface
Now the comparison function/class should be constructed before usage.
This change also make it easier to plug in into various containers which
will require a compare function type (such as std::set).
2021-04-10 14:18:18 +08:00
Chocobo1
2b8e50b296
Merge pull request #14737 from jagannatharjun/revert
Revert "Change clamping of update interval of SpeedPlotView::Averager"
2021-04-09 11:34:03 +08:00
Vladimir Golovnev
f97aa05bdb
Merge pull request #14736 from glassez/string-compare
Enclose strings in QLatin1String
2021-04-08 10:32:51 +03:00
Vladimir Golovnev (Glassez)
4a68df084e
Enclose strings in QLatin1String 2021-04-08 06:56:40 +03:00
jagannatharjun
3f32b040dc Revert "Change clamping of update interval of SpeedPlotView::Averager"
This reverts commit 435bb34435.

To achieve what the reverted commit wants, the timing
would need to be taken iteratively rather that cumulatively

fixes #14735
2021-04-07 22:43:36 +05:30
sledgehammer999
21b3c61162
Merge pull request #14575 from sledgehammer999/license_clarification
Clarify that the license is GPLv2+
2021-04-07 14:02:59 +03:00
Chocobo1
5045fa6dcd
Merge pull request #14652 from jagannatharjun/speed-plot-view-minor
Minor updates to Speed plot view
2021-04-06 11:40:01 +08:00
jagannatharjun
435bb34435 Change clamping of update interval of SpeedPlotView::Averager
Don't clamp elapsed time of SpeedPlotView::Averager on resolution. Since
it may cause minor discrepencies across different Averagers with
different resolution for same speed update.
2021-04-04 21:49:57 +05:30
brvphoenix
bb9ca7f418 WebUI: Fix magnet url from the browser 2021-04-03 19:26:17 +08:00
Chocobo1
0b3d088782
Merge pull request #14676 from Chocobo1/watcher
Revise folder monitoring functions in WebUI
2021-04-03 13:19:29 +08:00
Vladimir Golovnev
6514eaf565
Merge pull request #14688 from glassez/file-prio
Correctly forward declare file_prio_alert
2021-04-02 11:45:50 +03:00
Vladimir Golovnev (Glassez)
f8e7602d96
Correctly forward declare file_prio_alert 2021-04-02 08:29:23 +03:00
Vladimir Golovnev
565aef9637
Merge pull request #14630 from glassez/save-resume
Improve ResumeDataStorage
2021-04-02 06:48:32 +03:00
Vladimir Golovnev
825bf8d61e
Merge pull request #14657 from glassez/file-prio
Save "resume data" once file priority is changed
2021-04-01 06:32:17 +03:00
Vladimir Golovnev (Glassez)
1344b31535
Improve ResumeDataStorage 2021-03-31 11:56:36 +03:00
Chocobo1
9b8bddf7b2
Revise folder monitoring functions in WebUI
Closes #14241.
2021-03-31 12:04:22 +08:00
Chocobo1
8a087a876e
Clean up code 2021-03-31 11:27:57 +08:00
Chocobo1
f8067aa592
Merge pull request #14645 from Chocobo1/links
Remove unnecessary URL encoding
2021-03-31 11:16:45 +08:00
skvenders
2b837381f3
Remove contributor
Remove contributor as requested: https://github.com/qbittorrent/qBittorrent/pull/14637#issuecomment-808894421
2021-03-31 11:07:01 +08:00
Vladimir Golovnev (Glassez)
cd6959b712
Save "resume data" once file priority is changed 2021-03-30 19:59:05 +03:00
Vladimir Golovnev
2d1c34d8e0
Merge pull request #14593 from glassez/qt6-compat
Make current codebase more compatible with Qt6
2021-03-29 14:00:23 +03:00
sledgehammer999
f6336a6056
Clarify that the license is GPLv2+
Regarding this license clarification there are 3 commits of interest
(commits A, B, C). Before commit A the COPYING file contained only the
text of the GPLv2 license, while all source files had a license block
at the top saying that they are under the terms of "GPLv2 or later". With
commit A there was a temporary change to GPLv3. The COPYING file contained
only the text of the GPLv3 license, while all source files had a license
block at the top saying that they are under the terms of "GPLv3 or later".
Then with commit B the COPYING file and the license block of the source
files was reverted to their state before commit A. Afterwards, with
commit C a license summary(or clarification) block was put at the top of
the COPYING file. This block indicated that the license was GPLv2 without
having the "or later" clause and it also included the OpenSSL exception.
However, the license block of each source file continued to contain the
"or later" clause which was not removed. The same license block continues
to exist in all current source files. Thus it is concluded that the ommision
of the "or later" clause with commit C in the COPYING file was accidental.
OR ALTERNATIVELY (OR IN ADDITION)
At the time commit C was made Christophe Dumez was not the sole contributor.
There is no record that the other contributors agreed with the supposed
GPLv2 only change or that there was a Contributor License Agreement,
transfering their rights to him. Thus making his license change decision
invalid/void/illegal.

Commit A: 54f9375b32
Commit B: 8df61db644
Commit C: 9835af4962
2021-03-29 00:08:14 +03:00
Vladimir Golovnev (Glassez)
cd7bdc8998
Use qsizetype instead of int where required by Qt6 2021-03-28 15:08:32 +03:00
Chocobo1
2b7b3c65cc
Move cursor to the next line of end of text
Closes #13908.
2021-03-28 15:41:37 +08:00
Chocobo1
98e02a8fed
Remove unnecessary URL encoding
Fix #14635.
2021-03-28 13:16:34 +08:00
Vladimir Golovnev (Glassez)
a93391e247
Drop QNetworkConfigurationManager usage 2021-03-27 19:44:34 +03:00
Vladimir Golovnev (Glassez)
102cc684dd
Replace Qt Windows Extras features with native ones 2021-03-27 19:43:28 +03:00
Vladimir Golovnev (Glassez)
a230228441
Don't compare bool with int
In Qt6 QHash::remove() returns bool to indicate operation status.
2021-03-27 19:29:53 +03:00
Vladimir Golovnev (Glassez)
135cad576c
Don't use removed QApplication attribute 2021-03-27 19:28:00 +03:00
Vladimir Golovnev (Glassez)
561fbf2cca
Don't use removed QTextStream::setCodec()
QTextStream encodes as UTF-8 by default.
2021-03-27 19:25:32 +03:00
Vladimir Golovnev (Glassez)
a8127d6102
Use valid event type in QWidget::enterEvent() 2021-03-27 19:23:35 +03:00
Mike Tzou
2f28d3c7b6
Merge pull request #14624 from crackwitz/trackers-dialog-tab-fix
Fix tabChangesFocus attribute in "Edit trackers" dialog
2021-03-27 11:14:40 +08:00
Mike Tzou
e59c735331
Merge pull request #14590 from Chocobo1/npm
Add WebUI checking to CI
2021-03-26 09:52:32 +08:00
Christoph Rackwitz
e2dbfa9ace Fix tabChangesFocus attribute in "Edit trackers" dialog 2021-03-26 00:07:09 +01:00
Chocobo1
121ff2b7be
Apply code formatting 2021-03-26 00:27:52 +08:00
Chocobo1
af85a8a340
Add necessary curly brackets 2021-03-26 00:27:52 +08:00
Chocobo1
5fe0e9395f
Don't use Object.prototypes builtins directly
See: https://eslint.org/docs/rules/no-prototype-builtins
2021-03-26 00:27:52 +08:00
Chocobo1
1f1cabd144
Remove unnecessary escape character 2021-03-26 00:27:51 +08:00
Chocobo1
c3bab70434
Remove extra semicolon 2021-03-26 00:27:51 +08:00
Chocobo1
1d6af22813
Add tools for js code formatting and linting
Due to eslint couldn't correctly resolve the context for the variables,
two eslint rules are disabled for now.
2021-03-26 00:27:12 +08:00
Chocobo1
a50798c78f
Sort invalid QDateTime values after valid values
Closes #14607.
2021-03-25 23:17:06 +08:00
Vladimir Golovnev
379d41b6fb
Merge pull request #14581 from glassez/save-resume
Implement BencodeResumeDataStorage class
2021-03-25 07:05:08 +03:00
Vladimir Golovnev (Glassez)
09da6828b8 Use complete types in container declarations
Qt 6 disallows to use incomplete types in container declarations
in some cases, e.g. in parameters of signals/slots.
2021-03-24 14:31:28 +03:00
Vladimir Golovnev
9f386afe9c
Merge pull request #14586 from glassez/varhash
Don't cause QHash relayout while using reference to its node
2021-03-24 11:37:43 +03:00
Vladimir Golovnev (Glassez)
35dedd3d83
Implement BencodeResumeDataStorage class
Implement ResumeDataStorage class as base for all "resume data" storages.
Implement BencodeResumeDataStorage class and put all existing logic of
"resume data" loading/saving there.
2021-03-24 08:59:49 +03:00
Mike Tzou
45c0d5a823
Merge pull request #14587 from Chocobo1/monitor
Remove wrong parentheses in WebUI
2021-03-24 12:47:11 +08:00
Vladimir Golovnev
7bc5bfa140
Merge pull request #14583 from glassez/progress
Correctly draw progress bar in Qt 6
2021-03-24 07:23:53 +03:00
sledgehammer999
fda6def384
Sync translations from Transifex and run lupdate 2021-03-23 22:57:07 +02:00
Mike Tzou
4bf4d45389
Merge pull request #14504 from treysis/ipv6-outgoing-interfaces
Fix bad IPv6 address format for outgoingInterfaces
2021-03-23 18:58:22 +08:00
Mike Tzou
4e8eb2c996
Merge pull request #14570 from brvphoenix/decode
WebUI: Avoid decoding strings repeatedly
2021-03-23 18:58:01 +08:00
Chocobo1
e43a9de2f3
Make global functions immutable 2021-03-23 18:53:56 +08:00
Vladimir Golovnev (Glassez)
1a9e97ee3b
Don't cause QHash relayout while using reference to its node 2021-03-23 13:17:36 +03:00
Chocobo1
901fca2d12
Remove wrong parentheses
Fix up 87ad8a1495.
2021-03-23 17:09:24 +08:00
Vladimir Golovnev (Glassez)
c23f8542b2
Correctly draw progress bar in Qt 6 2021-03-23 10:51:13 +03:00
treysis
0189606445 Fix bad IPv6 address format for outgoingInterfaces
Fixes https://github.com/qbittorrent/qBittorrent/issues/12892#issuecomment-792292336
2021-03-22 11:23:04 +01:00
Vladimir Golovnev
9b31496b22
Merge pull request #14576 from glassez/save-resume
Wrap "resume data" in LoadTorrentParams
2021-03-22 10:24:47 +03:00
Vladimir Golovnev
b9676ac3eb
Merge pull request #14546 from glassez/regexp
Use QRegularExpression instead of deprecated QRegExp
2021-03-22 10:14:02 +03:00
Vladimir Golovnev (Glassez)
764aabc459
Wrap "resume data" in LoadTorrentParams 2021-03-22 07:56:17 +03:00
Vladimir Golovnev (Glassez)
61d2ff359b
Use QRegularExpression instead of deprecated QRegExp
Now it follows closely the definition of wildcard for glob patterns.
The backslash (\) character is not an escape char in this context.
In order to match one of the special characters, place it in square
brackets (for example, [?]).
2021-03-22 07:50:47 +03:00
Mike Tzou
87ad8a1495
Merge pull request #14554 from thalieht/seeding_time_webui
Seeding time in WebUI
2021-03-22 12:08:18 +08:00
Vladimir Golovnev (Glassez)
5d889e4a8f
Drop deprecated code 2021-03-21 13:53:12 +03:00
Vladimir Golovnev (Glassez)
b65a714d17
Save resume data when torrent has done checking 2021-03-21 13:53:05 +03:00
Vladimir Golovnev
ea1c4a8fc8
Merge pull request #14567 from glassez/desktop
Clean up the code
2021-03-21 12:57:46 +03:00
brvphoenix
5beb1b2cd0 WebUI: Avoid decoding strings repeatedly
Fix #14553
2021-03-21 02:09:53 -07:00
Mike Tzou
f55e0b6775
Merge pull request #14562 from Chocobo1/disable
Show progress bar in disabled state for paused torrents
2021-03-21 14:56:39 +08:00
thalieht
d124041726 Allow >100 days in WebUI function "friendlyDuration"
Because it's not only used for ETA.
2021-03-20 15:36:08 +02:00
Vladimir Golovnev
7a26a92edd
Merge pull request #14520 from glassez/save-resume
Improve "save resume data" handling
2021-03-20 09:10:33 +03:00
Vladimir Golovnev (Glassez)
43c8ac0aa1
Don't use deprecated operators 2021-03-20 09:08:48 +03:00
Vladimir Golovnev (Glassez)
46e6ed480a
Use correct return statement 2021-03-20 09:05:32 +03:00
thalieht
9f30aba2b3 Fix incorrect seeding time string in WebUI General tab 2021-03-19 15:29:08 +02:00
thalieht
560ecbc6c3 Add seeding time to the active time column in WebUI
Closes #14526
2021-03-19 15:29:08 +02:00
Vladimir Golovnev (Glassez)
8d9b6cca63
Include missing header 2021-03-19 13:59:04 +03:00
Vladimir Golovnev (Glassez)
3972597163
Include QDesktopWidget header only when needed 2021-03-19 09:23:20 +03:00
Chocobo1
be2cdca1e9
Draw progress bar in disabled style 2021-03-19 13:34:20 +08:00
Mike Tzou
f6ab1d63e8
Merge pull request #14540 from jagannatharjun/remember
Remember sub sort column of transfer list
2021-03-19 13:24:24 +08:00
jagannatharjun
cf5e833898 Remember sub sort column of transfer list 2021-03-18 16:50:16 +05:30
Mike Tzou
6ed2e2694f
Merge pull request #14543 from Chocobo1/cleanup
Simplify progress bar painting
2021-03-18 11:38:15 +08:00
Vladimir Golovnev (Glassez)
560239c918
Improve "save resume data" handling 2021-03-17 07:31:00 +03:00
Chocobo1
a78929dadf
Simplify progress bar painting 2021-03-17 11:19:08 +08:00
Vladimir Golovnev (Glassez)
349cc54c69
Don't use deprecated QTextCodec 2021-03-16 19:10:10 +03:00
Vladimir Golovnev
a8ae97ba91
Merge pull request #14427 from glassez/qt-5.12
Raise minimum Qt version to 5.12
2021-03-14 20:43:39 +03:00
Chocobo1
d74df935f4
Replace parameters in one step
This would avoid the unwanted effect of replacing parameter coming from
another parameter.
2021-03-14 14:03:42 +08:00
Vladimir Golovnev (Glassez)
a078633a32
Don't use deprecated features 2021-03-13 15:50:53 +03:00
Vladimir Golovnev (Glassez)
f022458383
Raise minimum supported Qt version to 5.12 2021-03-13 15:33:58 +03:00
Vladimir Golovnev
6139d0d65a
Merge pull request #14525 from glassez/init-status
Initialize torrent status from add torrent params
2021-03-13 09:40:18 +03:00
Vladimir Golovnev
86a283b4ae
Merge pull request #14503 from glassez/torrent-id
Improve "info hash" handling (step 2)
2021-03-13 09:39:56 +03:00
jagannatharjun
bb39a41e9e Update comment 2021-03-13 11:39:14 +05:30
Vladimir Golovnev (Glassez)
0c9ecd1d76
Properly show tracker status for "paused" torrents 2021-03-12 16:20:52 +03:00
Vladimir Golovnev (Glassez)
561b597031
Improve "info hash" handling
Define "torrent ID" concept, which is either a SHA1 hash for torrents of version 1,
or a SHA256 hash (truncated to SHA1 hash length) for torrents of version 2.
Add support for native libtorrent2 info hashes.
2021-03-12 12:43:14 +03:00
Vladimir Golovnev (Glassez)
6d6908e625
Initialize torrent status from add torrent params 2021-03-11 20:01:34 +03:00
Vladimir Golovnev
4da4fb0676
Merge pull request #14479 from glassez/trackerentry
Improve tracker entries handling
2021-03-11 18:51:19 +03:00
Vladimir Golovnev (Glassez)
7a8c05dc7c
Improve tracker entries handling 2021-03-10 19:54:34 +03:00
Vladimir Golovnev
d7bacdcbff
Merge pull request #14518 from glassez/speedplot
Don't allow speed plot buffer to overflow
2021-03-10 19:33:22 +03:00
Vladimir Golovnev (Glassez)
e2c785b2d5
Accept "share limits" when adding torrent using WebAPI 2021-03-09 20:01:15 +03:00
Vladimir Golovnev (Glassez)
20e9952d98
Don't allow speed plot buffer to overflow 2021-03-09 19:52:10 +03:00
Vladimir Golovnev
0bf36ad031
Merge pull request #14505 from glassez/stacktrace
Look for qbittorrent.pdb in installation directory
2021-03-08 14:57:43 +03:00
Mike Tzou
f3435c5e35
Merge pull request #14493 from Chocobo1/tos
Expose ToS setting from libtorrent
2021-03-08 10:24:42 +08:00
Vladimir Golovnev (Glassez)
166ec74ff9
Look for qbittorrent.pdb in installation directory
Pass application directory as PDB search path in SymInitialize.
Otherwise it searches in application working directory so when you
run qBittorrent with working directory other than its installation
one it can't find qbittorent.pdb file and produces broken stacktrace.
2021-03-07 17:41:51 +03:00
Vladimir Golovnev
6b3c6c12ff
Merge pull request #14466 from glassez/sha1hash
Improve "info hash" handling
2021-03-07 13:25:01 +03:00
Chocobo1
5161758193
Expose ToS setting from libtorrent
Closes #14420.
2021-03-07 15:32:07 +08:00
Vladimir Golovnev (Glassez)
bea32cfe38
Define template for classes that represent SHA hashes 2021-03-06 12:36:08 +03:00
Vladimir Golovnev (Glassez)
8cfd803222
Drop implicit conversions between InfoHash and QString 2021-03-06 12:35:42 +03:00
Chocobo1
9a567721a8
Add missing semicolon 2021-03-06 14:44:10 +08:00
Chocobo1
12938799a6
Remove unused lambda capture 2021-03-05 22:18:08 +08:00
Mike Tzou
891a24c6ba
Merge pull request #14484 from Chocobo1/abort
Properly stop torrent creation if aborted
2021-03-05 14:44:41 +08:00
Chocobo1
f00f552369
Properly stop torrent creation if aborted
Closes #11346.
2021-03-04 14:54:02 +08:00
Chocobo1
5c2b81d78f
Correctly draw the background of progress bar
Closes #12271.
2021-03-02 21:53:46 +08:00
Vladimir Golovnev
a2b0531d5f
Merge pull request #14189 from glassez/libtorrent-1.2.12
Raise minimum libtorrent version to 1.2.12 (2.0.2)
2021-03-01 20:43:28 +03:00
Mike Tzou
752eb58ec0
Merge pull request #14423 from jagannatharjun/true-stable
Support sub-sorting in Transferlist
2021-03-01 12:26:17 +08:00
Vladimir Golovnev
7373b60522
Merge pull request #14432 from brvphoenix/rss
WebUI: Properly decode strings
2021-02-25 12:58:29 +03:00
brvphoenix
59f0961594
WebUI: Properly decode strings 2021-02-24 21:48:21 +03:00
jagannatharjun
b776f98df8 Support sub-sorting in Transferlist 2021-02-25 00:15:32 +05:30
Mike Tzou
7400284cff
Merge pull request #14437 from Chocobo1/mime
Improve detection of filename extension of audio/video files
2021-02-23 12:35:17 +08:00
Chocobo1
e1f9083c81
Improve detection of filename extension of audio/video files 2021-02-21 17:38:21 +08:00
Michał Kopeć
614376ed64 Add an option to disable icons in menus 2021-02-20 18:12:02 +01:00
Vladimir Golovnev
4ae2160372
Merge pull request #14054 from jagannatharjun/speedplotview
Make SpeedPlotView averager time aware
2021-02-12 06:58:45 +03:00
Mike Tzou
1df2dd9593
Merge pull request #14371 from Chocobo1/units
Fix potential out-of-bounds access
2021-02-11 13:15:01 +08:00
Mike Tzou
de9b43984a
Merge pull request #14368 from zzandland/revise-apply-button-options
Refactor apply button logics on options dialog
2021-02-10 12:35:35 +08:00
Chocobo1
4a0b36a50b
Use std::optional to return results 2021-02-10 12:25:26 +08:00
Chocobo1
fffe5e7003
Fix potential out-of-bounds access 2021-02-10 12:25:15 +08:00
Vladimir Golovnev
0bac639a04
Merge pull request #14327 from zzandland/add-category-automated-rss-downloader
Add category button on AutomatedRSSDownloader
2021-02-10 06:40:23 +03:00
Si Yong Kim
0d0d0a7c23 Add empty name error handling on new category dialog 2021-02-08 21:27:26 -08:00
Si Yong Kim
173f8b093f Refactor apply button logics on options dialog 2021-02-08 09:02:12 -08:00
Chocobo1
e46c88580a
Revise getter function for torrrent queue position
This addresses https://github.com/qbittorrent/qBittorrent/pull/14335#issuecomment-774667836

The WebAPI is not affected as a workaround is added.
2021-02-08 14:24:16 +08:00
Mike Tzou
e6033c952e
Merge pull request #14351 from Chocobo1/avail
Show proper string when torrent availability is not available
2021-02-08 12:12:22 +08:00
Vladimir Golovnev
3dfd0ff3b3
Merge pull request #14354 from glassez/missing-files
Improve handling of "missing files" torrents
2021-02-08 06:34:15 +03:00
Chocobo1
0d550c9bce
Apply "Hide infinity values" to ETA column 2021-02-07 16:08:20 +08:00
Chocobo1
2aeb8b9390
Apply "Hide infinity values" to "Down/Up Limit" columns 2021-02-07 16:08:20 +08:00
Chocobo1
afa2fc0ba9
Apply "Hide zero values" to "Time Active" column 2021-02-07 16:08:20 +08:00
Chocobo1
6a45919b25
Clean up coding style 2021-02-07 16:08:20 +08:00
Chocobo1
e4f7d607e1
Show proper string when torrent availability is not available 2021-02-07 16:08:20 +08:00
Si Yong Kim
0690ef31d1 Add category button on AutomatedRSSDownloader on GUI
Closes #7629
2021-02-06 05:13:57 -08:00
Vladimir Golovnev (Glassez)
c3f02d833c
Restart "missing files" torrents after changing location 2021-02-06 14:59:51 +03:00
Vladimir Golovnev (Glassez)
e273ac3a0d
Allow "missing files" torrents to save more resume data 2021-02-06 14:30:33 +03:00
Vladimir Golovnev (Glassez)
459d02abc8
Allow change-case-only file renaming on Windows 2021-02-06 11:33:46 +03:00
Mike Tzou
f5e8b26a55
Merge pull request #14335 from Chocobo1/sort
Use stable sorting in transfer list
2021-02-06 11:02:30 +08:00
Vladimir Golovnev
ce482c20cb
Merge pull request #14307 from dyumin/let_system_sleep_if_there_are_errored_active_torrents
Don't inhibit system sleep if all active torrents are errored
2021-02-05 14:13:15 +03:00
Chocobo1
ab0e1ec6e8
Use stable sorting in transfer list 2021-02-05 10:01:28 +08:00
Mike Tzou
04275e7d5d
Merge pull request #14318 from Chocobo1/sorting
Reuse existing code for sorting
2021-02-03 12:52:35 +08:00
Chocobo1
45874fa333
Reuse existing code for sorting
This makes the behavior of sorting by TR_SEED_DATE consistent.
2021-02-01 13:51:04 +08:00
Si Yong Kim
74a5c6e745 Add hyperlink to Transifex on translator list
Closes #12609
2021-01-30 15:45:13 -08:00
Si Yong Kim
cfafe90fe0 Remove Hungarian translator email 2021-01-29 08:44:47 -08:00
dyumin
12d396ffc5 Treat errored torrents as finished 2021-01-29 12:36:25 +03:00
Mike Tzou
dc39b9e643
Merge pull request #14274 from Chocobo1/updater
Improve behavior when using ProgramUpdater class
2021-01-29 11:37:32 +08:00
Chocobo1
e6a8c02745
Prolong checking interval for program updates 2021-01-28 16:52:04 +08:00
Chocobo1
88d695f7af
Improve behavior when using ProgramUpdater class
This is mainly to avoid involving of `sender()` function.
2021-01-28 16:52:04 +08:00
Chocobo1
5c819f7242
Revise version comparison 2021-01-27 11:42:06 +08:00
Chocobo1
40bd2039d4
Clean up coding style 2021-01-27 11:42:04 +08:00
Mike Tzou
53f29613c2
Merge pull request #14292 from jagannatharjun/fix-double-click
Disable expand on double click in TorrentContentTreeView
2021-01-26 12:14:55 +08:00
jagannatharjun
3371709472 Disable expand on double click in TorrentContentTreeView
We hook our own actions on double click. Fixes #14269
2021-01-25 13:35:22 +05:30
jagannatharjun
f3e4338efc Add a 3-Hour graph 2021-01-23 18:30:39 +05:30
jagannatharjun
c8979a6a49 Make SpeedPlotView averager time aware
Previously SpeedPlotView assumed speed is updated per second but the
default value was 1500ms and that can be further changed by the
user, this caused a lot of duplicate data in the calculation of the
graph points. Now Averager averages based on the target duration, resolution
and also takes into account when actually data has arrived.

Also improved resolution of 6-hour graph, previously it was same as 12-hour graph
2021-01-23 18:30:39 +05:30
Vladimir Golovnev (Glassez)
5b495e2f51
Bump WebAPI version 2021-01-23 13:55:09 +03:00
Mike Tzou
42637a642b
Merge pull request #14256 from Chocobo1/tr
Don't let "program update" dialog steal focus
2021-01-22 11:47:43 +08:00
Chocobo1
ae1b852821
Enlarge "speed limit" icon slightly 2021-01-21 12:22:15 +08:00
Chocobo1
44e4dd3700
Don't let "program update" dialog steal focus
And also avoid creating an unnecessary event loop.
Closes #14250.
2021-01-21 12:22:08 +08:00
an0n666
24d7d599f1
Validate HTTPS Tracker Certificate by default 2021-01-20 13:33:10 +06:00
Chocobo1
d85a41ad75
Disable translation of program name 2021-01-20 11:30:33 +08:00
Mike Tzou
478ddfe102
Merge pull request #14242 from xavier2k6/Change-qBittorrent-Updater-window-title
Change title of "version update" dialog box
2021-01-20 11:21:40 +08:00
Mike Tzou
198f832c3d
Merge pull request #14237 from crackwitz/master
Allow tab to escape the text box in "Edit trackers" dialog
2021-01-20 11:17:28 +08:00
Mike Tzou
f0b78ffc04
Merge pull request #14233 from Chocobo1/menu
Add ability to prioritize selected items by shown file order
2021-01-20 11:15:52 +08:00
Christoph Rackwitz
1fe1fa9eac Allow tab to escape the text box in "Edit trackers" dialog 2021-01-19 12:44:27 +01:00
Chocobo1
6258652c7b
Remove redundant variable declarations 2021-01-19 12:16:10 +08:00
Chocobo1
28d31b9d5b
Add ability to prioritize selected items by shown file order
Closes #2834.
2021-01-19 12:15:48 +08:00
xavier2k6
75426cc498
Change qBittorrent Updater window title 2021-01-18 14:01:13 +00:00
Vladimir Golovnev (Glassez)
ae29e8bbab
Drop extension from generated content folder name
Try to detect whether generated content folder name contains extension
and drop it to avoid possible conflicts between file/folder names.
2021-01-18 10:37:19 +03:00
Mike Tzou
2b9c7e04a4
Merge pull request #14229 from Chocobo1/ext
Improve detection of file extension string
2021-01-18 12:43:54 +08:00
sledgehammer999
d1aba56096
Sync translations from Transifex and run lupdate 2021-01-17 23:20:45 +02:00
Chocobo1
3985d58d3c
Move menu actions out of .ui files
This is to move related code together.
2021-01-17 14:47:55 +08:00
Chocobo1
1479b61214
Simplify code for checking free disk space
`QStorageInfo::bytesAvailable()` is guaranteed to return `-1` for an
invalid path.
https://doc.qt.io/qt-5/qstorageinfo.html#bytesAvailable
2021-01-17 11:51:33 +08:00
Chocobo1
15a249eb54
Improve detection of file extension string 2021-01-17 00:10:18 +08:00
Vladimir Golovnev (Glassez)
710c5e2c31
WebUI: Correctly represent torrent content structure 2021-01-12 16:13:48 +03:00
Chocobo1
6bfed97710
Add README.md to searchengine folder 2021-01-11 15:11:36 +08:00
Vladimir Golovnev (Glassez)
f9e286123f
Raise minimum libtorrent version to 1.2.12 2021-01-10 14:38:58 +03:00
sledgehammer999
613fd1bcf0
Merge pull request #14162 from Chocobo1/flags
Disable compiler flags
2021-01-09 14:08:55 +02:00
Chocobo1
cede5ac9d2
Migrate away from deprecated Qt functions
`QString QDateTime::toString(Qt::DateFormat format = Qt::TextDate)` will
be removed in Qt6.
2021-01-09 12:59:08 +08:00
Chocobo1
89559eae2b
Disable clang "range loop analysis" compiler warning
See: https://github.com/qbittorrent/qBittorrent/pull/13915#issuecomment-739449084
2021-01-09 12:59:07 +08:00
Mike Tzou
d7fb2e6403
Merge pull request #14176 from Chocobo1/pack_src_2
Add script for generating project tarball
2021-01-09 12:51:46 +08:00
Vladimir Golovnev
e3119b457c
Merge pull request #14179 from lbilli/patch-1
On Linux use legacy 'data' directory only as a fallback
2021-01-08 22:15:34 +03:00
sledgehammer999
ae27a5b7b7
Merge pull request #14171 from sledgehammer999/copyright_attribution
Correct copyright attribution
2021-01-07 18:37:43 +02:00
Chocobo1
302cb27e98
Add script for generating project tarball 2021-01-07 23:31:05 +08:00
lbilli
2d3481b9a9
On Linux use legacy 'data' directory only as a fallback 2021-01-07 10:04:08 -05:00
sledgehammer999
9b67e988db
Correct copyright attribution
These files were created and edited in their entirety in commit 8db4bde15d
As far as I can tell they were almost entirety rewritten from their original state.
The old copyright attribution is restored and the new author is added too.
2021-01-07 13:39:15 +02:00
Chocobo1
24fa9e32b0
Set source character sets to UTF-8
This suppress warning C4819.
https://docs.microsoft.com/en-us/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=msvc-160
2021-01-07 11:51:24 +08:00
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
Vladimir Golovnev
35731b96dc
Merge pull request #14157 from jagannatharjun/content-search
Correctly set items flags in TorrentContentModel
2021-01-06 14:19:29 +03:00
Mike Tzou
b79a1b5755
Merge pull request #14145 from Chocobo1/define
Generate version header when configuring project
2021-01-06 11:38:55 +08:00
sledgehammer999
1561f6f09f
Merge pull request #14156 from sledgehammer999/copyright_2021
Bump copyright year
2021-01-06 01:40:46 +02:00
jagannatharjun
36d7fce909 Correctly set items flags in TorrentContentModel
Only set editable flag on item's where editing is handled in the delegate

closes #13515
2021-01-05 23:04:27 +05:30
sledgehammer999
b8d6058b28
Bump copyright year 2021-01-05 14:27:09 +02:00
Vladimir Golovnev
8771e1a339
Merge pull request #14138 from glassez/add-torrent
Use single parameter to accept torrent source
2021-01-05 09:17:08 +03:00
Vladimir Golovnev (Glassez)
531ae501ad
Use std::optional<bool> instead of custom TriStateBool 2021-01-04 23:10:24 +03:00
Vladimir Golovnev (Glassez)
d0cac421bb
Change parseBool() to return optional bool value 2021-01-04 23:10:24 +03:00
Vladimir Golovnev (Glassez)
4429a16ca8
Use std::optional instead of boost::optional 2021-01-04 23:10:03 +03:00
Chocobo1
c669401767
Generate version header when configuring project
The basic idea is we create a version header template at
"src/base/version.h.in" and the build systems are expected to replace
strings that are enclosed with @ symbols and generate
"src/base/version.h" for other source files to consume/include.
2021-01-04 22:28:41 +08:00
Vladimir Golovnev (Glassez)
ee5fe424e8
Use single parameter to accept torrent source 2021-01-03 17:01:20 +03:00
Vladimir Golovnev (Glassez)
552ff0489d
Use nested namespaces definition syntax 2021-01-03 16:53:24 +03:00
Mike Tzou
04a9ce6e81
Merge pull request #14074 from Chocobo1/dialog_size
Remember dialog sizes
2021-01-03 13:20:21 +08:00
Mike Tzou
586bdc0567
Merge pull request #14121 from Chocobo1/settingsStorage
Improve load data behavior of SettingsStorage class
2021-01-03 13:19:53 +08:00
Vladimir Golovnev
4bb3d13921
Merge pull request #14123 from glassez/restart-missing-files
Don't re-check "missing files" torrents when re-start
2021-01-02 15:20:50 +03:00
Vladimir Golovnev
7c02630186
Merge pull request #14116 from glassez/drop-move-notify
Drop notification about move storage finished
2021-01-02 10:34:09 +03:00
Chocobo1
ff63ad8b97
Don't use deprecated locale name 2021-01-02 13:25:23 +08:00
Chocobo1
bdf1fb6db8
Revise store/load state operations of Options Dialog 2021-01-02 13:25:23 +08:00
Mike Tzou
d21fdb7546
Merge pull request #14118 from Chocobo1/fromstring
Move parsing of TriStateBool to a static class function
2021-01-02 12:58:00 +08:00
Chocobo1
be5af2796d
Revise SettingsStorage store/load value interface 2021-01-02 12:48:26 +08:00
Chocobo1
b1020c599f
Improve load data behavior of SettingsStorage class
Previously it only handle the case of failed lookup, now it discard
invalid values when deserializing the database from disk.
Also checks whether the data is convertible to the intended type.
2021-01-01 22:57:50 +08:00
Vladimir Golovnev (Glassez)
b2199202ab
Reload "missing files" torrent instead of re-checking 2021-01-01 16:16:52 +03:00
Vladimir Golovnev (Glassez)
06105072f9
Extract torrent reloading logic into separate method 2021-01-01 16:08:01 +03:00
Vladimir Golovnev
b676ca7d96
Merge pull request #14108 from thalieht/webui-options-content-layout
Update "Keep top-level folder" in WebUI options
2021-01-01 15:32:49 +03:00
Chocobo1
757ab3dc92
Remember dialog sizes
This applies to "About Dialog", "Ban List Options Dialog", "Download From URL Dialog", "IP Subnet
Whitelist Options Dialog", "Search Plugin Select Dialog", "Search Plugin Source Dialog",
"Statistics Dialog", "Speed Limit Dialog" and "Torrent Options Dialog".

Also unifies storing the dialog size under the key "Size".
2021-01-01 16:03:32 +08:00
Chocobo1
e022c371ff
Move parsing of TriStateBool to a static class function 2021-01-01 12:59:48 +08:00
Vladimir Golovnev (Glassez)
df2bbe129d
Drop notification about move storage failed 2020-12-31 21:53:43 +03:00
Vladimir Golovnev (Glassez)
f7cae610a4
Drop notification about move storage finished 2020-12-31 21:49:18 +03:00
thalieht
bb698d682c Update "Keep top-level folder" in WebUI options 2020-12-31 13:06:46 +02:00
Chocobo1
5bd6ff2285
Migrate away from deprecated std::iterator class 2020-12-31 13:28:48 +08:00
Chocobo1
e6cf186c23
Use function-pointer based signal-slot connection 2020-12-31 13:28:48 +08:00
Chocobo1
d70b893852
Bump project requirement to C++17 2020-12-31 13:28:48 +08:00
Mike Tzou
a579b4a519
Merge pull request #14085 from Chocobo1/settingvalue
Add a thin layer around SettingsStorage class
2020-12-31 10:46:32 +08:00
sledgehammer999
fffa2f097e
Merge pull request #14069 from sledgehammer999/new_languages
Add new languages
2020-12-30 23:43:43 +02:00
Vladimir Golovnev (Glassez)
3af2168b02
Don't call non-existent elements
Fixed a regression where the script tries to access elements that no longer
exist on the page, because they were replaced with others by a previous change.
2020-12-30 16:45:49 +03:00
Vladimir Golovnev
f1337524f6
Merge pull request #14089 from glassez/fix-webui
Don't call non-existent elements
2020-12-29 22:30:00 +03:00
Vladimir Golovnev
348109a1f9
Merge pull request #13995 from glassez/rename-files
Improve content file/folder names handling
2020-12-29 22:27:58 +03:00
Chocobo1
0b0597be0c
Add a thin layer around SettingsStorage class
This new layer would be handy for saving GUI widget states as they don't
need the value cached and they store/load rarely.
2020-12-30 00:10:22 +08:00
Vladimir Golovnev (Glassez)
690dbc4725
Don't call non-existent elements
Fixed a regression where the script tries to access elements that no longer
exist on the page, because they were replaced with others by a previous change.
2020-12-29 14:31:37 +03:00
Mike Tzou
cc9b1ea8a1
Merge pull request #14073 from Chocobo1/locale
Capitalize locale names
2020-12-29 17:32:37 +08:00
sledgehammer999
ffebe82586
Add new languages
* Azerbaijani
* Estonian
2020-12-28 21:58:44 +02:00
Vladimir Golovnev (Glassez)
4453e7fcdd
Improve content file/folder names handling
Move files/folders renaming functions to core classes.
Query file/folder for renaming by its current path.
Add ability to rename content folders from WebAPI/WebUI.
2020-12-28 21:18:28 +03:00
Mike Tzou
60d65d8137
Merge pull request #13885 from thalieht/torrentOptionsDialog
Rework global speed limit dialog and introduce torrent options dialog
2020-12-28 11:34:38 +08:00
Chocobo1
c8eefe749f
Capitalize locale names 2020-12-28 11:25:25 +08:00
sledgehammer999
162421a59a
Sync translations from Transifex and run lupdate 2020-12-26 21:15:29 +02:00
Vladimir Golovnev (Glassez)
79048812e9
Fix folder name extraction functions
It should return empty string if there is no parent folder.
2020-12-26 14:47:06 +03:00
Vladimir Golovnev
70b242f190
Merge pull request #13955 from glassez/content-policy
Improve content root folder handling
2020-12-26 14:44:51 +03:00
thalieht
8db4bde15d Group several torrent options into one dialog
Speed limits, share limits and the new options to disable DHT, PeX, LSD per torrent
2020-12-25 20:37:43 +02:00
thalieht
fbb8f0cbf5 Save fastresume when setting torrent speed limits 2020-12-25 20:37:43 +02:00
thalieht
aafa12eb6e Increase maximum global speed limits from ~1 GiB/s to ~2 GiB/s
Closer to the INT_MAX limit of ~2 Billion when multiplied by 1024 for libtorrent
2020-12-25 20:37:43 +02:00
thalieht
76f285f19c Convert existing speed dialog to global + alt global limits only 2020-12-25 20:37:43 +02:00
Mike Tzou
e1073de36f
Merge pull request #14039 from Chocobo1/stats
Don't use removed stat metric in libtorrent 2.0
2020-12-25 17:55:56 +08:00
Chocobo1
4180db601d
Use a helper function to look up stat indexes 2020-12-24 23:20:21 +08:00
Chocobo1
423983e023
Fix wrong JSON type returned
Fix up 78638a15be.
Closes #14041.
2020-12-24 23:15:36 +08:00
Chocobo1
90a1ea4281
Don't use removed stat metric in libtorrent 2.0
For now, the metric is not entirely removed due to WebAPI still needs to
access it.
2020-12-24 12:04:14 +08:00
Chocobo1
0ebd864db9
Initialize stat indices to -1
When the index is initialized it will be set to a number >= 0, so we use
-1 to denote its uninitialized status.
2020-12-24 11:30:48 +08:00
Vladimir Golovnev (Glassez)
1d5dc283fe
Allow to add root folder to torrent content 2020-12-23 13:07:33 +03:00
Vladimir Golovnev (Glassez)
f6d1fea9b7
Fix bug of "move storage job" can be performed multiple times 2020-12-21 20:11:01 +03:00
Chocobo1
78638a15be
Migrate away from deprecated QVariant comparison operators
Fortunately, serializing to JSON limits the data types to a very small
subset and thus we are able to implement the comparison without much
hassle.

Fix up cba8d83b21.
2020-12-18 13:19:15 +08:00
Vladimir Golovnev (Glassez)
d4a51979bb
Extract enum serialization/parsing functions 2020-12-15 10:18:39 +03:00
Vladimir Golovnev (Glassez)
77555cd5c2
Improve torrent name handling 2020-12-15 10:18:39 +03:00
Vladimir Golovnev
c01d28a471
Merge pull request #13948 from FranciscoPombal/pragmatism
Use #pragma once instead of include guards
2020-12-14 13:51:02 +03:00
Chocobo1
20ae89c2a1
Add support for allow_idna option
Upstream PR: https://github.com/arvidn/libtorrent/pull/5316
2020-12-13 12:12:24 +08:00
Chocobo1
0baa23f553
Update "HTTPS tracker validation" enablement conditional
https://github.com/arvidn/libtorrent/pull/5313
2020-12-13 12:12:24 +08:00
Mike Tzou
10fbb6a2a8
Merge pull request #13953 from Chocobo1/cmp
Migrate away from deprecated QVariant comparison operators
2020-12-13 11:49:52 +08:00
FranciscoPombal
6152b83405 Use #pragma once instead of include guards 2020-12-12 19:41:32 +00:00
Vladimir Golovnev (Glassez)
5f94238d23
Fix bug of torrents don't save "stopped" state 2020-12-11 17:33:37 +03:00
Chocobo1
4d1d5d6b20
Revise Utils::Version comparison operators 2020-12-11 12:50:12 +08:00
Chocobo1
5ba6a5fca1
Add operator< for InfoHash class 2020-12-10 20:11:15 +08:00
Chocobo1
cba8d83b21
Migrate away from deprecated QVariant comparison operators
Another idea would be manually define a custom comparison function for
QVariant. However, having the function would be excessive due to its
limited usage count, also note that we are already casting
various QVariant to its underlying type in existing code.
2020-12-10 20:11:13 +08:00
Chocobo1
ff3d0346eb
Fix coding style 2020-12-09 22:50:01 +08:00
Chocobo1
498da509db
Use Qt provided forward declaration header 2020-12-09 18:21:02 +08:00
Mike Tzou
d484c0e7ce
Merge pull request #13912 from Chocobo1/infohash
Use the correct type when referring to info hash
2020-12-08 20:53:12 +08:00
Vladimir Golovnev
5c1c561d7d
Merge pull request #13905 from glassez/handle-metadata
Fix received metadata handling
2020-12-07 08:39:06 +03:00
Chocobo1
9f0429ca6f
Use the correct type when referring to info hash 2020-12-06 22:04:28 +08:00
Vladimir Golovnev
3485ad39d9
Merge pull request #13511 from FranciscoPombal/bump_versions
Bump minimum dependency versions
2020-12-05 13:27:21 +03:00
Vladimir Golovnev (Glassez)
4e04cd27c9
Fix received metadata handling 2020-12-05 10:03:27 +03:00
FranciscoPombal
7e4b428a3e Fix method invocation on Qt < 5.10
Fixup 0c3fe54b0b
2020-12-04 22:46:49 +00:00
Vladimir Golovnev
2f6ed86c78 Drop support for building with libtorrent < 1.2.11
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2020-12-04 14:30:12 +00:00
FranciscoPombal
6590915b15 Update minimum depedency versions 2020-12-04 12:23:22 +00:00
Vladimir Golovnev
0c3fe54b0b
Merge pull request #13894 from glassez/find-existing
Find existing files in separate thread
2020-12-04 06:34:53 +03:00
Vladimir Golovnev (Glassez)
a93b675cb8
Search for existing files in separate thread 2020-12-03 07:58:34 +03:00
Mike Tzou
0f2df23800
Merge pull request #13893 from Chocobo1/input_length
Remove unnecessary restriction on input length
2020-12-02 23:13:06 +08:00
Chocobo1
6aa5abf298
Update URL to libtorrent settings 2020-12-02 13:50:41 +08:00
Chocobo1
bd672c4c4e
Move "embedded tracker" options to qbt section 2020-12-02 13:50:41 +08:00
Chocobo1
8d768bda31
Add links to libtorrent documentation 2020-12-02 13:50:40 +08:00
Chocobo1
5110994f81
Lift upper limit of "Max concurrent HTTP announces" option
Closes #13800.
2020-12-02 13:47:47 +08:00
Chocobo1
83d17b5c0e
Remove unnecessary restriction on input length
Closes #13884.
2020-12-02 11:51:41 +08:00
Vladimir Golovnev
e6c174c33b
Merge pull request #13882 from jesec/master
WebAPI: allow to attach tags while adding torrents
2020-12-01 15:38:48 +03:00
Vladimir Golovnev (Glassez)
9497300a4a
Don't rewrite TorrentInfo instance if it's valid 2020-12-01 08:15:26 +03:00
Vladimir Golovnev (Glassez)
acab62e345
Properly handle "Append extension" option changing 2020-12-01 08:15:25 +03:00
Vladimir Golovnev (Glassez)
0e8feed2f2
Clean up metadata downloading code 2020-12-01 08:15:12 +03:00
sledgehammer999
82716d8014
Merge pull request #13871 from sledgehammer999/magnet_delete
Don't try to remove folders for a torrent without metadata
2020-12-01 02:14:51 +02:00
sledgehammer999
af262e9a14
Merge pull request #13870 from sledgehammer999/fix_magnet_queue
Fix status of torrents without metadata
2020-12-01 02:14:32 +02:00
Jesse Chan
d0d5af8c66 WebAPI: bump version to 2.6.2 2020-12-01 01:43:03 +08:00
Jesse Chan
86f9b1f6db WebAPI: allow to attach tags while adding torrents 2020-11-30 20:54:42 +08:00
Chocobo1
eaaacd71a8
Simplify the calculation of speed graph scale 2020-11-30 00:03:47 +08:00
Chocobo1
75cead9266
Avoid potential rounding to integer issues 2020-11-30 00:03:46 +08:00
Chocobo1
4381739b6d
Fix coding style 2020-11-29 20:13:58 +08:00
Chocobo1
8f2cdcef0e
Fix availability value
Closes #13869.
Fix up 02f19bfbee.
2020-11-29 19:52:51 +08:00
sledgehammer999
9721acbf63
Don't try to remove folders for a torrent without metadata 2020-11-29 02:41:47 +02:00
sledgehammer999
be5cb1683b
Fix status of torrents without metadata 2020-11-29 00:32:53 +02:00
Mike Tzou
4259b4571c
Merge pull request #13836 from Chocobo1/webui
Add ability to use 'shift+delete' to delete torrents in WebUI
2020-11-28 01:02:41 +08:00
Chocobo1
d46343fb9c
Add ability to use 'shift+delete' to delete torrents in WebUI
Closes #13827.
2020-11-26 15:52:47 +08:00
Chocobo1
13c4581c86
Fix wrong data used for comparison
In torrent transfer list we should use underlying data for sorting, not
displayed values.

Closes #13818.
2020-11-26 01:35:57 +08:00
sledgehammer999
9c938b91b7
Sync translations from Transifex and run lupdate 2020-11-24 16:58:42 +02:00
Thomas De Rocker
9515b40ca5
Fix confusion in date format description (#1)
* Update automatedrssdownloader.ui

* Update rssDownloader.html (#2)
2020-11-21 10:09:47 +01:00
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style 2020-11-17 21:02:37 +03:00
sledgehammer999
6ec07d744e
Add Latgalian translation
Closes #12415
2020-11-16 20:26:54 +02:00
Chocobo1
0be2567d97
Don't use deprecated torrent state "allocating"
Closes #13737.
2020-11-12 00:17:42 +08:00
Vladimir Golovnev (Glassez)
85bd0feee0
Handle torrent "paused" state at application level 2020-11-02 10:09:14 +03:00
Mike Tzou
b249216db6
Merge pull request #13659 from FranciscoPombal/whitespacev2
File health: trailing newlines, whitespace, etc fixes and GitHub Actions workflow
2020-11-02 11:33:21 +08:00
Chocobo1
7ddd5e9bc3
Remove unused function 2020-11-01 14:25:33 +08:00
Chocobo1
6b4a4517ec
Remove redundant semicolon 2020-11-01 14:24:49 +08:00
Mike Tzou
7c1c91ac43
Merge pull request #13689 from Chocobo1/paste
Allow adding torrents using "Paste" key sequence
2020-11-01 11:30:27 +08:00
Chocobo1
b2b7d02c01
Allow adding torrents using "Paste" key sequence
Closes #13685.
2020-10-31 14:07:04 +08:00
NotTsunami
a5f8f1f0f5 Fix mingw64 build error
mingw64 defines interface, so revert back to previous naming scheme

Fixes: 87864531ab
Closes #13649
2020-10-29 18:25:19 -04:00
Mike Tzou
424e2c76fa
Merge pull request #13668 from jagannatharjun/consistent
Improve consistency between transfer list and torrent content view
2020-10-29 10:20:28 +08:00
FranciscoPombal
41ae2bfb84 Make sure there are no empty files 2020-10-28 14:20:18 +00:00
FranciscoPombal
4bdf9eda41 Fix extra/missing trailing new lines in files 2020-10-28 14:20:18 +00:00
FranciscoPombal
ef1c7eec74 Fix trailing whitespace in multiple files
Also fix formatting of CODING_GUIDELINES.md
2020-10-28 14:20:11 +00:00
FranciscoPombal
87527fccc6 Encode files in UTF-8 without BOM 2020-10-28 14:15:31 +00:00
Mike Tzou
f23234d0df
Merge pull request #13667 from Chocobo1/webui
Remove outdated information
2020-10-28 21:08:39 +08:00
jagannatharjun
fdbc3a692f Align integer data to right in torrent content view 2020-10-28 12:27:54 +05:30
Vladimir Golovnev
571aaea3e0
Merge pull request #13658 from glassez/recheck
Don't resume "paused" torrents when put into "checking" state by libtorrent
2020-10-28 08:45:35 +03:00
jagannatharjun
d0986297ca Rename TR_PROGRESS header in TransferList
Closes #13665
2020-10-28 10:39:56 +05:30
Chocobo1
188e679ea3
Remove outdated information 2020-10-28 13:09:37 +08:00
Mike Tzou
4209a5699a
Merge pull request #13632 from jagannatharjun/progress-style
Allow progress bar styling from custom themes
2020-10-28 10:04:05 +08:00
Vladimir Golovnev (Glassez)
80ca7796ca
Fix torrent state calculation 2020-10-27 17:41:40 +03:00
jagannatharjun
02f19bfbee Use ProgressbarDelegate for drawing progressbar in PropListDelegate
Also directly provide display data from model rather then generating it in delegate
2020-10-27 11:58:17 +05:30
jagannatharjun
49d5591f48 Use ProgressBarDelegate for drawing progressbar in TransferListView 2020-10-27 11:58:17 +05:30
jagannatharjun
816bc45707 Implement ProgressBarDelegate 2020-10-27 11:58:17 +05:30
Mike Tzou
73e9dce143
Merge pull request #13637 from Chocobo1/libt
Improve compatibility with libtorrent 2.0
2020-10-27 01:33:08 +08:00
Vladimir Golovnev (Glassez)
9f0edde12b
Don't resume "paused" torrents when checking by libtorrent 2020-10-26 11:08:22 +03:00
Mike Tzou
cf55b67cee
Merge pull request #13646 from jagannatharjun/content-crash
Fix crash when clicked outside the table of torrent content view
2020-10-26 12:38:11 +08:00
Mike Tzou
9ca415c665
Merge pull request #13636 from FranciscoPombal/clarify_protocol
Clarify protocol choice label
2020-10-26 12:26:28 +08:00
Mike Tzou
6d514c97f8
Merge pull request #13569 from brvphoenix/webui
Fix the issue that IPv6 address can't be banned
2020-10-26 12:15:54 +08:00
jagannatharjun
e812ac2c0b Fix crash when clicked outside the table of torrent content view
Closes #13645
2020-10-25 23:39:48 +05:30
Chocobo1
480832318c
Add support for tracker scrape in libtorrent 2.0 2020-10-26 00:37:53 +08:00
Chocobo1
7a3e397949
Migrate away from deprecated functions in libtorrent 2.0 2020-10-26 00:37:53 +08:00
Chocobo1
c95e450b8d
Improve compatibility with libtorrent 2.0
In libtorrent 2.0, the `connection_type` was changed to a flag type and
hence it cannot be used in a switch statement directly. Also our use of
`connection_type` is limited so that a single equality comparison
would cover all of our use cases.
2020-10-26 00:36:59 +08:00
Vladimir Golovnev
0a2a71e83b
Merge pull request #13625 from FranciscoPombal/expose_content_path
Expose contentPath in WebAPI torrents/info
2020-10-25 13:08:56 +03:00
FranciscoPombal
831bf71ce6 Clarify protocol choice label 2020-10-25 00:11:57 +01:00
Mike Tzou
172eda5471
Merge pull request #13620 from Chocobo1/qhash
Move qHash helper for libtorrent types to its own file
2020-10-24 12:34:26 +08:00
FranciscoPombal
aa899f0693 Expose contentPath in WebAPI torrents/info
Bump WebAPI version to 2.6.1
2020-10-23 17:49:28 +01:00
Vladimir Golovnev
82602b51bf
Merge pull request #13614 from glassez/resumedata
Prevent resume data to be saved for removed torrent
2020-10-23 10:13:51 +03:00
Chocobo1
3971a12f0e
Remove redundant checking before remove 2020-10-23 12:58:57 +08:00
Chocobo1
70c4eb44fd
Fix class name 2020-10-23 12:58:11 +08:00
Mike Tzou
9ce54162c2
Merge pull request #13600 from thalieht/webuioption
Fix toggling advanced option in WebUI
2020-10-23 12:11:27 +08:00
Vladimir Golovnev (Glassez)
92c6fc04a8
Prevent resume data to be saved for removed torrent 2020-10-22 20:16:52 +03:00
brvphoenix
799ad0feff Fix the issue that IPv6 address can't be banned
The ban action doesn't depend on ipfilter.
2020-10-21 18:21:07 -07:00
thalieht
1a56385cf9 Fix toggling advanced option in WebUI
option "Disallow connection to peers on privileged ports"
2020-10-22 01:34:11 +03:00
Chocobo1
71827fe4e6
Move qHash helper for libtorrent types to its own file 2020-10-22 03:12:48 +08:00
Chocobo1
8568f7a0fb
Avoid settings being reset via WebAPI
Closes #13585.
2020-10-21 18:02:01 +08:00
Mike Tzou
39c61327b5
Merge pull request #13567 from Chocobo1/typo
Fix typos
2020-10-21 11:04:17 +08:00
Chocobo1
7e258bfe38
Fix typos 2020-10-20 18:56:30 +08:00
Andrei Stepanov
04306a544f
Fix typo in connection.cpp
limiation -> limitation
2020-10-20 11:10:51 +04:00
Sepro
6c016cf443 Place WebUI RSS description in sandboxed iframe 2020-10-19 06:39:19 +02:00
sledgehammer999
e757b4f8da
Sync translations from Transifex and run lupdate 2020-10-18 21:18:33 +03:00
Mike Tzou
1c663adee7
Merge pull request #13465 from WillDaSilva/mid-click-close-tabs
Enable the use of middle-click to close tabs
2020-10-18 12:24:03 +08:00
Vladimir Golovnev
720c1c8216
Merge pull request #13395 from glassez/disk_io
Implement disk IO thread wrapper
2020-10-17 12:53:25 +03:00
Will Da Silva
6e0cf96726 Make middle-click close search tabs 2020-10-17 00:21:10 -04:00
lbilli
1c7bfcac46
Don't create 'data' subdirectory on Linux 2020-10-15 14:02:28 -04:00
Mike Tzou
5be7b256e9
Merge pull request #13499 from bershanskiy/hashing_threads
Add option for hashing_threads setting
2020-10-14 11:40:01 +08:00
Mike Tzou
84a96505e1
Merge pull request #13500 from Chocobo1/flags
Run svgcleaner on the country flags
2020-10-13 12:15:12 +08:00
Anton Bershanskiy
b4bfdd6f7a Add option for hashing_threads, use 10 asyc IO threads
Add option for setting lt::settings_pack::hashing_threads
introduced by libtorrent 2.0. It has no effect for earlier
libtorrent versions.
Use 10 async IO threads, as per #11461.
Closes #11461.
2020-10-13 00:58:13 +03:00
Mike Tzou
8276b6f468
Merge pull request #13495 from thalieht/peerlistZero
Fix regression of not hiding zero values in the peer list
2020-10-13 03:27:38 +08:00
Chocobo1
63ab911584
Run svgcleaner on the country flags
As a side effect, svgcleaner also fixes the corrupt flags reported in #13497.
Closes #13497.
2020-10-12 10:58:58 +08:00
Chocobo1
da5969d0a6
Sync country flags with upstream 2020-10-12 10:58:11 +08:00
thalieht
9d25405144 Check cheaper conditional first 2020-10-11 20:22:27 +03:00
thalieht
95b452a3e9 Fix regression of not hiding zero values in the peer list
Fixup 13aab6e04d
2020-10-11 20:17:01 +03:00
Chocobo1
19d77b0881
Add support for creating v2 torrents 2020-10-10 23:21:26 +08:00
Mike Tzou
4fa8862398
Merge pull request #13484 from Chocobo1/webui
Fix image not loading under proxy
2020-10-09 16:26:50 +08:00
Vladimir Golovnev
bad5e1f887
Merge pull request #12086 from FranciscoPombal/code-cleanup
Clean ups
2020-10-09 07:13:18 +03:00
Chocobo1
611f2de11f
Fix wrong capitalization 2020-10-09 00:40:29 +08:00
Chocobo1
744b89c878
Fix image not loading under proxy
Closes #13483.
2020-10-09 00:37:32 +08:00
FranciscoPombal
2c10b3936b Change some types (uint -> int) in RSS subsystem 2020-10-07 23:26:13 +01:00
FranciscoPombal
deffdbe881 Change some types (uint -> int) in Session class 2020-10-07 23:26:13 +01:00
FranciscoPombal
87864531ab Clean up in Session class 2020-10-07 23:26:13 +01:00
FranciscoPombal
f502f60f7c Avoid unessary QString allocation 2020-10-07 15:34:26 +01:00
FranciscoPombal
776c1f1546 Always use multi-arg arg() overload when possible
Fixed clazy-qstring-arg Clazy warnings
2020-10-07 15:34:26 +01:00
jagannatharjun
e2c0f00adb Correctly fill whole width of graph 2020-10-03 12:41:18 +05:30
Vladimir Golovnev
eec6637cfa
Merge pull request #13456 from glassez/cmake
Fix CMake project
2020-09-28 11:33:59 +03:00
Vladimir Golovnev (Glassez)
3d0543c444
Fix static build with Qt < 5.14 2020-09-28 07:10:49 +03:00
Mike Tzou
79b4fb70f5
Merge pull request #13445 from jagannatharjun/pieces-green
Use toned green color for downloading pieces in Pieces bar
2020-09-28 11:37:03 +08:00
Vladimir Golovnev (Glassez)
aef8f4f465
Set target property before it is used 2020-09-27 22:17:50 +03:00
jagannatharjun
fbe484a615 Use toned green color for downloading pieces in Pieces bar 2020-09-26 14:53:46 +05:30
Mike Tzou
2bfaa8229a
Merge pull request #13431 from Chocobo1/namespace
Fix code defects
2020-09-26 11:20:10 +08:00
Chocobo1
ef9765cea1
Remove meaningless const on pointers
This only apply to signals.
2020-09-25 15:13:14 +08:00
Chocobo1
2e37ea608c
Migrate away from obsoleted functions 2020-09-25 15:12:40 +08:00
Chocobo1
ac3ab2432a
Remove redundant namespace prefix 2020-09-25 15:10:20 +08:00
Chocobo1
f487d32594
Fix initialization order 2020-09-25 12:25:09 +08:00
Mike Tzou
1a3091a980
Merge pull request #13419 from silverqx/patch-1
Fix fully-qualified-moc-types clazy warning
2020-09-22 22:34:52 +08:00
Silver Zachara
97df5667e7
Use fully-qualified type names
Fixed fully-qualified-moc-types clazy warnings
2020-09-21 18:30:02 +02:00
Mike Tzou
1b2fc63089
Merge pull request #13412 from Chocobo1/cmake
CMake improvements
2020-09-22 00:02:33 +08:00
Mike Tzou
c3b5668a07
Merge pull request #12577 from NotTsunami/peer
Allow users to configure no_connect_privileged_ports
2020-09-22 00:02:20 +08:00
Chocobo1
da2a26fa01
Use silent flag when invoking lrelease via cmake 2020-09-21 12:16:47 +08:00
NotTsunami
2eb3ff7f06 Allow users to configure no_connect_privileged_ports
Don't hardcode lt::settings_pack::no_connect_privileged_ports. We
support the peer alert for it already, so connections blocked by this
setting should be logged.
2020-09-20 22:46:28 -04:00
Vladimir Golovnev
04d345251e
Merge pull request #13400 from glassez/sequential
Improve sequentialDownload/firstLastPiecePriority handling
2020-09-20 08:00:33 +03:00
Mike Tzou
63ff5e348c
Merge pull request #13399 from Chocobo1/cmake
Improvements to cmake build system
2020-09-19 22:12:42 +08:00
Vladimir Golovnev
1333fc81f8
Merge pull request #13402 from FranciscoPombal/cmake_fix
CMake: fix linking against OpenSSL
2020-09-19 07:16:41 +03:00
Vladimir Golovnev
e41ae1457e
Merge pull request #13390 from NotTsunami/ban
Prevent peers from being lost when banning
2020-09-19 07:14:50 +03:00
NotTsunami
8d64d38914 Prevent peers from being lost when banning
The selected rows aren't queried until after a user confirms they
would like to ban the selected peers. If a peer disconnects before
the confirmation is pressed, they will not be included in the
selection. This commit makes sure the selected rows are stored before
a selection is made to prevent the loss of any peers.

Closes #13385.
2020-09-18 15:33:17 -04:00
FranciscoPombal
2534909d3b CMake: fix linking against OpenSSL
This should have been there from the start,
but for some reason, the lack of it didn't cause any issued
for many systems.
2020-09-18 17:53:14 +01:00
Vladimir Golovnev (Glassez)
39d32063c1
Implement disk IO thread wrapper 2020-09-18 15:56:29 +03:00
Vladimir Golovnev (Glassez)
ff36356be0
Improve sequentialDownload/firstLastPiecePriority handling
Always store firstLastPiecePriority in resume data.
Don't recalculate firstLastPiecePriority value each time it is accessed.
Always store sequentialDownload in resume data as native libtorrent field.
2020-09-18 13:33:55 +03:00
Chocobo1
0539c816ae
Set compression rate for rcc targets
This follows our current setting in src.pro.
2020-09-18 14:49:17 +08:00
Chocobo1
6880e03145
Remove compile requirement for boost::system
boost::system is not a dependency for our project.
2020-09-18 14:48:54 +08:00
Mike Tzou
70d9ea8034
Merge pull request #13388 from Chocobo1/webui
Add missing semicolons in WebUI
2020-09-18 11:56:35 +08:00
FranciscoPombal
46123b9989 CMake: overhaul and improve scripts
- Bump minimum required version and
make use of more modern language features
- Rely more on target_...() commands to establish dependency
relationships between targets rather than directory property commands
- Improve libtorrent package discovery
- Enable and handle application features more explicitly
- Improve user-facing output
- Fix various compilation issues on Windows (MSVC and MinGW) and macOS
- Improve handling of translations
- Add explanatory comments where relevant
- Make CMake scripts fully independent of qmake files/details
- Remove old functions/macros
2020-09-17 13:13:26 +01:00
Chocobo1
ccdc3b201b
Add missing semicolons
Also trim trailing whitespaces along the way.
2020-09-17 12:11:13 +08:00
FranciscoPombal
e0c62827a8 Fix peer blocked message 2020-09-16 16:59:51 +01:00
Mike Tzou
ff82063520
Merge pull request #13366 from qbittorrent/linuxtrayhtml
Don't use HTML in Linux tray tooltip
2020-09-15 12:31:49 +08:00
Mike Tzou
49e55d5a5d
Merge pull request #13268 from ngosang/feature/python35-
Update minimum Python version to 3.5.0
2020-09-14 12:03:20 +08:00
thalieht
ede1bd0657 Don't use HTML in Linux tray tooltip
HTML is no longer allowed in Linux tray tooltip's title, only in its subtext.

Closes #13030
2020-09-13 12:43:55 +03:00
Chocobo1
8cfac795c6
Avoid using libtorrent internal functions
`char const* socket_type_name(socket_type_t);` is decided to be not
exported and thus it is internal:
https://github.com/arvidn/libtorrent/pull/4859/files#r452925563
2020-09-13 12:22:31 +08:00
Mike Tzou
8d57a6527b
Merge pull request #13355 from Chocobo1/allocate
Enable faster disk space allocation by default
2020-09-12 23:39:49 +08:00
Mike Tzou
2d1855dc05
Merge pull request #13354 from Chocobo1/libt2
Disable deprecated settings in libtorrent 2.0
2020-09-12 11:02:12 +08:00
Chocobo1
01603c1f62
Enable faster disk space allocation by default
In libtorrent > 2.0, the setting is turned off by default, now we just
re-enable it to preserve the behavior as in earlier versions.
2020-09-10 22:12:35 +08:00
Chocobo1
79eb9a4990
Move signal connections to appropriate place 2020-09-10 21:17:46 +08:00
Chocobo1
0bf76723f1
Move enums into anonymous namespace 2020-09-10 21:17:46 +08:00
Chocobo1
2fd69a21b0
Initialize session with session_params class
The old way of initialization is deprecated in libtorrent 2.0.
2020-09-09 16:16:08 +08:00
Chocobo1
554eab50bb
Disable deprecated libtorrent settings 2020-09-09 16:16:08 +08:00
Vladimir Golovnev
defdd5121c
Merge pull request #13340 from glassez/fix-magnet
Improve adding torrent using Magnet URI
2020-09-09 10:06:39 +03:00
Mike Tzou
c967bf31ff
Merge pull request #13336 from Chocobo1/webui
Minor WebUI improvements
2020-09-09 11:48:55 +08:00
Mike Tzou
6e971c47e7
Merge pull request #13319 from an0n666/tracker-queue
Expose libtorrent max_concurrent_http_announces in advanced settings
2020-09-09 11:48:25 +08:00
Vladimir Golovnev (Glassez)
5727fcb001
Store and use full magnet URI instead of hash 2020-09-08 14:57:45 +03:00
Vladimir Golovnev (Glassez)
20206ec92a
Improve adding torrent using Magnet URI
Closes #13249.
2020-09-08 14:56:38 +03:00
Chocobo1
5677ce1cc9
Use proper uppercase "UTF-8" in charset field 2020-09-08 14:31:19 +08:00
Chocobo1
2f1016494b
Specify UTF-8 charset when forming data from plain text
This suppresses a browser warning about unspecified character encoding
of an HTTP response.
2020-09-08 14:30:55 +08:00
an0n666
73b39a8dec Expose libtorrent max_concurrent_http_announces in advanced settings 2020-09-08 06:05:45 +06:00
Chocobo1
79bb8227d0
Migrate away from deprecated address::to_string(error_code)
The other overload require users to handle exceptions themselves.
2020-09-07 14:48:13 +08:00
Chocobo1
25a47dadeb
Migrate away from deprecated address::from_string() 2020-09-07 14:27:18 +08:00
Chocobo1
2a2ae2a566
Add helper function to convert to string from lt::socket_type_t type 2020-09-07 13:48:57 +08:00
Chocobo1
2c01ac4b75
Improve handling of empty iframe src
"about:blank" is suggested in https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
2020-09-07 12:14:11 +08:00
FranciscoPombal
9b43d260a7 Fix GeoDB download in systems with non-C locales
Closes #13318.
2020-09-05 23:21:05 +01:00
Chocobo1
ef6dfa9b54
Fix "Open containing folder" opened the wrong path for folder item
Previously that action is the same as "Open" action which is wrong
behavior, it should be opening the parent folder instead. The wrong
behavior is observed on nautilus 3.36.3 and nemo 4.6.5.
2020-08-30 20:38:35 +08:00
Mike Tzou
3c6e6ae872
Merge pull request #13294 from Chocobo1/openFile
Fix open path won't work correctly
2020-08-30 11:28:46 +08:00
Mike Tzou
cae5c5cea0
Merge pull request #13257 from Sophist-UK/patch-1
Expose LibTorrent peer_turnover settings
2020-08-30 11:28:28 +08:00
Chocobo1
eb1a3e2b29
Fix open path won't work correctly
Previously, if double click on the Size number in torrent content tab
the path would be an incorrect value and as such open path functionality
won't work, this commit fixes it.
2020-08-29 19:59:55 +08:00
Chocobo1
307ca61c86
Code clean up 2020-08-29 19:56:05 +08:00
LoopsGod
7efee615ad
Add CTRL + I shortcut to actionStatistics
Mapped the CTRL + I shortcut to open statistics in GUI.
2020-08-26 09:57:44 +02:00
Mike Tzou
4539c679d9
Merge pull request #13256 from jagannatharjun/pieces-style
Use palette colors in pieces bars
2020-08-23 11:26:48 +08:00
jagannatharjun
d73757bf6e Use palette colors in pieces bars 2020-08-22 14:46:37 +05:30
Sophist
4c37c229d9 Expose LibTorrent peer_turnover settings
This PR exposes the LibTorrent Peer Turnover Settings in qBT Advanced Settings in order to allow users to adjust how frequently slow and uninteresting connections are closed to allow potentially better / faster connections to be made.

The default settings are to turnover peers when the number of connections is at least 90% of allowed global or per torrent connections, and to disconnect the least attractive 4% of these connections every 5 minutes.

See https://www.libtorrent.org/reference-Settings.html#peer_turnover
2020-08-19 20:11:58 +01:00
Chocobo1
8869dc543f
Fix seeding time checkbox placement in WebUI 2020-08-19 15:55:16 +08:00
Chocobo1
ed2756b885
Convert to the proper type 2020-08-19 15:55:16 +08:00
Chocobo1
f7f0a27d76
Clean up coding style 2020-08-19 15:55:06 +08:00
Chocobo1
b2f951a269
Remove duplicate code 2020-08-19 15:12:55 +08:00
ngosang
71be4f03be Update minimum Python version to 3.5.0 2020-08-18 20:56:39 +02:00
Mike Tzou
207337682c
Merge pull request #13265 from Chocobo1/pr_13259
Add a scroll area to torrent creator dialog
2020-08-18 13:10:40 +08:00
Ernesto Castellotti
5c4dfbec39
Add a scroll area to torrent creator dialog
As to prevent the dialog from going out-of-screen on a small monitor.
2020-08-17 20:00:43 +08:00
Sepro
e07c7d57d2 Change api requests in RSS WebUI to relative paths 2020-08-16 06:40:15 +02:00
jagannatharjun
01849297ef Fix incorrect foreground for read articles with custom theme 2020-08-15 01:04:05 +05:30
Vladimir Golovnev
e1d097a92d
Merge pull request #13234 from glassez/load-torrent
Improve torrent loading code
2020-08-13 18:58:36 +03:00
jagannatharjun
a63ca5f0c4 Allow changing RSS article list colors from custom UI theme
Use ArticleListWidget own palette to obtain default colors
2020-08-11 19:03:49 +05:30
Vladimir Golovnev (Glassez)
b77568839d
Remove legacy/unused torrent property 2020-08-09 12:11:13 +03:00
Vladimir Golovnev (Glassez)
dc3d23c045
Improve torrent loading code 2020-08-09 12:11:07 +03:00
Vladimir Golovnev (Glassez)
eb99bfe20f
Remove deprecated and unused code 2020-08-05 08:27:14 +03:00
Mike Tzou
4d1c5a8aea
Merge pull request #13226 from jagannatharjun/rss-style
Use palette colors in RSS feeds
2020-08-04 10:47:05 +08:00
Mike Tzou
3a61042e40
Merge pull request #13206 from an0n666/revert-seed-mode-patch
Read piece for torrents added with skip hash only for older libtorrent
2020-08-03 19:56:37 +08:00
jagannatharjun
f1a07d6c43 Use palette colors in RSS feeds 2020-08-03 12:12:18 +05:30
an0n666
dc211f69ac Read piece for torrents added with skip hash only for older libtorrent 2020-08-02 16:33:55 +06:00
jagannatharjun
5b4a940842 Load custom theme before initializing main window
Improves debug build startup time with custom themes
2020-08-02 14:02:18 +05:30
jagannatharjun
b323c4e6be Set stylesheet of target widget rather then defining global stylesheet 2020-08-01 01:37:08 +05:30
Chocobo1
b092fc9abb
Disable edit action 2020-07-30 14:31:39 +08:00
Mike Tzou
a2a5c28c9f
Merge pull request #13188 from jagannatharjun/fix-speed
Fix impossible speed in graph
2020-07-30 11:20:03 +08:00
jagannatharjun
f1edda2c81 Only enqueue session refresh request once previous request is completed
Fixes impossible speed in graph
2020-07-29 10:00:56 +05:30
Vladimir Golovnev
3a0ec8b283
Merge pull request #13193 from glassez/notify-move-storage
Notify user when torrent moving finished
2020-07-27 15:01:48 +03:00
Mike Tzou
dcef3a68f8
Merge pull request #13156 from jagannatharjun/search-style
Use default delegate for SearchModel
2020-07-26 20:20:40 +08:00
Mike Tzou
30bf14c85f
Merge pull request #13157 from jagannatharjun/peer
Use default delegate for PeerListWidget
2020-07-26 20:20:16 +08:00
Vladimir Golovnev (Glassez)
bac7fbc68e
Notify user when torrent moving finished 2020-07-26 14:31:58 +03:00
jagannatharjun
00413b0dd1 Use default delegate for SearchModel
Introduce and use data role - SearchFilterModel::UnderlyingDataRole as a filter role in SearchFilterModel

Removes the usage of QItemDelegate
2020-07-26 13:05:54 +05:30
jagannatharjun
13aab6e04d Use default delegate for PeerListWidget
Removes the usage of QItemDelegate
2020-07-26 12:57:57 +05:30
Vladimir Golovnev (Glassez)
c3104e0210
Update torrent status on move enqueued 2020-07-22 15:22:29 +03:00
Vladimir Golovnev
dc7267b600
Merge pull request #13168 from glassez/save-checking
Always allow to save resume data in checking state
2020-07-22 10:14:55 +03:00
Mike Tzou
0defdacbfd
Merge pull request #13153 from jagannatharjun/styledelegate-content
Use QStyledItemDelegate for content views
2020-07-22 10:57:42 +08:00
Vladimir Golovnev (Glassez)
d77c6321d3
Always allow to save resume data in checking state 2020-07-21 14:26:31 +03:00
Vladimir Golovnev (Glassez)
f35dbdfb8b
Fix crash on exit when compiled using MinGW 2020-07-21 13:56:07 +03:00
Vladimir Golovnev
23eb117a05
Merge pull request #13151 from glassez/move-storage
Improve "move torrent storage" handling
2020-07-20 21:27:27 +03:00
Vladimir Golovnev (Glassez)
cdc2b8d79b
Improve "move torrent storage" handling 2020-07-19 15:04:42 +03:00
jagannatharjun
8dd92fe612 Use QStyledItemDelegate as base for ScanFoldersDelegate 2020-07-19 00:54:12 +05:30
jagannatharjun
4733cb59e4 Use QStyledItemDelegate for content views 2020-07-18 13:30:26 +05:30
jagannatharjun
c7da78ff1d Fix invalid comparison for Boost version in CMake
This reduces compile time more then half when compiled against Boost
version greater than 1.60
2020-07-17 14:00:39 +05:30
Vladimir Golovnev
3cf8626317
Merge pull request #13110 from FranciscoPombal/countries-resolution
Remove DISABLE_COUNTRIES_RESOLUTION define
2020-07-09 08:30:12 +03:00
FranciscoPombal
8f8f7ebd15 Remove DISABLE_COUNTRIES_RESOLUTION define 2020-07-08 01:07:50 +01:00
FranciscoPombal
b7dc1ef48d Change Windows resource file encoding to UTF-8 2020-07-06 11:41:47 +01:00
Mike Tzou
83f1028ff7
Merge pull request #13099 from jagannatharjun/fix-log
Use delegate provided rect for textRect in LogItemDelegate
2020-07-05 10:51:35 +08:00
Mike Tzou
291977a0e5
Merge pull request #13098 from jagannatharjun/fix-transfer-progress
Use global style options for drawing progress in TransferList
2020-07-05 10:51:00 +08:00
jagannatharjun
952dc26514 Use delegate provided rect for textRect in LogItemDelegate
Previously we get textRect from QStyle but on some OS this returns invalid rect
2020-07-04 15:49:21 +05:30
jagannatharjun
332dd027af Use global style options for drawing progress in TransferList 2020-07-04 10:36:54 +05:30
brvphoenix
4d9c6b9f02 WebUI: fix the url for banPeers method 2020-07-03 01:17:06 -07:00
Chocobo1
8ebb6dc559
Initialize variable at better place 2020-06-26 17:17:29 +08:00
Chocobo1
40e432b127
Bump requirement to libtorrent 1.2
Closes #12258.
2020-06-26 17:17:29 +08:00
Vladimir Golovnev
06e1b07274
Merge pull request #13042 from FranciscoPombal/fix_request_parser
Fix truncation when parsing HTTP request query
2020-06-24 11:15:54 +03:00
FranciscoPombal
a1809a43f8 Add QT_NO_CAST_FROM_BYTEARRAY to compile definitions
Prevents bugs like #13029, even if the ternary expression operands
have different types.
2020-06-23 11:45:38 +01:00
FranciscoPombal
0fa7fca31e Fix truncation when parsing HTTP request query
Closes #13029.

Fixes an issue with truncation of a QByteArray at the first '\0' byte
when parsing HTTP request query strings.

Previously, the operands of the ternary expression were of
different types. Most likely this was leading to a conversion
of the result to some kind of '\0'-terminated string type somewhere
along the way, in turn causing its truncation at the first '\0' byte
once converted back to QByteArray.

For some reason this bug was only present on Windows (MSVC).
2020-06-23 11:45:30 +01:00
brvphoenix
05bd0e5570 Improve qmake configuration file for cross compilation 2020-06-22 23:21:29 -07:00
Vladimir Golovnev (Glassez)
b4f65ca080
Don't modify source URL when wait for download status 2020-06-19 12:16:31 +03:00
Vladimir Golovnev (Glassez)
1e86c76e8a
Emit signal when redirected to Magnet 2020-06-19 12:15:15 +03:00
Vladimir Golovnev
9dfeeb9e81
Merge pull request #12994 from glassez/custom-storage
Find complete files when moving torrent storage
2020-06-14 10:19:46 +03:00
Mike Tzou
59f365b343
Merge pull request #13006 from SeproDE/webui-rss-fixes
Fix issues regarding WebUI RSS implementation
2020-06-14 12:17:12 +08:00
Sepro
d1c084e3b0 Remove redundant empty value tags on inputs in WebUI 2020-06-13 00:40:47 +02:00
Sepro
04c8c4e846 Add newRule and removeRule buttons to RSS downloader WebUI
New buttons for the basic actions instead of only relying on the context menu.
2020-06-13 00:40:42 +02:00
Sepro
23a2675665 Fix input overlap off RSS downloader WebUI
The text input's in the RSS downloader window where not correctly inside their bounding box.
2020-06-12 13:23:53 +02:00
Sepro
65636e644f Remove maxlength limit from RSS feeds in WebUI
URL's and feed names including paths could be longer then 100 characters, so the limit was removed.
2020-06-12 13:20:50 +02:00
Vladimir Golovnev (Glassez)
b28436c871
Find complete files when moving torrent storage 2020-06-12 12:58:17 +03:00
Vladimir Golovnev (Glassez)
6a0a78f3f7
Drop ".unwanted folder" feature 2020-06-10 11:35:09 +03:00
Mike Tzou
17205802ec
Merge pull request #12557 from SeproDE/webui-rss
Implemented RSS reader and auto downloader in reference WebUI
2020-06-09 14:34:56 +08:00
Mike Tzou
5ebe4e4c70
Merge pull request #12956 from arvidn/storage-include
Correct libtorrent header include in torrentcreatorthread.cpp
2020-06-07 20:17:59 +08:00
Mike Tzou
96f9a657f1
Merge pull request #12978 from arvidn/plugin-lt2-compat
support changes to plugin API in libtorrent-2.0
2020-06-07 11:39:08 +08:00
arvidn
d2cc01f65c Support changes to plugin API in libtorrent-2.0
libtorrent-2.0 introduced a type-safe alternative to void* (lt::client_data_t)
for passing user-data into plugins. qBT doesn't use any user data in its
plugins, but the signatures have changed nevertheless, and qBT need to update to
be compatible with libtorrent-2.0.
2020-06-06 10:58:07 +02: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
Chocobo1
a1ea7a111e
Don't use deprecated QProcess::startDetached() overload 2020-06-04 20:20:50 +08:00
Chocobo1
15b2811fa5
Don't use deprecated QUrl::topLevelDomain() 2020-06-04 20:20:50 +08:00
Chocobo1
547982c741
Don't use deprecated QButtonGroup::buttonClicked() 2020-06-04 20:20:50 +08:00
Chocobo1
2fd4381398
Don't use QWheelEvent deprecated functions 2020-06-04 20:20:50 +08:00
Chocobo1
4971cb9a27
Don't use deprecated QAbstractSocket::error() 2020-06-04 20:20:50 +08:00
Chocobo1
9c330812cc
Don't use deprecated QSet::iterator::operator+(int) 2020-06-04 20:20:50 +08:00
Chocobo1
c239568658
Don't use deprecated QTextStreamFunctions::flush()
Qt doc states: "If QTextStream operates on a string, this function does
nothing". So remove it.
2020-06-04 15:29:32 +08:00
thalieht
7076fc29e0 Preselect "Default save path" in WebUI watched folders 2020-06-02 16:45:25 +03:00
Mike Tzou
9aad574e1a
Merge pull request #12949 from jagannatharjun/fix-big
Fix large strings not visible in log widget
2020-06-01 19:59:43 +08:00
jagannatharjun
8267898655 Fix large strings not visible in log widget 2020-05-31 15:37:33 +05:30
Mike Tzou
788d2729db
Merge pull request #12877 from an0n666/private-torrents
Address some issues regarding private torrents
2020-05-30 19:29:02 +08:00
Mike Tzou
6b6d2cab5b
Merge pull request #12891 from jagannatharjun/cache-icons
Cache flag icons
2020-05-30 13:36:52 +08:00
Mike Tzou
f52fe121f8
Merge pull request #12941 from Chocobo1/flags
Sync flag icons with upstream
2020-05-30 12:36:49 +08:00
Mike Tzou
9d135441db
Merge pull request #12942 from Chocobo1/cacheCountry
Cache country lookup result in PeerInfo class
2020-05-30 12:36:15 +08:00
jagannatharjun
bcf11cf1e8 Cache flag icons 2020-05-29 17:55:12 +05:30
Vladimir Golovnev (Glassez)
a6ad95278c
Fix invalid assertion
Closes #12938.
2020-05-29 09:35:19 +03:00
Chocobo1
472dd96716
Cache country lookup result in PeerInfo class
The country lookup happens quite often when "Resolve peer countries"
option is enabled.
2020-05-29 13:49:52 +08:00
Chocobo1
5248a95055
Sync flag icons with upstream
Upstream commit: 5cf339a36cf64f65882702e1d40359d38485126c.
2020-05-29 13:29:23 +08:00
Vladimir Golovnev
c003a12f1f
Merge pull request #12884 from glassez/custom-storage
Find complete files when checking torrent
2020-05-26 19:00:37 +03:00
MR
af6cae0e09 WebUI: Fix wrong file renaming selection range 2020-05-26 16:38:54 +08:00
an0n666
6d85ae8f62 Address some issues regarding private torrents 2020-05-26 14:18:15 +06:00
Vladimir Golovnev (Glassez)
f4efa530dc
Create header for common BitTorrent declarations 2020-05-25 20:32:35 +03:00
Vladimir Golovnev (Glassez)
4a1e3de06d
Find complete files when checking torrent 2020-05-25 20:31:59 +03:00
Mike Tzou
9aba0cbcf3
Merge pull request #12894 from Chocobo1/thememanager
Improvements to UIThemeManager
2020-05-25 12:16:39 +08:00
Chocobo1
ba2db3f139
Avoid overuse of QStringLiteral
This code path doesn't look like frequently used.
2020-05-24 13:13:55 +08:00
Chocobo1
99a1802dbb
Make class variable const 2020-05-24 13:13:55 +08:00
Chocobo1
00eb61543d
Make the icon cache a class variable 2020-05-24 13:13:32 +08:00
Chocobo1
f98d2cb01b
Ditch svgo config file
svgcleaner is a better tool for this job.
2020-05-23 20:54:02 +08:00
Chocobo1
2319bdd23b
Move qbittorrent32.png to WebUI images folder 2020-05-23 20:53:32 +08:00
Sepro
2b3c92a4a8 WebUI: Add RSS functionality
Implemented RSS Reader and AutoDownloader in reference WebUI.
2020-05-22 14:21:45 +02:00
jagannatharjun
3c733ddf0c Allow changing GUI icons from theme bundles 2020-05-22 11:06:22 +05:30
jagannatharjun
43319f2213 Always use UIThemeManager for obtaining icons in GUI 2020-05-22 11:06:10 +05:30
Vladimir Golovnev
a1faef0a3c
Merge pull request #12874 from jagannatharjun/fix-compile
Fix compilation error with MSVC 16.6
2020-05-21 13:50:26 +03:00
Mike Tzou
de85b8b552
Merge pull request #12859 from Chocobo1/gif
Move WebUI icons to its own folder
2020-05-21 10:59:52 +08:00
jagannatharjun
971a21f306 Add missing header stdexcept in fspathedit
Fixes compilation error with MSVC 16.6
2020-05-20 23:25:19 +05:30
Mike Tzou
c85d2e547b
Merge pull request #12835 from Piccirello/web-content-type
Specify Content-Type in Web API error responses
2020-05-20 14:05:20 +08:00
Thomas Piccirello
6e4f49fc57 Always specify Content-Type in Web API error responses 2020-05-19 01:08:06 -07:00
Chocobo1
e6f0c81355
Remove unused WebUI images 2020-05-19 15:09:44 +08:00
Chocobo1
02c25dbe2a
Move WebUI icons to its own folder
After this change: "http://<server>/icons" will point to "src/icons"
folder and "http://<server>/images" points to the real "images" folder
in the relative path.
2020-05-19 14:58:49 +08:00
Vladimir Golovnev
dde7421f59
Merge pull request #12848 from jagannatharjun/move-icons
Move all icon resources in icons folder root
2020-05-19 07:39:55 +03:00
jagannatharjun
ab91d546e5 Move all icon resources to icon folder root 2020-05-18 20:30:51 +05:30
Mike Tzou
774c0276f0
Merge pull request #12847 from Chocobo1/deprecated
Don't use deprecated Qt function options
2020-05-18 11:41:11 +08:00
Chocobo1
328eb5b5cc
Provide a proper default return statement for the function 2020-05-16 21:48:10 +08:00
Chocobo1
21e1c33d15
Don't use deprecated QPainter option
Warning from compiler:
speedplotview.cpp:342:63: warning: ‘QPainter::HighQualityAntialiasing’ is deprecated: Use Antialiasing instead [-Wdeprecated-declarations]
2020-05-16 21:23:45 +08:00
Chocobo1
7c8846fc53
Don't use deprecated QRegularExpression option
The following is the warning from compiler:
rss_item.cpp:70:79: warning: ‘QRegularExpression::OptimizeOnFirstUsageOption’ is deprecated: This option does not have any effect since Qt 5.12 [-Wdeprecated-declarations]
2020-05-16 21:05:15 +08:00
Vladimir Golovnev
306499f7a8
Merge pull request #12843 from glassez/fix-rename-rule
Fix renaming RSS autodownload rule
2020-05-15 21:40:23 +03:00
Vladimir Golovnev (Glassez)
1b5dd0aa2d
Fix renaming RSS autodownload rule 2020-05-15 09:41:40 +03:00
Mike Tzou
5470ae8c1a
Merge pull request #12837 from Piccirello/webui-textarea-enter
Fix Enter button behavior in web UI textarea
2020-05-14 22:11:31 +08:00
Tom Piccirello
ecc17018b7
Fix Enter button behavior in web UI textarea
Hitting the enter button inside the textarea would submit the form, rather than advancing to the next line.
2020-05-14 03:25:11 -07:00
thalieht
e2a8fe0dce Disable checkbox if torrent doesn't have root folder 2020-05-13 13:35:13 +03:00
Vladimir Golovnev
841536c9c5
Merge pull request #12805 from glassez/move-storage
Wait for storage to be moved when removing torrent
2020-05-12 07:34:45 +03:00
Mike Tzou
e015710ffd
Merge pull request #12793 from Chocobo1/prebuilt_headers
Prebuild HTTP headers
2020-05-12 10:13:35 +08:00
Mike Tzou
1839e3d96a
Merge pull request #12748 from Piccirello/webui_sidebar_trackers
Add Trackers section to Web UI sidebar
2020-05-12 10:13:06 +08:00
Chocobo1
be152f45c9
Define and use Http::HeaderMap type 2020-05-11 00:34:28 +08:00
Vladimir Golovnev (Glassez)
53fd0e1607
Wait for storage to be moved when removing torrent 2020-05-10 14:31:33 +03:00
Chocobo1
d57b9be706
Rename function 2020-05-10 02:53:32 +08:00
Chocobo1
74a2168bc1
Define and use a proper HTTP header structure 2020-05-10 02:53:11 +08:00
Chocobo1
957d697aee
Prebuild HTTP headers as much as possible
This avoids some branching when building a HTTP response.
2020-05-10 02:50:13 +08:00
FranciscoPombal
2192de5233 Fix include 2020-05-09 17:36:37 +01:00
Vladimir Golovnev (Glassez)
378a863611
Remove unwanted files after torrent removed 2020-05-09 19:19:13 +03:00
Vladimir Golovnev (Glassez)
e49c554044
Improve "move torrent storage" queue 2020-05-09 19:19:13 +03:00
Vladimir Golovnev (Glassez)
b6bf09fc0f
Fix calculation of torrent current state
Some actions can be performed despite of other states
(e.g. "Errored" torrent can check its files currently)
so the states that relate to such actions should override
other (so-called "static") states.
2020-05-09 19:19:13 +03: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
Thomas Piccirello
ad4d8d28ec Add Trackers section to Web UI sidebar
Closes #7601.
2020-05-07 19:10:55 -07:00
Mike Tzou
1917064bde
Merge pull request #12755 from jagannatharjun/transferlist-colors
Read Transfer list's custom colors from config.json
2020-05-07 12:34:28 +08:00
jagannatharjun
77658be9a7 Read Transfer list's custom colors from config.json 2020-05-06 16:37:37 +05:30
jagannatharjun
cce8f178e4 Allow changing log colors from config.json 2020-05-05 18:53:31 +05:30
Mike Tzou
2c100feb35
Merge pull request #11618 from jagannatharjun/align
Align Properties Tabbar in center
2020-05-05 13:10:53 +08:00
Mike Tzou
5b36706a71
Merge pull request #12719 from jagannatharjun/json-colors
Allow setting application palette from config.json
2020-05-05 12:37:09 +08:00
Mike Tzou
991a064002
Merge pull request #12705 from Piccirello/webui_search_categories
Fix Web UI search categories only working in English
2020-05-05 12:35:20 +08:00
jagannatharjun
afbe55d004 Allow setting application palette from config.json 2020-05-04 18:37:58 +05:30
Thomas Piccirello
84a40c1665 Include trackers in /sync/maindata API endpoint 2020-05-04 00:11:45 -07:00
jagannatharjun
6f38a86d9a Align Properties Tabbar in center 2020-05-04 11:25:37 +05:30
Mike Tzou
ccb9cc632e
Merge pull request #12736 from Piccirello/webui_small_screen
Shrink Web UI search bar on small screens
2020-05-04 13:36:15 +08:00
Vladimir Golovnev
2d1d1ba26a
Merge pull request #12734 from glassez/project-cleanup
Cleanup project configuration
2020-05-03 16:37:36 +03:00
Thomas Piccirello
92ed5c76f3 Bump Web API version 2020-05-03 02:23:22 -07:00
Thomas Piccirello
8e8cd59d90 Fix Web UI search categories only working in English
Closes #10239.
2020-05-03 02:23:22 -07:00
Vladimir Golovnev (Glassez)
c40da7a5dd
CMake: Fix header inclusion in autogenerated files 2020-05-03 10:27:24 +03:00
Thomas Piccirello
cb8a9518d1 Shrink Web UI search bar on small screens 2020-05-02 15:45:57 -07:00
Vladimir Golovnev (Glassez)
a22f921941
CMake: Fix optional features handling 2020-05-02 20:59:26 +03:00
Nick Korotysh
c97e4f105f
Clean up header inclusion 2020-05-02 19:54:36 +03:00
Vladimir Golovnev (Glassez)
eeae308c29
CMake: Don't use subprojects in GUI subfolders 2020-05-02 17:21:03 +03:00
Vladimir Golovnev (Glassez)
ace8a093d2
QMake: Include all GUI sources in "gui.pri" 2020-05-02 17:20:43 +03:00
Vladimir Golovnev
4e7ff88cf4
Merge pull request #12718 from glassez/improve-cmake
Improve CMake project
2020-05-02 08:54:25 +03:00
Mike Tzou
8110912e4e
Merge pull request #12706 from Piccirello/webui_search_small_screen
Hide additional Web UI search filters on small screens
2020-05-02 11:53:08 +08:00
Mike Tzou
02c6afd769
Merge pull request #12711 from Kolcha/tooltip
Show tooltip for torrent name in transfer list
2020-05-02 11:51:16 +08:00
Vladimir Golovnev (Glassez)
ad0ee0cd36
CMake: Enable/disable GUI application via option 2020-05-01 17:03:01 +03:00
Vladimir Golovnev (Glassez)
fb42434946
CMake: Put executable into top-level directory 2020-05-01 17:03:01 +03:00
Vladimir Golovnev (Glassez)
642bf7b8a6
CMake: Don't split GUI code into several libraries 2020-05-01 17:03:00 +03:00
Vladimir Golovnev (Glassez)
4a2d25b03b
Clean up header inclusion 2020-05-01 17:02:49 +03:00
Nick Korotysh
1fd4ff5c2c
Show tooltip for some properties in transfer list
Tooltip is added for next columns:
- name
- status
- category
- tags
- tracker
- save path

closes #12696
2020-05-01 13:08:09 +03:00
Mike Tzou
2aa80fe9ba
Merge pull request #12689 from thalieht/subfolder
Rename "Create subfolder" option to "Keep subfolder"
2020-05-01 14:09:17 +08:00
Vladimir Golovnev
7ca0592694
Merge pull request #12684 from an0n666/requires-restart
Remove "requires restart" from network interface settings
2020-05-01 07:38:36 +03:00
Thomas Piccirello
d5b8399a01 Hide additional Web UI search filters on small screens
Closes #11386.
2020-04-30 17:14:47 -07:00
Chocobo1
5ca26516eb
Handle empty piece range properly
Related: #12677.
2020-04-30 13:18:57 +08:00
Chocobo1
f6eb341b32
Clean up code 2020-04-30 13:18:24 +08:00
Mike Tzou
4f820163ff
Merge pull request #12691 from Chocobo1/iterator
Support range-based iteration in IndexRange class
2020-04-30 13:10:13 +08:00
Mike Tzou
7061242681
Merge pull request #12176 from NotTsunami/ssl
Add HTTPS tracker certificate validation option
2020-04-30 13:09:31 +08:00
Chocobo1
ddb9dfe185
Disable copy construction of QObject subclasses 2020-04-29 21:40:50 +08:00
Chocobo1
6d167e9a28
Remove const from class variables
It prohibits copy construction, copy assignment and move semantics.
2020-04-29 21:32:34 +08:00
Chocobo1
21581141f6
Support range-based iteration in IndexRange class 2020-04-29 21:15:24 +08:00
an0n666
1d3bb705c8 Remove "requires restart" from network interface settings
Network interface changes are applied on the fly. A restart is not required.
2020-04-29 12:42:49 +06:00
thalieht
1bdffe1729 Rename "Create subfolder" to "Keep top-level folder"
Closes #12673
2020-04-29 03:09:38 +03:00
FranciscoPombal
d593d6baa1 CMake: Enforce minimum C++ mode support 2020-04-28 15:50:16 +01:00
Mike Tzou
6dcb0665ca
Merge pull request #12655 from Chocobo1/delete
Improve behavior of deleting torrents in transfer list
2020-04-28 11:14:49 +08:00
Chocobo1
7ce83599b4
Improve behavior of deleting torrents in transfer list
Avoids accessing invalid pointers.
Closes #12584.
2020-04-27 02:03:19 +08:00
Andrei Stepanov
159f93e051
Fix typo in optionsdialog.cpp
qBittorent -> qBittorrent
2020-04-26 20:59:42 +04:00
Chocobo1
4e961845cf
Clean up variable initialization order 2020-04-26 10:21:23 +08:00
sledgehammer999
480e732694
Bump Web API version 2020-04-25 00:20:15 +03:00
sledgehammer999
13a96407b3
Sync translations from Transifex and run lupdate 2020-04-25 00:11:21 +03:00
Mike Tzou
7bc572afb9
Merge pull request #12602 from Chocobo1/metatype 2020-04-24 22:13:27 +08:00
Vladimir Golovnev
c10318b576
Merge pull request #12549 from SeproDE/rss-api
Expand RSS related WebAPI
2020-04-24 07:46:37 +03:00
Vladimir Golovnev
4b897e7702
Merge pull request #12603 from glassez/fix-crash
Fix crash when torrent is deleted on limit reached
2020-04-24 07:45:35 +03:00
Vladimir Golovnev (Glassez)
22bda12d6c
Fix crash when torrent is deleted on limit reached 2020-04-23 16:56:53 +03:00
Chocobo1
9efd5eaed3
Register datatype properly
Qt 5.9.5 doesn't seem to recognize it, this patch fixes it.
Fix up: d8401c76f5.
Related: #12601.
2020-04-23 21:42:51 +08:00
Chocobo1
2729c0cb6d
Suppress misleading warning message
QString::split() was giving a non-empty QStringList, and
that caused Session::setBannedIPs() to emit misleading warning message.
2020-04-23 21:01:33 +08:00
Chocobo1
bb80b378c1
Add ability to send custom HTTP headers 2020-04-23 12:13:01 +08:00
NotTsunami
cc1ebbf379 Add HTTPS tracker certificate validation option
This commit adds a new libtorrent setting to validate HTTPS tracker
certificates. When enabled, libtorrent will validate the certificate
of HTTPS trackers against the system's certificate store. This option
is only enabled on libtorrent versions >= 1.2.6 and on non-Windows
systems, as OpenSSL does not use the system's certificate store on
Windows.
2020-04-22 15:50:17 -04:00
Sepro
98bb63b390 WebAPI: Change delimiter from string to char in preferences API 2020-04-22 19:14:06 +02:00
Sepro
a3b58e59da WebAPI: Expand RSS related API
Added markAsRead API method with optional parameter for specifying single article.
Added the rss_smart_episode_filters and rss_download_repack_proper_episodes keys to preference api.
Added matchingArticles API method for retrieving articles that match specified rule.
2020-04-22 19:13:17 +02:00
sledgehammer999
f1d02c6aee
Sync translations from Transifex and run lupdate 2020-04-22 18:44:30 +03:00
sledgehammer999
f758b24486
Merge pull request #12487 from an0n666/no-localhost-on-invalid
Use configured net interface even when it is missing
2020-04-22 17:49:08 +03:00
Mike Tzou
5cfec83385
Merge pull request #12568 from NotTsunami/upnp-fix
WebUI: Fix UPnP lease duration get/set
2020-04-22 02:01:08 +08:00
an0n666
e3e5da7a71 Use configured net interface even when it is missing 2020-04-21 19:04:43 +06:00
NotTsunami
075633cc40 WebUI: Fix UPnP lease duration get/set
Add missing setProperty and getProperty calls for the new UPnP lease
duration setting.

Fixes 6b4925d222.
Closes #12566.
2020-04-21 01:36:13 -04:00
Chocobo1
f915241bcb
Reduce ambiguity for selecting icons
Related: #12554.
2020-04-21 12:35:08 +08:00
Mike Tzou
8ed63d69de
Merge pull request #12528 from thalieht/proxycheckbox
Don't uncheck Authentication checkbox when changing proxy type
2020-04-21 01:28:21 +08:00
thalieht
5d16379941 Don't uncheck Authentication checkbox when changing proxy type
Closes #12525
2020-04-19 21:28:21 +03:00
Mike Tzou
e05ef12e68
Merge pull request #12544 from Chocobo1/final
Add final specifier to GUI classes
2020-04-20 00:33:47 +08:00
Chocobo1
1b80890696
Reduce padding in class
TorrentHandleImpl size is reduced from 768 bytes to 736 bytes.
CreateTorrentParams size didn't change.
Size numbers are from x64.
2020-04-19 11:44:41 +08:00
Chocobo1
ac2d063add
Move initialization default values to header 2020-04-19 11:42:49 +08:00
Chocobo1
16a76eee9f
Add final specifier to GUI classes
Follow up d3d3f7dbb3.
2020-04-19 10:59:59 +08:00
Mike Tzou
30ce2dfdf3
Merge pull request #12530 from Chocobo1/logger
Reduce padding in structure
2020-04-19 10:17:18 +08:00
Mike Tzou
b06d44b242
Merge pull request #12526 from Chocobo1/pr_12162
Change default upload slot choking limits
2020-04-19 10:17:04 +08:00
Mike Tzou
349a07a443
Merge pull request #12531 from Chocobo1/final
Add final specifier to classes
2020-04-19 10:16:44 +08:00
sledgehammer999
a17b1f2b78
Use static_cast for explicit type conversions 2020-04-18 18:22:40 +03:00
Chocobo1
648d44d9b9
Reduce padding in structure
Log::Msg originally takes 32 bytes, now shrinks to 24 bytes.
Log::Peer originally takes 40 bytes, now shrinks to 32 bytes.
2020-04-18 18:33:46 +08:00
thalieht
f0549b4cb2 Make a few cosmetic changes in code 2020-04-17 19:51:26 +03:00
Chocobo1
d3d3f7dbb3
Add final specifier to classes
This allow compilers to generate more efficient code.
2020-04-17 13:18:40 +08:00
Vladimir Golovnev
2681093d27
Merge pull request #12513 from glassez/torrent-impl
Split TorrentHandle interface and implementation
2020-04-17 07:40:28 +03:00
Mike Tzou
a5fe96f793
Merge pull request #12458 from jagannatharjun/log
Convert the Log widget to use custom View/Model
2020-04-17 11:27:35 +08:00
Vladimir Golovnev (Glassez)
1132b84548
Split TorrentHandle interface and implementation 2020-04-16 20:22:26 +03:00
an0n666
ec6b249509
Change default upload slot choking limits 2020-04-16 23:46:48 +08:00
jagannatharjun
fd89717330 Convert the Log widget to use custom View/Model
Co-authored-by: sledgehammer999 <hammered999@gmail.com>
2020-04-15 22:18:00 +05:30
Mike Tzou
e030fc067b
Merge pull request #12422 from an0n666/increase-timeout
Change default stop_tracker_timeout settings
2020-04-15 11:44:29 +08:00
an0n666
1168387df0 Change default stop_tracker_timeout settings 2020-04-13 16:05:36 +06:00
Raif Atef
1549b782e6 Do not use 0.0.0.0 or [::] for outgoing interfaces
Fixes #12443
2020-04-12 08:41:18 +02:00
Mike Tzou
c25b3e623c
Merge pull request #12423 from an0n666/remove-strict-superseeding
Remove deprecated strict super seeding mode from advanced settings
2020-04-12 00:41:28 +08:00
Mike Tzou
0429ca3fb5
Merge pull request #12464 from Chocobo1/date
Fix date format for "Last seen complete"
2020-04-11 12:30:23 +08:00
Chocobo1
31648a4433
Fix date format for "Last seen complete"
Closes #12462.
2020-04-10 13:06:56 +08:00
Mike Tzou
d8356deefa
Merge pull request #12449 from SeproDE/fix-addMultiplePeers
Fix add multiple peers from webui
2020-04-10 12:22:22 +08:00
Mike Tzou
43e5e242ff
Merge pull request #12450 from Chocobo1/noBuffer
Avoid holding encoded resume data in memory
2020-04-09 13:21:32 +08:00
Sepro
2c8230f1ae Fix unable to add multiple peers in WebUI
Wrong delimiter was used.
2020-04-08 18:55:02 +02:00
Chocobo1
e7890fb727
Preallocate output buffer 2020-04-08 13:06:39 +08:00
Chocobo1
d476ae4f14
Fix header inclusion order 2020-04-08 11:58:12 +08:00
Vladimir Golovnev
eb0295197c
Merge pull request #12301 from jozsefsallai/master
Better Python path detection on Windows
2020-04-07 22:29:26 +03:00
Chocobo1
f76d56e224
Suppress unused variable warning on macOS 2020-04-07 16:02:10 +08: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
fe81633403
Merge pull request #12436 from glassez/fix-savepath
Save "resume data" when torrent storage is moved
2020-04-07 09:54:51 +03:00
an0n666
026aad2c04 Remove deprecated strict super seeding mode from advanced settings 2020-04-07 09:54:32 +06:00
Mike Tzou
f58f425175
Merge pull request #12430 from rwasef1830/add-outgoing-interfaces
Fix outgoing interfaces not getting assigned in case addr is not null.
2020-04-07 10:10:32 +08:00
Mike Tzou
342eec7f83
Merge pull request #12382 from adem4ik/master
Remove white outline around mascot.png
2020-04-07 09:39:13 +08:00
Raif Atef
bf1c9e34d7 Fix outgoing interface is not getting assigned
Assignment was missing in main branch of condition statement.
Closes https://github.com/qbittorrent/qBittorrent/issues/12421
2020-04-06 14:45:44 +02:00
Vladimir Golovnev (Glassez)
0a8c2f75af
Save "resume data" when torrent storage is moved 2020-04-06 12:16:27 +03:00
Mike Tzou
26941a5b02
Merge pull request #12427 from Chocobo1/io
Avoid inefficient behavior
2020-04-06 12:13:30 +08:00
Mike Tzou
3021b99a50
Merge pull request #12420 from Chocobo1/locale
Sort locale language list
2020-04-06 12:12:50 +08:00
Mike Tzou
cc090c8e37
Merge pull request #12416 from NotTsunami/master
Set disk cache size for older libtorrent versions
2020-04-06 12:12:12 +08:00
Chocobo1
2fa6a7f6f5
Avoid inefficient behavior
Since the class needs to be copy-constructible, there may be many
copies of an instance. So instead of writing to the device on every
destructor call, only flush buffer on the last destructor call.
2020-04-06 01:04:12 +08:00
Chocobo1
5eaedb13e5
Sort locale language list 2020-04-05 19:21:37 +08:00
NotTsunami
e48612a703 Set disk cache size for older libtorrent versions
Libtorrent versions older than 1.2.6 have a bug when setting disk
cache size to auto.

See 6c880159c9.
2020-04-04 21:36:01 -04:00
Chocobo1
09545d4036
Fix wrong logic that disables "prevent sleeping" timer
Also update power management state early so we don't need to wait for
the timer timeout to have the effect.
2020-04-04 12:15:56 +08:00
Chocobo1
3752453522
Clean up coding style 2020-04-04 12:15:54 +08:00
Mike Tzou
a10cee0f2b
Merge pull request #12364 from Chocobo1/fileOutIter
Avoid holding entire file in memory
2020-04-04 11:07:59 +08:00
adem
eddc82d8a5 Remove white outline around mascot.png 2020-04-03 23:26:45 +04:00
Vladimir Golovnev (Glassez)
b759a71c5d
Fix sub-sorting of Transfer list
Closes #12330.
2020-04-03 19:09:41 +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
Mike Tzou
4b409700b0
Merge pull request #12372 from Chocobo1/webui
Fix mismatch ID
2020-04-03 13:02:15 +08:00
Chocobo1
42d5d63867
Remove redundant type attribute
It already defaults to `text/css` if value is absent (in HTML5).
2020-04-03 00:15:04 +08:00
Chocobo1
e0c841d1e6
Fix mismatch ID 2020-04-03 00:00:32 +08:00
Chocobo1
17f608685d
Improve logging for errors
This commit also allows the strings to be translated.
2020-04-02 11:20:09 +08:00
József Sallai
f9564564f8 Detect python3 executable on Windows 2020-04-02 00:31:41 +03:00
Vladimir Golovnev
96c5af7ae9
Merge pull request #12363 from glassez/fix-unexpected-resume
Fix unexpected torrent resume after app restart
2020-04-01 20:20:44 +03:00
Vladimir Golovnev (Glassez)
8bd9a97f6f
Fix unexpected torrent resume after app restart
Closes #12322.
2020-04-01 18:01:18 +03:00
sledgehammer999
0dfa3a9c6f
Sync translations from Transifex and run lupdate 2020-04-01 17:41:24 +03:00
Vladimir Golovnev
bc159121dc
Merge pull request #12348 from glassez/fix-multi-inst
Prevent multiple instances for the same app config
2020-03-31 18:49:00 +03:00
sledgehammer999
bbe5465ba6
Merge pull request #12317 from sledgehammer999/fix_broken_save_path
Fix broken UNC paths in fastresumes on Windows
2020-03-31 18:34:31 +03:00
Vladimir Golovnev (Glassez)
4e6790dfbb
Prevent multiple instances for the same app config 2020-03-31 17:16:47 +03:00
sledgehammer999
13af503003
Fix broken UNC paths in fastresumes on Windows
See #12245 and #12282
2020-03-30 15:21:15 +03:00
Mike Tzou
59f99bb984
Merge pull request #12282 from Tester798/fix-12245
Fix regression when fastresume contains network path
2020-03-30 12:53:17 +08:00
Mike Tzou
8a8607bf93
Merge pull request #12175 from NotTsunami/upnp
Add UPnP lease duration advanced option
2020-03-29 12:29:10 +08:00
Mike Tzou
4d99328b8f
Merge pull request #12228 from LameLemon/alt-title
Added alt and title tags for WebUI footer
2020-03-29 12:28:35 +08:00
NotTsunami
6b4925d222 Add UPnP lease duration advanced option
This is a new setting added that is pending addition to
libtorrent 1.2.6. This setting is important because some routers do
not support expiration times on port-maps and do not return an error
either, silently failing. The previous default of permanent leases is
retained.
2020-03-28 00:32:32 -04:00
Mike Tzou
82c23e67a4
Merge pull request #12299 from Chocobo1/initialize
Initialize struct variables
2020-03-28 10:53:38 +08:00
Mike Tzou
c6e26f5dd0
Merge pull request #12232 from Chocobo1/warning
Add logging for SOCKS5 proxy errors
2020-03-27 22:22:13 +08:00
Chocobo1
af430d6635
Initialize struct variables
clang static analyzer was emitting some warning about uninitialized
variable usage and this patch fixes it.
2020-03-27 16:01:01 +08:00
Mike Tzou
2408ce98e6
Merge pull request #12285 from Chocobo1/log
Save log file in UTF-8 encoding
2020-03-27 09:39:54 +08:00
Mike Tzou
6b5b5df90c
Merge pull request #12283 from Chocobo1/qtTr
Include translation resources with file globbing
2020-03-27 09:38:46 +08:00
LameLemon
757274d315 Add alt and title tags for WebUI footer
Improves accessibility of the WebUI. Closes #12219.
2020-03-26 19:05:16 +00:00
Mike Tzou
c0b0c6dcfc
Merge pull request #12259 from Chocobo1/dtor
Rely on Qt ownership to free resources
2020-03-27 01:06:39 +08:00
Mike Tzou
185d8c97c1
Merge pull request #12273 from Kolcha/hidpif
Don't round scaling factor
2020-03-27 01:06:08 +08:00
Tester798
1c6b4c0a79 Fix regression when fastresume contains network path
Closes #12245 after regression was introduced in #11785.
2020-03-26 18:54:13 +02:00
Chocobo1
54a685e953
Add logging for SOCKS5 proxy errors 2020-03-26 21:51:05 +08:00
Chocobo1
c52737e07c
Avoid log file excessive flushing
Excessive flushing could happen when a lot of logging happens in a short
time interval.
2020-03-26 16:12:24 +08:00
Chocobo1
12396a7582
Save log file in UTF-8 encoding
Otherwise it uses sytem defaults: usually UTF-8 on Linux and local 8-bit
encoding on Windows.
2020-03-26 16:00:57 +08:00
Chocobo1
d179c6d5a1
Rename variable 2020-03-26 15:49:14 +08:00
Chocobo1
9630e7b689
Rely on Qt ownership to free resources
The m_reply has already changed parent in
DownloadHandlerImpl::assignNetworkReply() and thus we can rely on Qt
ownership to delete the object.
2020-03-26 14:39:18 +08:00
Chocobo1
1466c562e5
Include translation resources with file globbing
This will include all qtbase_*.qm files and only explicitly listed
qt_*.qm files will be included.
2020-03-26 14:10:20 +08:00
Nick Korotysh
a9b0d84df9
Don't round scaling factor
Qt 5.14 introduced new feature related to HighDPI screens support,
this parameter is called "scale factor rounding policy", and it is
intended to improve fractional scale factor support (like 150%).
Qt::PassThrough value guarantee that no any rounding will applied to
scale factor, and will be used as is.
2020-03-25 18:36:34 +03:00
Chocobo1
7de8a4d6e0
Construct QString more efficiently 2020-03-25 12:00:11 +08:00
Chocobo1
2c23840947
Allow to translate error messages 2020-03-25 12:00:11 +08:00
sledgehammer999
fcc87b4e9b
Sync translations from Transifex and run lupdate 2020-03-24 16:29:43 +02:00
sledgehammer999
fbf325c6d6
Merge pull request #12220 from kasper93/header
Add missing QPainterPath header include
2020-03-22 23:16:31 +02:00
Mike Tzou
18156bd676
Merge pull request #12154 from an0n666/remove-path-limit
NSIS: Add option to remove Windows path length limitation & Update manifest to support long path
2020-03-22 23:30:53 +08:00
an0n666
a711558ba0 NSIS: Add option to remove Windows path length limitation 2020-03-22 16:46:46 +02:00
Kacper Michajłow
e2c9ca5ee5 Add missing QPainterPath header include 2020-03-22 14:58:44 +01:00
Mike Tzou
ab30cfcdb0
Merge pull request #12207 from FranciscoPombal/fix-webapi
WebAPI: fix matching uncategorized torrents
2020-03-22 21:23:56 +08:00
FranciscoPombal
e496e664db WebAPI: Always allow whitespace in category names 2020-03-22 12:16:06 +00:00
FranciscoPombal
7d24e1c063 WebAPI: fix matching uncategorized torrents
Closes #11748.
2020-03-22 03:49:06 +00:00
Mike Tzou
f44f1ffc97
Merge pull request #12206 from thalieht/monitoredTMM
Disable Auto TMM when not using default savepath from monitored folder
2020-03-21 12:23:40 +08:00
thalieht
598c856c88 Disable Auto TMM when not using default savepath from monitored folder 2020-03-19 21:13:44 +02:00
Mike Tzou
4884f08e04
Merge pull request #12187 from NotTsunami/keypress
Allow other keypresses in LogListWidget
2020-03-19 13:36:41 +08:00
Mike Tzou
a9111b1357
Merge pull request #12180 from FranciscoPombal/fix_stats
Fix total connected peers count calculation
2020-03-19 12:07:20 +08:00
FranciscoPombal
a81789f4af Fix total connected peers count calculation
Also fix small typo in function name.
2020-03-17 18:01:57 +00:00
NotTsunami
c5aab39836 Allow other keypresses in LogListWidget
By not emitting the native signal, all other keypresses other than
the copy and select keysequences are ignored. This should reallow
keyboard navigation within LogListWidget objects.

Closes #12172.
2020-03-17 01:30:01 -04:00
Vladimir Golovnev
c323f64c96
Merge pull request #12188 from thalieht/queuemove
Append new move storage job to queue
2020-03-17 07:18:27 +03:00
thalieht
18289f2395 Append new move storage job to queue
fixup e4ff206e3c
2020-03-16 22:39:31 +02:00
Chocobo1
b7e7d8019c
Use helper function to construct QString
This is shorter and avoids the need of 2 constructors.
2020-03-16 21:27:42 +08:00
Chocobo1
6c307774f1
Get library version strings at runtime
We mostly use boost in header-only mode, so it is a non-trivial job to
get the version string at runtime.
2020-03-16 21:27:42 +08: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
Mike Tzou
f80b7affd9
Merge pull request #12138 from Chocobo1/dist
Update Qt translations
2020-03-10 01:29:08 +08:00
Vladimir Golovnev
a7b342edcb
Merge pull request #12083 from glassez/app-instances
Allow single app instance per configuration
2020-03-09 07:40:48 +03:00
Chocobo1
7b25dd24d0
Update Qt translation files 2020-03-09 09:48:15 +08:00
Mike Tzou
92cc2a4f31
Merge pull request #12124 from Chocobo1/rename
Fix crash when renaming torrent contents
2020-03-08 00:16:02 +08:00
Mike Tzou
dc4e9e3779
Merge pull request #11813 from Chocobo1/python
Drop python2 support
2020-03-07 10:18:45 +08:00
Chocobo1
62b0d25140
Capture pointer by value 2020-03-07 10:06:35 +08:00
Mike Tzou
095ef67e30
Merge pull request #12102 from Kolcha/hidpi
Delegate GUI scaling work to Qt
2020-03-07 10:05:21 +08:00
Nick Korotysh
d49d7c1d82
Delegate GUI scaling work to Qt
Set Qt::AA_EnableHighDpiScaling application attribute when Qt 5.14.x or
newer is used. This fixes a lot of scaling issues on HiDPI displays.

Unfortunately, this flag must be set only before QApllication object
creation, so the only one place where it can be done is main().
2020-03-06 12:04:57 +03:00
Chocobo1
48e7191ef7
Initialize boolean variables 2020-03-06 15:50:55 +08:00
Chocobo1
9c6bc6c89a
Fix crash when renaming torrent contents
Closes #10328.
2020-03-06 15:50:37 +08:00
Vladimir Golovnev (Glassez)
38e54206d5
Allow single app instance per configuration 2020-03-06 08:59:59 +03:00
Mike Tzou
73ee901c45
Merge pull request #12113 from Chocobo1/smart_ptr
Use helper functions to construct smart pointers
2020-03-06 13:12:41 +08:00
Chocobo1
290d198977
Use proper type for piece index 2020-03-06 01:47:28 +08:00
Chocobo1
2157e500ef
Use helper functions to construct smart pointers 2020-03-05 19:32:28 +08:00
Mike Tzou
ca01b049a6
Merge pull request #12108 from Chocobo1/bits
Avoid unnecessary memory writes
2020-03-04 23:50:12 +08:00
Mike Tzou
949daf6c73
Merge pull request #12037 from an0n666/seed-mode-fix
Check if file exists in seed mode
2020-03-04 23:49:47 +08:00
an0n666
f7d2085b0a Check if file exists in seed mode 2020-03-04 17:38:00 +06: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
Mike Tzou
1ca303cb0a
Merge pull request #12027 from NotTsunami/pr2
Improve the options tooltips
2020-03-03 17:47:23 +08:00
NotTsunami
f1788c76a9 Improve the options tooltips
* Fix wrong fields for translation comments
* Improve torrent management tooltip to cover both modes
* Add new tooltips for potentially confusing settings

Decent progress towards #6346, closes #9994, closes #11528
2020-03-02 23:55:08 -05: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
Mike Tzou
9649c2a163
Merge pull request #12043 from FranciscoPombal/fix-embedded-tracker
Fix embedded tracker
2020-02-27 21:06:58 +08:00
Vladimir Golovnev
4d2943a782
Merge pull request #12033 from glassez/save-torrent
Allow to save downloaded metadata as torrent file
2020-02-27 08:49:40 +03:00
FranciscoPombal
966f891d91 Fix response to event=stopped
BEP-3 says all tracker responses to valid announce requests should be bencoded dictionaries with at least the "peers" and "interval" keys; the "peers" key can be empty.

Also clarify support for BEP-21.
2020-02-26 20:47:33 +00:00
FranciscoPombal
af6f63f82c Don't use IPv4-mapped IPv6
Always register peers with either IPv4 or IPv6.
Fixes potential connection issues.

Also clarify related BEP-24 support.
2020-02-26 20:44:09 +00:00
FranciscoPombal
abc69dfd20 Fix BEP-23 support
The embedded tracker was returning a non-compliant response.
The peer lists should be packed strings instead of lists.

Also clarify level of compliance with BEP-7.
2020-02-26 20:42:14 +00:00
FranciscoPombal
9f045500d1 Fix IPv6 endianness 2020-02-26 20:42:07 +00: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
Chocobo1
071ffd13de
Fix wrong field for translation comment
The `comment` field is used for disambiguation between identical
strings. Our case here should use the `extracomment` field which
meant as comment for translators.
2020-02-26 13:04:18 +08:00
Chocobo1
f4febb96b4
Remove misleading translation comment
Also it was using the wrong field for translation comment.
2020-02-26 12:55:19 +08:00
djt3
e6887fc950 Change placeholder text in torrent list's filter 2020-02-23 14:40:45 +00:00
FranciscoPombal
dc6a56afcb Revert using random port by default
Revert change introduced in https://github.com/qbittorrent/qBittorrent/pull/11637 and also revert the associated follow-up https://github.com/qbittorrent/qBittorrent/pull/12000.

Reason: https://github.com/arvidn/libtorrent/pull/4335
2020-02-21 14:47:37 +00:00
sledgehammer999
193da7f2f9
Merge pull request #12014 from sledgehammer999/alt_IP_db_provider
Use IP geolocation database by DB-IP instead of MaxMind
2020-02-18 17:05:52 +02:00
sledgehammer999
ea1481beef
Use IP geolocation database by DB-IP instead of MaxMind
Closes #11792
2020-02-18 16:11:28 +02:00
Mike Tzou
bf6a88b3d2
Merge pull request #12021 from Chocobo1/trackerentry
Simplify TrackerEntry::status() logic
2020-02-18 02:22:05 +08:00
Chocobo1
e825473289
Simplify TrackerEntry::status() logic 2020-02-17 18:46:30 +08:00
sledgehammer999
322ae3e0bc
Merge pull request #11825 from FranciscoPombal/stalled_filter
Add stalled filters to GUI and Web API/UI
2020-02-16 18:32:37 +02:00
Mike Tzou
04132f6266
Merge pull request #11999 from an0n666/fix-not-contacted-tracker
Do not list not contacted trackers as error
2020-02-16 20:27:41 +08:00
an0n666
8423f43209 Do not list not contacted trackers as error 2020-02-15 19:44:14 +00:00
sledgehammer999
385d7247b7
Merge pull request #12016 from Chocobo1/errMsg
Include resume folder path in exception message
2020-02-15 19:41:39 +02:00
Vladimir Golovnev
362305f339
Merge pull request #12013 from glassez/fix-rss
Don't access download handler after it's finished
2020-02-15 07:02:59 +03:00
Mike Tzou
dbea2d95f9
Merge pull request #12004 from Chocobo1/authCount
Add configurable ban options for WebUI
2020-02-15 09:43:16 +08:00
Chocobo1
45c357dfe2
Include resume folder path in exception message
The message in RuntimeError exception will be displayed to the users and
users would be clueless if we don't show the path.
2020-02-15 02:48:55 +08:00
Chocobo1
6eb190c373
Expose WebUI ban duration to users 2020-02-14 16:23:30 +08:00
Chocobo1
ec61ef5145
Fix coding inconsistencies in preferences.html
1. Format table tags properly
2. Add a proper label tag
3. Don't use abbreviation for seconds, we use full name everywhere else
2020-02-14 16:23:03 +08:00
Chocobo1
4f7b799732
Use QDeadlineTimer for tracking WebUI banned duration
It simplifies our code and the new timer is monotonic.
2020-02-14 16:22:52 +08:00
Vladimir Golovnev (Glassez)
3762514662
Don't access download handler after it's finished 2020-02-14 08:24:49 +03:00
Chocobo1
45bd79ee74
Close document properly after writing
Closing document explicitly is recommended by MDN:
https://developer.mozilla.org/en-US/docs/Web/API/Document/write
2020-02-14 12:47:18 +08:00
Chocobo1
f88d6b2e55
Expose WebUI ban counter to users 2020-02-14 12:31:12 +08:00
Mike Tzou
d5a4ebe7c9
Merge pull request #11998 from Kolcha/filter-list
Inherit text color for filter list elements
2020-02-14 11:34:55 +08:00
Mike Tzou
195889a854
Merge pull request #11785 from Tester798/fix-portable-mode
Fix portable mode
2020-02-14 11:30:32 +08:00
Mike Tzou
882978c80a
Merge pull request #12000 from an0n666/legacy-default-no-random-port
Keep legacy default for random port
2020-02-13 12:24:45 +08:00
Tester798
58711cbe7e Fix portable mode
Try to fix portable mode bug. Closes #11706, #11178, #7765.
2020-02-12 19:56:25 +02:00
Mike Tzou
316f34cbf5
Merge pull request #11994 from Chocobo1/profile
Unify singleton pattern in Profile class
2020-02-12 23:59:47 +08:00
an0n666
41d8585932 Keep legacy default for random port 2020-02-12 12:28:13 +00:00
Nick Korotysh
1e59dcdb6c
Inherit text color for filter list elements
Filter list (left side panel) in WebUI is implemented using <a> tags,
CSS defines default style for all <a> elements, and specific style for
filter list elements. Default style for <a> elements sets color, and
this color also used in list. This is looks not so well. So lets just
inherit text color from parent element, and as so as it is not set, so
default text color will be used.
This makes filter list looks like other UI elemets, making all UI more
consistent (like in desktop app).
2020-02-12 10:40:08 +03:00
Vladimir Golovnev
4a2fda7edc
Merge pull request #11995 from glassez/fix-magnet-redirect
Handle HTTP redirections manually
2020-02-12 09:25:39 +03:00
Vladimir Golovnev
1e63dcb400
Merge pull request #11847 from glassez/legacy-defaults
Keep legacy defaults for existing users
2020-02-11 18:44:03 +03: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
Vladimir Golovnev (Glassez)
0c6c65f6f8
Keep legacy defaults for existing users 2020-02-11 09:53:12 +03:00
Vladimir Golovnev (Glassez)
86c95db91d Perform settings upgrade for existing user only 2020-02-11 09:40:57 +03:00
Vladimir Golovnev (Glassez)
8bb34482ea
Handle HTTP redirections manually
Qt doesn't support Magnet protocol so we need to handle all redirections
manually to allow redirections to Magnet URIs.
2020-02-11 09:31:42 +03:00
Nick Korotysh
536580ca6b
Use SVG image for WebUI favicon
This will allow browsers to get high quality icon with required
resolution instead of resizing some small raster image.
Browsers can have even more benefit from it. For example, Firefox uses
high resolution icon to display it in "Top Sites" instead of page
preview.

Nothing changes for browsers which doesn't support SVG favicons, older
PNG icon will be used in such case.
2020-02-09 08:52:32 +03:00
Chocobo1
baa13c044a
Drop python2 support
Closes #11811.
2020-02-08 12:36:45 +08:00
Chocobo1
a6cdba17f0
Fix singleton class ownership
We shouldn't allow Qt parent ownership in here.
2020-02-07 15:34:04 +08:00
NotTsunami
6748e8d787 Remove redundant null checks
Attempting to delete a null pointer is a noop in C++.

Closes #2864.

[1] https://isocpp.org/wiki/faq/freestore-mgmt#delete-handles-null
2020-02-03 16:38:51 -05:00
Chocobo1
b2ab6c1858
Let ReverseResolution always return/emit a result 2020-01-30 19:24:18 +08:00
Chocobo1
ff31bb86bc
Speed up lookup time
By adding another variable we can get O(1) lookup time instead of O(n).
Fix up 5f415c292d.
2020-01-30 19:23:54 +08:00
Chocobo1
a2ebd77eac
Manually abort lookup on class destruction
Some lookup might take longer so instead of waiting them, we abort them
manually.
2020-01-30 14:11:03 +08:00
Chocobo1
86e3d0d816
Improve ReverseResolution class
* Use QHostAddress type for IP
* Avoid double lookup
* Use larger cache size
2020-01-30 14:11:03 +08:00
Mike Tzou
11bea8d393
Merge pull request #11918 from thalieht/peerssameip
Show any multiple connections from the same IP in peer list
2020-01-30 12:59:17 +08:00
thalieht
5f415c292d Show any multiple connections from the same IP in peer list
The uniqueness of peers is now determined by their
IP, port and connection type (uTP etc.) instead of just their IP
2020-01-29 20:40:10 +02:00
Mike Tzou
4884788c0b
Merge pull request #11933 from Chocobo1/qhash
Improve qHash functions
2020-01-29 02:07:27 +08:00
Chocobo1
5905c085c6
Use systematic approach to generate hash
The basic idea is to hash each class member and then mix them with xor
operation.
However the `seed` must be handled with care, it should only be
introduced once when mixing the hashes of each class member, otherwise
under some circumstances the `seed` might xor with itself and thus break
the intended effect.
2020-01-27 18:14:27 +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
Chocobo1
2b4490d8a7
Use faster hash function
qHash(QString) will need to hash/loop through all the data while the new
code will only need one memcpy() and a few bit manipulations.
2020-01-27 12:53:13 +08:00
Vladimir Golovnev (Glassez)
666e733a4a
Track settings changed event in TransferListModel 2020-01-24 07:42:39 +03:00
Vladimir Golovnev (Glassez)
099943ea3c
Fix hide zero values 2020-01-24 07:41:04 +03:00
Mike Tzou
c3ce1aaa3d
Merge pull request #11903 from Sakib-Abrar/gui-improvement
Show "∞" instead of " -1" in Preferences
2020-01-22 11:56:26 +08:00
Vladimir Golovnev
89e72b38ea
Merge pull request #11881 from glassez/extension
Simplify torrent startup handling
2020-01-22 06:11:33 +03:00
Sakib-Abrar
1768570bf9 Show "∞" instead of " -1" in Preferences 2020-01-22 00:06:19 +06:00
Vladimir Golovnev (Glassez)
f2285e1b63
Redesign torrent startup handling 2020-01-21 10:14:59 +03:00
Mike Tzou
01ad8a443c
Merge pull request #11892 from NotTsunami/cmake
CMake: Further CMake improvements and fixes
2020-01-20 11:59:51 +08:00
Vladimir Golovnev
75ebd54ea3
Merge pull request #11088 from jagannatharjun/organize-style
Reorganize UI theme selection
2020-01-20 06:56:54 +03:00
NotTsunami
b21ed0063b CMake: Fix WebUI checks
When the CMake system was last revamped, the configure variable was
changed from WEBUI to DISABLE_WEBUI, but we are still checking
against WEBUI. This behavior was changed in fa770871e9
2020-01-19 15:08:45 -05:00
Prince Gupta
c9e162cf8a Reorganize UI theme selection 2020-01-18 23:12:33 +05:30
Chocobo1
3fce1db2eb
Migrate away from deprecated settings
Libtorrent has deprecated `upnp_ignore_nonrouters` in
https://github.com/arvidn/libtorrent/pull/4251
2020-01-16 23:44:54 +08:00
Mike Tzou
e27c9bd020
Merge pull request #11871 from NotTsunami/bitwise
WebUI: Use correct operators in logical expressions
2020-01-14 12:54:56 +08:00
Mike Tzou
146e8213a5
Merge pull request #11781 from FranciscoPombal/piece_extent_affinity
Add piece_extent_affinity to AdvancedSettings
2020-01-14 12:53:39 +08:00
Vladimir Golovnev
990e451765
Merge pull request #11865 from shemanaev/fix/webui-files-rename
WebUI: Fix first row renaming in files tab
2020-01-14 07:14:13 +03:00
FranciscoPombal
df2fbb1edc Bump Web API version 2020-01-13 11:41:59 +00:00
FranciscoPombal
f4742a98c5 Add stalled filters to GUI and Web API/UI
`/api/v2/torrents/info` can now take the following new values for the`filter` parameter: `stalled`, `stalled_uploading` and `stalled_downloading`.

Requires Web API version bump.

Closes #11787
2020-01-13 11:41:37 +00:00
NotTsunami
82047104fc WebUI: Use correct operators in logical expressions
As suggested in https://github.com/qbittorrent/qBittorrent/pull/11825#discussion_r365557626
2020-01-13 01:35:38 -05:00
FranciscoPombal
ed96a07a75 Add piece_extent_affinity to AdvancedSettings
Expose option in WebUI settings and WebAPI.

Requires WebAPI version bump.

Closes #11436.
2020-01-13 00:11:29 +00:00
Denis
a7eb792372 WebUI: Fix first row renaming in files tab
Ids started from zero and first row converts to false.
Closes #11826.
2020-01-12 20:05:38 +03:00
Vladimir Golovnev
101ab3cf6c
Merge pull request #11864 from glassez/fix-sorting
Fix Transfer list sorting
2020-01-12 11:05:20 +03:00
Vladimir Golovnev (Glassez)
118debd6bf
Fix Transfer list sorting 2020-01-11 18:19:48 +03:00
Chocobo1
396660b031
Fix missing string 2020-01-11 18:48:49 +08:00
Chocobo1
2e4584578b
Bump python version for new installation 2020-01-11 18:48:01 +08:00
Chocobo1
029795bc19
Bump copyright year 2020-01-11 18:47:33 +08:00
An0n
bf32e90c40 Change placement of stop tracker timeout 2020-01-09 19:01:05 +00:00
Mike Tzou
057860584c
Merge pull request #11834 from an0n666/an0n666-expose-stop-tracker-timeout
Expose stop tracker timeout in Advanced Settings (GUI + WebUI)
2020-01-08 17:30:21 +08:00
Mike Tzou
e2ac97a9e7
Merge pull request #11838 from Chocobo1/webui
Minor WebUI code cleanups
2020-01-08 16:50:31 +08:00
an0n666
3f223c3a45 Expose stop_tracker_timeout in advanced settings 2020-01-08 08:21:55 +00:00
sledgehammer999
45ed31fddc
Merge pull request #11733 from sledgehammer999/tracker_error_count
Tracker is errored only if all local endpoints fail
2020-01-08 04:24:08 +02:00
Vladimir Golovnev
dc8f4b776c
Merge pull request #11829 from thalieht/doubleclick
Allow double-click in preview dialog
2020-01-06 21:11:59 +03:00
Chocobo1
c556b20018
Remove unused variable 2020-01-07 02:08:08 +08:00
Chocobo1
c34883f9af
Add explicit semicolon 2020-01-07 02:07:55 +08:00
Chocobo1
0577cf588c
Remove duplicate line 2020-01-07 01:59:02 +08:00
sledgehammer999
02a027144b
Tracker is errored only if all local endpoints fail
Closes #11691
2020-01-05 17:59:54 +02:00
thalieht
c5177eae9f Allow double-click in preview dialog 2020-01-05 11:28:04 +02:00
Vladimir Golovnev (Glassez)
f56f817c77
Save resume data after recheck
Closes #11774.
2020-01-01 14:29:58 +03:00
Mike Tzou
e906478a16
Merge pull request #11756 from FranciscoPombal/fix_webui_stats_race
WebUI: fix populating statistics window
2019-12-28 10:37:03 +08:00
Vladimir Golovnev
37d7323ac0
Merge pull request #11708 from glassez/transfer-list
Improve Transfer list architecture
2019-12-27 16:25:26 +03:00
FranciscoPombal
8be804b6ff WebUI: fix populating statistics window
Closes #11665
2019-12-27 12:10:12 +00:00
Vladimir Golovnev (Glassez)
15f2a3b564
Use QStyledItemDelegate instead of QItemDelegate 2019-12-26 22:10:28 +03:00
Vladimir Golovnev (Glassez)
766cfb67df
Fix transfer list architecture
Model returns string for DisplayRole.
Text alignment is set by Model (using TextAlignmentRole).
Delegate performs custom painting only where necessary
(i.e. for Progress bar).
2019-12-26 22:09:56 +03:00
Mike Tzou
5c3c1e07df
Merge pull request #11739 from Chocobo1/qt5_14
Migrate away from deprecated API in Qt 5.14
2019-12-26 12:43:04 +08:00
Chocobo1
f5f3dc2ba1
Remove unused variable 2019-12-25 19:23:37 +08:00
Chocobo1
2422d81de1
Migrate away from deprecated API in Qt 5.14 2019-12-25 19:23:37 +08:00
Mike Tzou
e62b550bfe
Merge pull request #11635 from FranciscoPombal/prevent_excessive_sync
WebUI: Prevent excessive requests to /api/v2/sync/maindata
2019-12-25 13:15:13 +08:00
Mike Tzou
07d4055de5
Merge pull request #11745 from FranciscoPombal/fixup_#11592
WebUI: remove unused/deprecated "Listen on IPv6 address" option
2019-12-25 13:07:24 +08:00
Mike Tzou
fea39fbcf2
Merge pull request #11726 from FranciscoPombal/fix_#11724
WebUI: Implement "Secure" flag for session cookie. Closes #11724
2019-12-25 13:06:40 +08:00
FranciscoPombal
0f6dfcf8a6 WebUI: Prevent excessive sync requests
Don't sync main data if a request to do so is already in progress.

This prevents piling up of requests and bogging down slow/busy machines, since the current implementation of `/api/v2/sync/maindata` is very computationally intensive, especially with lots of torrents.

Everything gets updated on the next scheduled request anyway (via the timeout mechanism).
2019-12-24 12:15:26 +00:00
Mike Tzou
c94417b589
Merge pull request #11637 from FranciscoPombal/new_defaults
Change some settings defaults for better behaviour out of the box
2019-12-24 12:27:11 +08:00
sledgehammer999
f672df1cf1
Merge pull request #11278 from Piccirello/country_region
Rename Country column to "Country / Region"
2019-12-23 21:54:30 +02:00
FranciscoPombal
e693fdeaf9 WebUI: remove unused/deprecated option
Fixup 8200ef6
Remove "Listen on IPv6 address" option.
2019-12-23 18:57:46 +00:00
FranciscoPombal
691d5e5d89 WebUI: Implement "Secure" flag for session cookie
Closes #11724.

Option is enabled by default for users using qBittorrent's built-in HTTPS capabilities. This flag will never be set if qBittorrent is using plain HTTP.

Users using HTTPS reverse proxies, like "qbt <-> (http) <-> proxy <-> (https) <-> user" should override the flag in the proxy in order to set it, if they wish to do so.
2019-12-23 17:58:08 +00:00
sledgehammer999
3a70dd4438
Merge pull request #11672 from sledgehammer999/show_console
Option to show console when external program is run
2019-12-23 16:16:24 +02:00
sledgehammer999
1121316926
Delete unnecessary explicit return 2019-12-19 19:13:02 +02:00
sledgehammer999
8fa6e372a2
Option to show console when external program is run
Windows only.
Closes #9592
2019-12-19 19:13:01 +02:00
FranciscoPombal
30502de960 Change some settings defaults for better behaviour out of the box
- CheckingMemUsageSize (16 MiB -> 32 MiB): a 16 MiB increase in memory consumption seems worthwhile for a nice performance boost in most cases.
- DiskCacheSize (64 MiB -> Auto): auto yields the best performance without committing to a huge fixed value.
- UseRandomPort (false -> true): The initial port chosen by qBittorrent may clash with something else the user already has that is aways using that port (low probability, but still). Thus, qBittorrent will always fail listening on that port, causing unexpected problems for the user. Users who know they want a fixed port will go to the settings anyway.
2019-12-19 16:46:22 +00:00
sledgehammer999
18de63f743
Merge pull request #11433 from jagannatharjun/colors
Allow transfer list text color changes through QSS
2019-12-19 18:20:49 +02:00
sledgehammer999
52273ca18c
Merge pull request #11696 from Medvedishce/Update-free-disk-space
Update free disk space label on Category change in Auto Mode
2019-12-19 18:16:08 +02:00
sledgehammer999
4ae8e176dc
Use modern unique_ptr practices 2019-12-19 16:25:45 +02:00
Prince Gupta
d3aa45526a Allow transfer list text color changes through QSS 2019-12-19 12:45:26 +05:30
Mike Tzou
fab250f1e0
Merge pull request #11694 from Chocobo1/nullptr
Replace hard-coded numbers in TrackerFiltersList class
2019-12-19 10:13:44 +08:00
Medvedishce
48fff37143
Update free disk space label on Category change in Auto Mode
Closes #8772.
This will fix issue that "Free space on disk:" label in 
Add New Torrent dialog not updated on Category change
when Torrent Management Mode is on Auto mode.
2019-12-18 13:49:43 +03:00
Chocobo1
723668ba46
Replace hard-coded numbers in TrackerFiltersList class 2019-12-18 16:33:37 +08:00
Chocobo1
bf264b983a
Simplify null pointer check 2019-12-18 15:13:02 +08:00
Chocobo1
bb73fa5dbe
Replace a series of if() by switch() 2019-12-18 15:05:42 +08:00
Mike Tzou
1e4c837d6c
Merge pull request #11678 from an0n666/patch-1
Disable Torrent Queue by default
2019-12-18 13:47:04 +08:00
sledgehammer999
a25ed5f639
Sync translations from Transifex and run lupdate 2019-12-18 00:33:00 +02:00
sledgehammer999
1376e051df
Bump Web API version 2019-12-18 00:20:27 +02:00
sledgehammer999
90308c2ae5
Merge pull request #11660 from sledgehammer999/fix_smart_delete
Don't unnecessarily delete folder customization
2019-12-17 20:38:25 +02:00
sledgehammer999
3d43f1c800
Merge pull request #11642 from sledgehammer999/fix_save_path
Use the incomplete folder where appropriate
2019-12-17 20:37:57 +02:00
Mike Tzou
99c002ae27
Merge pull request #11614 from Tester798/master
Enable portable mode if "profile" folder exists
2019-12-17 13:37:35 +08:00
Mike Tzou
5b7df3a6e7
Merge pull request #11675 from jagannatharjun/resize-align
Align Properties tab bar correctly on window resize
2019-12-17 10:44:13 +08:00
sledgehammer999
64e5d41a2c
Don't unnecessarily delete OS files in folders 2019-12-16 22:10:13 +02:00
an0n666
e0d7876990
Disable Torrent Queue by default
It should remain disabled by default. Anyone that needs to Queue torrents for seeding/downloading should go to settings and change it to their preference.
2019-12-16 18:16:27 +06:00
Prince Gupta
6258c1e65b Align Properties tab bar correctly on window resize 2019-12-16 15:42:50 +05:30
Tester798
053ee48692 Enable portable mode if "profile" directory exists
Enable portable mode if "profile" directory exists in the app dir.
Remove "--portable" command line argument.
Add logging of current profile config directory.
Closes #9445.
2019-12-16 05:12:47 +02:00
sledgehammer999
564d845d87
Use the incomplete folder where appropriate
Restored torrents already have the correct path saved in their fastresume. Don't override it.
Magnets and new torrents have to be set explicitly to the incomplete folder if it is enabled.

Closes #11552
2019-12-13 20:31:38 +02:00
sledgehammer999
d09c5e529c
Merge pull request #11592 from sledgehammer999/refactor_listeningAddr
Rework the listening IP/interface selection code
2019-12-12 20:24:45 +02:00
Chocobo1
796595ffb6
Enable "Apply rate limit to peers on LAN" option by default
Because some ISP will deploy Carrier Grade NAT (means assigning private
IP address to user) and thus accidentally circumvent the speed limiter.

https://www.a10networks.com/blog/carrier-grade-nat/
2019-12-11 21:44:45 +08:00
sledgehammer999
8200ef6bd5
Rework the listening IP/interface selection code
Closes #11561
2019-12-11 09:56:45 +02:00
nl6720
5f5385d4dd Fix quoting of alert() in client.js
Fix alert() I broke in #11615 .
2019-12-10 12:45:55 +02:00
Mike Tzou
a652c39394
Merge pull request #11029 from Piccirello/webui-rename-file
Add ability to rename torrent files from the WebUI
2019-12-10 12:39:19 +08:00
Thomas Piccirello
2bce9f6179 Add ability to rename torrent files from the WebUI
Renaming folders is not yet supported. Closes #8892.
2019-12-09 02:57:32 -08:00
Thomas Piccirello
9fecd18293 Fix incorrect function being used 2019-12-09 02:53:36 -08:00
nl6720
c1ef846c3d Mention lack of HTTPS in WebUI magnet link warning
According to Mozilla docs, registerProtocolHandler() is only
available when using secure contexts (i.e. HTTPS for everything
outside localhost).
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler

The message "Your browser does not support this feature" does not
make this obvious and can lead to confusion if the user is using a
modern browser.
2019-12-08 11:41:30 +02:00
Mike Tzou
7a657eb5d9
Merge pull request #11566 from Chocobo1/webui
Fixes for WebUI
2019-12-08 12:13:53 +08:00
Chocobo1
c896982efb
Fix incorrect translation displayed after language change
It is expected in WebUI that the language change applies immediately
(without a program restart) and this static caching prevents that.
2019-12-04 18:25:14 +08:00
Chocobo1
5f165c4c00
Fix HTML elements size in search tab
Specifying a height/width value might cut the displayed text or
obstruct centering the text in the button, so let it auto decide
instead.
Closes #11553.
2019-12-04 18:25:14 +08:00
Thomas Piccirello
33a3624652 Rename Country column to "Country / Region"
Not all flags displayed strictly belong to countries.
2019-12-03 23:05:38 -08:00
Chocobo1
a92826d316
Fix inconsistent icon for deleting torrent
Closes #11565.
2019-12-04 12:59:29 +08:00
Chocobo1
04f270b9bc
Fix missing translations in search plugins dialog
Closes #11551.
2019-12-04 12:20:11 +08:00
Mike Tzou
2e8b17e498
Merge pull request #11521 from Chocobo1/errorStatus
Fix stuck in wrong torrent state
2019-12-03 19:22:39 +08:00
Vladimir Golovnev
452b1d8ea2
Merge pull request #11543 from j1warren/content_tab_feature
Expand single-item folders in torrent content
2019-12-03 13:04:53 +03:00
sledgehammer999
f46058bbd6
Sync translations from Transifex and run lupdate 2019-12-02 23:37:06 +02:00
warren
b37795d344 Expand single-item folders in torrent content 2019-12-02 21:56:44 +05:00
Vladimir Golovnev (Glassez)
9342fb15b3
Log "RSS Feed successfully downloaded" event 2019-12-01 20:19:43 +03:00
Chocobo1
bf58555a7a
Migrate away from deprecated API 2019-11-29 02:57:31 +08:00
sledgehammer999
56c0f39593
Merge pull request #11520 from sledgehammer999/revert_fastresume_functionality
Revert fastresume functionality
2019-11-27 22:38:21 +02:00
sledgehammer999
bd3f723ebf
Merge pull request #11474 from sledgehammer999/webui_bump
Bump Web API version
2019-11-27 22:37:40 +02:00
Chocobo1
b6050463f4
Show torrent error message in transfer list 2019-11-26 03:15:48 +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
sledgehammer999
005f0010ec
Revert "Fix unable to remove web seeds"
This reverts commit d657c87243.
2019-11-25 15:34:37 +02:00
Vladimir Golovnev
7ff8545f55
Merge pull request #11505 from glassez/fix-build
Fix compilation for Windows 7 with MinGW
2019-11-23 06:22:17 +03:00
Vladimir Golovnev (Glassez)
a4b9a4d9da
Fix compilation for Windows 7 with MinGW 2019-11-22 13:03:52 +03:00
sledgehammer999
c27457efda
Sync translations from Transifex and run lupdate 2019-11-21 21:21:58 +02:00
Chocobo1
af52a18f82
Avoid session reconfiguration when limit has not changed
Fix up 5d46c9b2d6.
2019-11-20 12:22:18 +08:00
Mike Tzou
1bd739dd4a
Merge pull request #11493 from Chocobo1/speed
Revise "speed limits" related code
2019-11-18 18:40:31 +08:00
thalieht
4ffc0cff12 Reallow to force recheck torrents that aren't fully started 2019-11-16 22:13:35 +02:00
Chocobo1
5d46c9b2d6
Revise "speed limits" related code
The old code has a wrong comparison which compares speed limits
in different magnitude: bytes vs KiB. The comparison is removed.
Also the old code treats values that are smaller than 1024 as unlimited
speed which is clearly wrong.
2019-11-17 02:27:59 +08:00
Chocobo1
0f2c61a207
Remove redundant type casting 2019-11-14 12:18:41 +08:00
Chocobo1
b55403ce66
Pass TriStateBool by value 2019-11-14 12:14:30 +08: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
Chocobo1
8fe8cbd3d1
Reuse code path in switch cases 2019-11-14 12:14:29 +08:00
Chocobo1
9b5df92078
Give better name to parameter checking function
This function will throw exceptions if the required parameters do not
exsit hence a stronger word is more appropriate here.

Also change the function parameter type to QVector. We don't need the
duplicate entries checking as currently we only use 3 fields at max and
can be easily checked by hand. So drop back to QVector which can be
constructed more efficiently.
2019-11-14 12:14:20 +08:00
Mike Tzou
9cb07db84b
Merge pull request #11473 from j1warren/dblclick_preview_file
Add "Preview file" double-click action
2019-11-14 12:02:57 +08:00
Mike Tzou
cdb1874263
Merge pull request #11466 from Xegor/master
Add "create subfolder" option to RSS auto-download rules
2019-11-14 12:02:06 +08:00
warren
74009f13d9 Add "Preview file" double-click action 2019-11-11 23:12:55 +05:00
Chocobo1
ff4aae11f8
Add required header
The header was missing and our cmake CI builds failed as a result.
2019-11-11 20:12:53 +08:00
Xegor
325f36fa4f Add create subfolder option to RSS auto-download rules 2019-11-11 12:46:51 +01:00
Chocobo1
d936bca268
Move DownloadHandlerImpl class to its own file
This also resolves lupdate warning.
2019-11-11 19:41:10 +08:00
Chocobo1
9ef2cd48e0
Fix translation not applied 2019-11-11 16:39:55 +08:00
sledgehammer999
eff0208382
Bump Web API version
Closes #11403
2019-11-11 02:18:59 +02:00
sledgehammer999
0ff3b7641d
Correctly update WebUI translations 2019-11-11 02:13:35 +02:00
sledgehammer999
871161310b
Sync translations from Transifex and run lupdate 2019-11-11 02:03:06 +02: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
Chocobo1
b408a09755
Remove unused type alias 2019-11-04 13:47:30 +08:00
Chocobo1
1b47350952
Remove anonymous function forward declarations
Also reorder the functions slightly to make it compile.
2019-11-04 12:21:16 +08: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
Mike Tzou
475fbfb712
Merge pull request #11356 from Chocobo1/banIP
Allow to select multiple entries in "banned IP" dialog
2019-11-04 11:29:22 +08:00
Mike Tzou
a7f38eaa82
Merge pull request #11374 from horgan/patch-1
Fix country name misspelling
2019-11-03 00:43:48 +08:00
horgan
89d214bb8f
Fix country name misspelling 2019-11-03 00:17:04 +08:00
Mike Tzou
6da39d9279
Merge pull request #11422 from Chocobo1/buffer
Reserve memory for file data buffers
2019-11-02 13:16:21 +08:00
Mike Tzou
565eb4cdc8
Merge pull request #11430 from Chocobo1/qt
Fix integer narrowing on x86
2019-11-01 10:34:56 +08:00
Chocobo1
e262b86c44
Reserve memory for file data buffers 2019-10-31 23:09:28 +08:00
Chocobo1
f31ee6a225
Fix integer narrowing on x86
The f_type is an alias to `int` on 32-bit system and the switch cases
uses `unsigned int`.

Closes #11427.
2019-10-31 13:04:02 +08:00
Chocobo1
6fd678195c
Replace deprecated Qt functions
QSet::toList() is replaced by QSet::values()
2019-10-31 12:40:24 +08:00
Chocobo1
0f60121b94
Add option to control qBittorrent process memory priority
This is to avoid Windows swapping out other application data from
OS cache and put in torrent data which hinders other program
responsiveness.

The default value "Below normal" is choosen because casual users have
other higher priority apps (such as browser) running and they don't
expect OS to swap out its data. Dedicated seeders most probably will not
have other app running on their system and would expect qbt has
priority over other background services.

The option only has effect on Windows >= 8.
2019-10-31 03:18:43 +08:00
Chocobo1
29fe0029f0
Rename variables in Session class 2019-10-30 11:56:16 +08:00
Chocobo1
89c58921de
Log error properly 2019-10-30 01:46:57 +08:00
Chocobo1
a3fd340187
Revise Session::getPendingAlerts function signature 2019-10-30 01:46:57 +08:00
Chocobo1
e32ef7f5c5
Use implicit sharing when getting categories from Session class 2019-10-30 01:46:57 +08:00
Chocobo1
865394a59c
Clean up Session class variable initialization 2019-10-30 01:46:56 +08:00
Chocobo1
abb3e7ace0
Move libtorrent session initialization to its own function
`m_IPFilteringChanged` default value has changed due to code unification.
2019-10-30 01:46:52 +08:00
Chocobo1
4888b22622
Fix screen scaling factor calculation
For some users on Windows the physicalDotsPerInch() could return values
that are smaller than the normal 96 DPI which leads to big dialog sizes
taking the entire screen.
So we need to ensure it is at least 96 DPI.
Closes #11405, #11407.
2019-10-28 15:01:42 +08:00
sledgehammer999
009ccbef7f
Bump Web API version
Closes #11304
2019-10-27 17:20:28 +02:00
Chocobo1
49266cb9e4
Replace boost::int64_t by std::int64_t 2019-10-23 13:43:49 +08:00
Chocobo1
cbe78baff1
Migrate to lt::error_code 2019-10-23 13:43:46 +08:00
Chocobo1
0d3152e4b0
Clean up "network interfaces configuration" code 2019-10-23 13:43:16 +08:00
Chocobo1
5e671a4b0b
Allow to select multiple entries in "banned IP" dialog 2019-10-11 21:58:35 +08:00
Chocobo1
0760398e99
Use screen real physical DPI on Windows
Previously was using a hardcoded value which might lead to issues like #11234.
2019-10-03 18:08:48 +08:00
Chocobo1
7f73a71319
Show torrent name in "preview file" related dialogs 2019-10-02 22:27:27 +08:00
Chocobo1
6a462edb72
Don't close preview dialog if selected file failed to open
User may have made a mis-selection and this should not close the dialog
(only when the torrent has multiple previewable files).
2019-10-02 22:24:47 +08:00
Chocobo1
7ed0cd0c35
Fix "preview file" action not working
Root cause is the PreviewSelectDialog::readyToPreviewFile signal is
emitted before it is connected to a slot.
Only single-file torrents are affected.

Closes #11315.
2019-10-02 22:24:29 +08:00
Chocobo1
0607050ecc
Clean up PreviewSelectDialog class 2019-10-02 21:12:35 +08:00
Chocobo1
021908320e
Preserve relative order when moving to top/bottom in queue
Closes #11312.
2019-10-02 16:03:06 +08:00
Chocobo1
e0a23ba93d
Use InfoHash type in queueing operations
This avoids redundant type conversions.
2019-10-02 15:21:16 +08:00
Mike Tzou
a9e6ef183b
Merge pull request #11302 from Chocobo1/deletedialog
Revise DeletionConfirmationDialog class
2019-10-01 12:50:10 +08:00
Chocobo1
c632a91ee5
Handle "Delete confirmation" dialog result asynchronously
This is to avoid creating nested event loops as discussed in
https://github.com/qbittorrent/qBittorrent/pull/10786#issuecomment-502795822
2019-09-30 21:37:17 +08:00
Chocobo1
36056ad5af
Avoid redundant lookups 2019-09-29 15:13:25 +08:00
Chocobo1
19b6f56a0a
Move DeletionConfirmationDialog class to its own .cpp file 2019-09-29 11:29:16 +08:00
Chocobo1
d76adff81d
Change Session::deleteTorrent() first parameter to take InfoHash type 2019-09-29 09:52:51 +08:00
Chocobo1
7f453a80d3
Revise SessionSettingsEnums wrapper
This simplify the wrapper to become a namespace.
2019-09-29 09:52:13 +08:00
Chocobo1
7276a79cef
Call Windows API directly
We already bumped the OS requirement to Windows 7 and those functions
can be called directly without the need to load them first.
2019-09-29 09:52:13 +08:00
Mike Tzou
975b44d05f
Merge pull request #11241 from thalieht/delfolder
Add "Remove torrent and its files" option to share ratio limiting
2019-09-29 09:51:41 +08:00
thalieht
53e7faa47c Rename share ratio limiting options 2019-09-26 13:34:03 +03:00
thalieht
07eb261991 Add "Remove torrent and its files" option to share ratio limiting 2019-09-26 13:34:03 +03:00
Chocobo1
de7d62c128
Clean up code 2019-09-25 15:54:47 +08:00
Chocobo1
103e2b9398
Use non-recursive mutex
The related classes doesn't really need recursive mutex so drop it. And
if it is really required it usually indicates bad design and we should
avoid it anyway.
2019-09-25 15:50:21 +08:00
Mike Tzou
7a3607c729
Merge pull request #11269 from Chocobo1/signals
Improve "stats updated" signal handling in MainWindow class
2019-09-25 09:53:39 +08:00
Mike Tzou
7c7963f93f
Merge pull request #11259 from Chocobo1/tristate
Revise TriStateBool class
2019-09-25 09:52:41 +08:00
Chocobo1
58fa5e004f
Improve "stats updated" signal handling in MainWindow class 2019-09-24 11:51:29 +08:00
Chocobo1
72faf89e26
Use the same internal data type for conversion function 2019-09-24 10:49:39 +08:00
Mike Tzou
50e0b2ab15
Merge pull request #11251 from Chocobo1/stats
Move "torrent status report" functionality out of Session class
2019-09-24 10:48:52 +08:00
Chocobo1
418164bee4
Move "torrent status report" functionality out of Session class 2019-09-23 21:08:59 +08:00
Chocobo1
9968eb53b2
Remove unused signal 2019-09-23 21:08:59 +08:00
Chocobo1
8bbed461a6
Sort signal declarations in Session class 2019-09-23 21:08:59 +08:00
Chocobo1
c7ac96c4f5
Add ability to trigger action via keypad Enter 2019-09-23 19:18:14 +08:00
Chocobo1
4a71b78e2d
Group related code together
And also rename local variables.
2019-09-23 19:18:14 +08:00
Chocobo1
2152a81d11
Add ability to open file via keypad Enter
Closes #11260.
2019-09-23 19:18:07 +08:00
Chocobo1
ed62854af7
Add TriStateBool constructor taking a boolean
And move the constructor taking an int to private.
2019-09-23 13:05:32 +08:00
xnor
ecc3ff3ca4 WebUI: fix escaping of HTML special characters
JS code for torrent general properties, files, peers, trackers inconsistently
escaped HTML special characters, then the dynamicTable inconsistently escaped
again and then the value was set to HTML element text or html properties.

To fix this mess, don't escape any property values in the prop-*.js files.
Instead, make dynamicTable set HTML element text instead of html property by
default. This behavior can be overridden by setting a custom updateTd
function on the respective column, if needed. This is where the HTML escaping
should be done.

Also reordered existing updateTd functions to match column order, changed
custom updateTd functions from setting html to text property wherever possible,
removed custom updateTd functions that turned out to be redundant.
2019-09-21 13:09:42 +00:00
Chocobo1
82276b2a99
Rename variable 2019-09-19 16:50:57 +08:00