Commit Graph

7718 Commits

Author SHA1 Message Date
Chocobo1
77b71e392e
Refactor function
In SearchPluginManager::updateNova(), omit removing __pycache__ folder and pyc
files, those files will be recreated anyway.
Add const to variables
2018-06-28 17:21:13 +08:00
Chocobo1
f951bf678d
Rename function 2018-06-28 16:13:52 +08:00
Chocobo1
5c50c5b24d
Cache SearchPluginManager::engineLocation() result
Also the folder is only created on first usage.
2018-06-28 16:06:16 +08:00
Chocobo1
361afb401b
Replace less-efficient QProcess::setEnvironment
Also small refactor
2018-06-28 15:56:39 +08:00
Chocobo1
ad5c88be3d
Simplify function 2018-06-28 15:50:50 +08:00
Chocobo1
6bf3f1d0b8
Add checkbox for recursive download dialog
Also group similar options together.
2018-06-26 23:26:45 +08:00
Chocobo1
78d7cc0570
Work around crash when procesing recursive download
The messagebox is modal and exec() it makes it generates a new local
event loop, however the new local event loop will continue to process
libtorrent events (in Session::readAlerts()), at the time exec()
returns, the original libt::alert pointers are lost and resume
processing alerts will cause the crash.
One solution is to make the messagebox use show() and avoid exec().

Closes #9086.
2018-06-26 23:26:23 +08:00
Chocobo1
3e6c8a05dd
Reduce queries to python version
Instead of doing at least 2 queries for python infos, now requires only
1 query (in ideal condition), and the result is cached.
2018-06-24 19:41:44 +08:00
Chocobo1
51e82762c5
Move related functions to Utils::Python 2018-06-24 06:21:15 +08:00
Goshik
1daadfc4ec Create non-existing path in setLocationAction()
When using qbittorrent-nox it is not always possible to manually create
the target path for torrent moving. This commit allows automatic path
creation. It also allows to display error messages in the
'Set location' window.
2018-06-19 14:10:11 +03:00
Mike Tzou
8f6e066332
Merge pull request #9092 from hannsen/patch-1
PEP 8 compliant version comments in search plugins
2018-06-18 00:56:28 +08:00
Mike Tzou
40f4223d02
Merge pull request #9083 from Chocobo1/qrc
Move files to where it belongs
2018-06-18 00:51:19 +08:00
Vladimir Golovnev
7d9cc04c88
Merge pull request #9090 from thalieht/renamefiles
Rename files and classes to match them
2018-06-16 13:08:38 +03:00
Mike Tzou
dc20fff6e4
Merge pull request #9059 from Piccirello/meta-key
Add WebUI support for Mac ⌘ (Command) key
2018-06-16 12:21:20 +08:00
thalieht
d34ddb2e3c Change file names and classes names to match them 2018-06-15 20:12:59 +03:00
hannsen
a162550d7f
Properly normalize version string before parsing it
This allows python scripts to be formatted in PEP 8 style.
2018-06-14 13:00:31 +08:00
Vladimir Golovnev
0433d5f074
Merge pull request #9042 from thalieht/codingstyle
Fix coding style final
2018-06-13 12:41:56 +03:00
Mike Tzou
fd2fc65ba9
Merge pull request #9018 from Chocobo1/boostDef
Revise usage of BOOST_NO_CXX11_RVALUE_REFERENCES
2018-06-13 14:20:01 +08:00
Chocobo1
8be949fec3
Revise usage of BOOST_NO_CXX11_RVALUE_REFERENCES
Now the flag will be present when building with boost version <= 1.59.
Closes #8990.
2018-06-13 13:51:58 +08:00
Thomas Piccirello
232f0f4b0b Add WebUI support for Mac ⌘ (Command) key
The Command key will now be recognized for WebUI Table multi-selection, as Ctrl is.
2018-06-12 20:32:24 -04:00
Thomas Piccirello
091ad6103e Implement key functions in Class and refactor 2018-06-12 20:32:07 -04:00
Mike Tzou
c66738dc05
Merge pull request #9066 from AltruisticCompany/setlocation
Show current save path in 'Set location' window
2018-06-13 02:46:56 +08:00
Mike Tzou
4100282673
Merge pull request #9073 from Chocobo1/apple
Replace deprecated function on macOS
2018-06-12 12:19:54 +08:00
thalieht
4022799881 Fix coding style 2018-06-12 07:17:05 +03:00
Chocobo1
5b7c089dd2
Move qm_gen.pri 2018-06-11 21:02:45 +08:00
Chocobo1
5d94db9c79
Move .desktop file 2018-06-11 20:01:33 +08:00
Chocobo1
6203f23f06
Move .ico files into icons dir 2018-06-11 20:01:33 +08:00
Chocobo1
26a4703398
Move .qrc files into its own directory 2018-06-11 20:01:33 +08:00
Mike Tzou
c8c7ed4a2e
Merge pull request #9053 from Chocobo1/optionWheel
Disable certain mouse wheel events in Options dialog
2018-06-10 13:06:04 +08:00
Chocobo1
0073f2c8ab
Replace deprecated function on macOS
Closes #8993.
2018-06-09 13:49:20 +08:00
Mike Tzou
da87c2d9ae
Merge pull request #9060 from Chocobo1/preinc
Replace post-increment with pre-increment
2018-06-09 12:40:30 +08:00
Goshik
682ef9e2a8 Show current save path in 'Set location' window
The feature is useful when the user needs to move their torrent to a
sub or parent folder. If more than one torrent is chosen, the path
of the first selected torrent is used. The window was made wider to
allow more convenient editing of long paths.
2018-06-08 18:34:14 +03:00
Chocobo1
5ddbf9bba9
Replace post-increment with pre-increment
And post-decrement with pre-decrement.
2018-06-08 08:44:06 +08:00
Eugene Shalygin
04aea413ba
Merge pull request #9055 from zeule/cmake
Update CMake build scripts
2018-06-07 21:31:09 +02:00
Chocobo1
96819f3798
Disable certain mouse wheel events in Options dialog
The mouse wheel events for QComboBox & QSpinBox widgets in Options
dialog are filtered out.
2018-06-06 15:17:49 +08:00
Eugene Shalygin
fa770871e9 Refactor CMake build scripts
1. Use FeatureSummary module to show configuration results.

2. Invert option()/find_package() relationship: instead of
calling find_package(... REQUIRED) when option is set, rely on optional
find package call and PackageName_FOUND variable.

3. Refactor handling options that result in simple preprocessor defines
(actually copy the snippet from libtorrent) so that everything is done
in a single function call.

4. Populate target properties in order to get rid of
include_directories() calls.
2018-06-05 11:39:11 +02:00
Chocobo1
0b050e2a30
Remove duplicate private sections in class
And group related methods & variables together.
2018-06-05 12:22:32 +08:00
Mike Tzou
40330c4606
Merge pull request #9027 from Chocobo1/cache
Send Cache-Control header in WebUI responses
2018-06-05 01:04:42 +08:00
Mike Tzou
731865427e
Merge pull request #9008 from Chocobo1/changelog
Add changelog URL link in updater
2018-06-04 20:51:18 +08:00
Chocobo1
eaa276b284
Fix WebUI cache behavior for css files
The style.css in public & private folders share the same URI, this
confuses the browser cache, so rename one of them.
2018-06-04 20:50:09 +08:00
Chocobo1
050b78f378
Send Cache-Control header in WebUI responses
Tune the caching time to be shorter, in case there is a program
update.
Change the cacheability to private, as WebUI resources are not intended
to be cached at proxy.
For uncacheable responses, send out "no-store" explicitly to halt
browser caching.
2018-06-04 20:50:08 +08:00
Mike Tzou
5f8feec1c1
Merge pull request #9013 from Piccirello/strengthen-csp
More restrictive Content Security Policy
2018-06-03 21:43:39 +08:00
Vladimir Golovnev
e61c882fee
Merge pull request #9015 from thalieht/style
Fix coding style
2018-06-03 14:48:04 +03:00
Mike Tzou
c4e4e7432d
Merge pull request #9009 from Chocobo1/login
Add logging messages in WebUI login action
2018-06-03 19:47:05 +08:00
thalieht
356d6a6589 Fix coding style 2018-05-31 19:45:09 +03:00
Chocobo1
09f759355f
Replace QRegExp with QRegularExpression
Revise `static` keyword usage, static is added to frequently used
instances.
2018-05-31 22:56:49 +08:00
Chocobo1
c22e6b4502
Cleanup header include order
Add missing header.
Cleanup license.
2018-05-31 22:56:25 +08:00
Chocobo1
5c72a52ea2
Reset WebUI ban counter on login success 2018-05-31 22:55:54 +08:00
Chocobo1
d782d62b34
Add logging messages in WebUI login action 2018-05-31 22:55:54 +08:00
Thomas Piccirello
9b874b8941 Rename variables for clarity 2018-05-31 00:54:57 -04:00
Thomas Piccirello
43656aaa1e Add form-action to CSP
This option restricts all form submissions to the WebUI's origin.
qBittorrent only ever submits forms to the origin, so this is intended as a security measure.
2018-05-31 00:54:57 -04:00
Thomas Piccirello
8f98f87d12 Add upgrade-insecure-requests to CSP when HTTPS is enabled
This option automatically upgrades all http connections to https.
It ensures http urls cannot be accessed when in https mode, and is intended as a security measure.
2018-05-31 00:54:57 -04:00
Mike Tzou
6e96bbb2e9
Merge pull request #9001 from Chocobo1/csp
Improve WebUI security measures
2018-05-31 00:34:21 +08:00
Mike Tzou
93d4f2d595
Merge pull request #8984 from Chocobo1/magnetDialog
Refactor DownloadFromURLDialog
2018-05-30 13:55:42 +08:00
Chocobo1
68c6ddf05d
Add changelog link in program updater
Closes #8997.
2018-05-30 13:54:15 +08:00
Vladimir Golovnev
15153a4446
Merge pull request #8976 from glassez/feed-uid
Don't use RSS feed URLs as base for file names. Closes #8399
2018-05-29 14:30:23 +03:00
Chocobo1
e8d378e167
Improve WebUI security measures
CSP was erroneously disabled in bad4d94f77
when clickjacking protection is off, now it is back.
Also added CSP 'frame-ancestors' directive when clickjacking
protection is enabled.
2018-05-29 13:40:52 +08:00
Chocobo1
ee202b721d
Refactor function 2018-05-29 09:36:08 +08:00
Chocobo1
727800ef2c
Improve DownloadFromURL behavior
URL should be considered case sensitive.
2018-05-29 09:36:08 +08:00
Chocobo1
34ed0cba08
Move DownloadFromURLDialog to its own file
Simplify code, no functionality changes.
Remove debug messages.
Capitalize dialog name.
Capitalize class name.
Update license text.
2018-05-29 09:36:03 +08:00
Chocobo1
817b7bb4f2
Add missing header include 2018-05-29 02:07:55 +08:00
Mike Tzou
1d25d95740
Merge pull request #8953 from Chocobo1/constexpr
Add constexpr to various classes
2018-05-29 00:21:52 +08:00
Mike Tzou
4a51f14328
Merge pull request #8967 from Chocobo1/protect
Add options to control WebUI security measures
2018-05-28 14:21:53 +08:00
sledgehammer999
2ef7adec89
Sync translations from Transifex and run lupdate 2018-05-27 21:01:16 +03:00
sledgehammer999
6ad8d730cc
Bump Web API version 2018-05-27 19:23:25 +03:00
sledgehammer999
a1a6a7ef56
Merge pull request #8868 from Chocobo1/macos
Fix GUI scaling factor on macOS
2018-05-27 17:39:00 +03:00
Vladimir Golovnev (Glassez)
200f4d0f07
Don't use RSS feed URLs as base for file names
RSS feed URLs can be too long and exceed max path limit.
Add RSS feed UIDs and use UIDs as base for file names instead of URLs.
Closes #8399.
2018-05-26 10:37:32 +03:00
sledgehammer999
8a976d40be
Merge pull request #8979 from sledgehammer999/comp_dbus
Fix compilation without D-Bus support
2018-05-25 18:23:45 +03:00
Chocobo1
4751b79f42
Initialize variables properly
The warnings are emitted when compiling on msys2, mingw

The warning was:
gui/torrentcontentmodel.cpp:135:33: warning: missing initializer for
member '_SHFILEINFOW::iIcon' [-Wmissing-field-initializers]

..\..\qBittorrent\src\app\stacktrace_win.h:141:30: warning: missing
initializer for member '_IMAGEHLP_LINE64::Key'
[-Wmissing-field-initializers]
2018-05-25 21:22:31 +08:00
sledgehammer999
80e93e23f9
Fix compilation without D-Bus support
Closes #8977
2018-05-24 17:40:23 +03:00
sledgehammer999
7c6a5afbff
Merge pull request #8962 from sledgehammer999/suppress_errors
Suppress multiple I/O errors for the same torrent
2018-05-24 16:35:03 +03:00
Vladimir Golovnev
935bb5bd1c
Merge pull request #8966 from glassez/rss-date
Use RSS feed update time as a fallback. Closes #8959
2018-05-23 17:20:46 +03:00
Chocobo1
e099f6ad33
Add constexpr to IndexInterval class
Add const to IndexRange private members.
Remove redundant inline specifier.
Add missing parentheses.
2018-05-23 14:30:56 +08:00
Chocobo1
9631a9c2ad
Add constexpr to TriStateBool class 2018-05-23 14:30:56 +08:00
Chocobo1
b38925413d
Improve Utils::Version class
Add operator>=() and operator<=().
More methods are suitable to be constexpr.
Remove redundant boundary checking.
2018-05-23 13:47:41 +08:00
Mike Tzou
cd21071c69
Merge pull request #8954 from Chocobo1/firstlast
Relax behavior of "Download first and last piece first"
2018-05-23 13:26:02 +08:00
Mike Tzou
84df2794dc
Merge pull request #8944 from Chocobo1/literal
Make use of QStringLiteral
2018-05-23 13:23:41 +08:00
sledgehammer999
1bcbe65819
Merge pull request #8908 from adem4ik/master
Update Windows icons
2018-05-22 22:42:41 +03:00
sledgehammer999
b9546ccd4c
Suppress multiple I/O errors for the same torrent
When a file error happens libtorrent spews a ton of `file_error_alert`
which result in log floods and notification balloon floods. The later
might render the program inaccessible because the constant
notifications prevent the user from interacting with the tray icon.

Closes #8934
2018-05-22 21:29:50 +03:00
sledgehammer999
9df6ecafd0
Merge pull request #8961 from sledgehammer999/stats_dialog
Fix Stats dialog size
2018-05-22 20:24:50 +03:00
Chocobo1
9eeef0be97
Add option to control CSRF protection
Some users are using WebUI with simple port-forwarding from their router,
providing an option to control the protection will save them from setting up an
non-trival web proxy.
Closes #7274.
2018-05-22 12:57:03 +08:00
Vladimir Golovnev (Glassez)
4f8ed09183
Add missing 'return' statement 2018-05-21 21:24:02 +03:00
Chocobo1
bad4d94f77
Add option to control WebUI clickjacking protection
Some users actually want embedding WebUI into their custom build iframe.
Closes #7370.
2018-05-22 01:07:25 +08:00
Chocobo1
e8a69dd60c
Update Options dialog layout in WebUI 2018-05-21 23:57:11 +08:00
Vladimir Golovnev (Glassez)
9b80c4f7eb
Use RSS feed update time as a fallback
Some sites omit publication date in its RSS feed articles
that prevents "Ignore Subsequent Matches" to work properly.
Closes #8959.
2018-05-21 15:47:14 +03:00
Vladimir Golovnev
1b14706b08
Merge pull request #8955 from glassez/initial-rename
Rename torrent if content was initially renamed. Closes #8910
2018-05-21 08:04:43 +03:00
Vladimir Golovnev
0aee1cf7d0
Merge pull request #8945 from glassez/rss-rule
Improve code of  RSS auto-downloading rule. Closes #8933
2018-05-21 08:04:12 +03:00
Vladimir Golovnev
12e40ca865
Merge pull request #8948 from glassez/save-path
Add last used save path to the front of history. Fixes #8922
2018-05-21 08:03:29 +03:00
sledgehammer999
b4c1a949cc
Fix Stats dialog size
Partially reverts e31ec20ec4.
Closes #8870.
2018-05-20 23:35:20 +03:00
Vladimir Golovnev (Glassez)
a54f57611c
Rename torrent if content was initially renamed
Closes #8910.
2018-05-19 20:21:21 +03:00
Vladimir Golovnev (Glassez)
3be945a401
Add last used save path to the front of history 2018-05-19 19:43:01 +03:00
Chocobo1
95b19ec303
Relax behavior of "Download first and last piece first"
Now it applies the setting to all files in torrent, no matter whether
the file is previewable or not.

Torrent client shouldn't be smart by deciding which file this
option will be applied to, i.e. it should just follow the user's decision.
2018-05-19 21:48:13 +08:00
Chocobo1
da75a010c7
Refactor code
Add const to variables.
Add Logger message.
Simplify code logic.
2018-05-19 21:48:13 +08:00
Chocobo1
eb72b9ca7d
Simplify the saving & loading of a setting
Remove excessive usage of constexpr.
2018-05-19 20:56:43 +08:00
Vladimir Golovnev
c29e5c76dc
Merge pull request #8936 from surfernsk/master
Fix open destination folder with Nautilus > 3.28. Closes #8923
2018-05-19 15:06:03 +03:00
Vladimir Golovnev (Glassez)
53b9bcaaac
Place "Use Smart Episode Filter" more correctly 2018-05-19 14:52:38 +03:00
Vladimir Golovnev (Glassez)
844f76c2ca
Make "Ignoring days" to behave like other filters
This prevents confusing in GUI when it shows matched RSS
articles which be really ignored by the rule.
2018-05-19 14:52:24 +03:00
Evgeny Lensky
c7601d7a43 Fix open destination folder with Nautilus > 3.28
Closes #8923.
2018-05-19 18:45:26 +07:00
Mike Tzou
07c15127ba
Merge pull request #8915 from Chocobo1/runext4
Improve "Run External Program" behavior
2018-05-19 14:58:45 +08:00
Vladimir Golovnev (Glassez)
256f6954c5
Improve code of RSS auto-downloading rule
Closes #8933.
2018-05-18 13:26:04 +03:00