Commit graph

9631 commits

Author SHA1 Message Date
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
Chocobo1
e3b9659fb8
Fix seeding failed after creating a new torrent
Closes #11252.
2019-09-19 16:50:31 +08:00
Mike Tzou
3971bf2d58
Merge pull request #11250 from Chocobo1/warning
Improve error messages for url_seed_alert
2019-09-19 11:11:30 +08:00
Chocobo1
4d00435209
Improve error messages for url_seed_alert
Closes #10119.
2019-09-18 15:02:59 +08:00
Vladimir Golovnev
19c70fd659
Merge pull request #11235 from glassez/retry-fetch-rss
Allow to retry fetching RSS feeds. Closes #11168
2019-09-16 09:58:44 +03:00
Mike Tzou
209831d3b0
Merge pull request #11103 from Piccirello/webui-explicit-export
Move JavaScript code into explicit namespaces
2019-09-16 13:31:29 +08:00
Chocobo1
fccbc5318a
Drop logging level to warning for web seed errors 2019-09-15 14:55:16 +08:00
Chocobo1
bab953298b
Escape HTML in comment field 2019-09-15 14:41:07 +08:00
Chocobo1
f1243871b0
Remove redundant HTML escaping
The text widget is already set to plaintext and doing HTML escaping will
not give us more security but only makes it harder to read.
2019-09-15 14:40:34 +08:00
Mike Tzou
12c127b482
Merge pull request #11227 from Chocobo1/alert
Handle "alerts dropped" alert from libtorrent
2019-09-15 13:02:34 +08:00
Thomas Piccirello
9804a2e06a Fix typo 2019-09-14 18:25:46 -07:00
Thomas Piccirello
1439bcc864 Move JavaScript code into explicit namespaces
This cleans up the global namespace by explicitly exporting shared values. All html and JavaScript files have been converted to use explicit exports except for client.js and mocha-init.js
2019-09-14 18:24:53 -07:00
Vladimir Golovnev (Glassez)
cf6e721b00
Allow to retry fetching RSS feeds 2019-09-14 11:33:03 +03:00
Vladimir Golovnev (Glassez)
73ef69526d
Allow to cancel download request 2019-09-14 11:31:07 +03:00
Chocobo1
edcc74c1ae
Add option to align file to piece boundary when creating new torrent
Alignment is achieved by adding dummy pad files between files which is
handled by libtorrent.
Closes #10460.
2019-09-14 12:16:50 +08:00
Chocobo1
5e1e983928
Handle "alerts dropped" alert from libtorrent 2019-09-14 12:09:13 +08:00
Chocobo1
0a959bcbe7
Clean up SettingsStorage::save()
Also it should return `true` when `m_dirty` is `false`.
2019-09-08 15:03:25 +08:00
Chocobo1
e7e5ee1ea2
Add const to TransactionalSettings class functions 2019-09-08 14:38:14 +08:00
Chocobo1
daf52a2610
Avoid double lookups 2019-09-08 14:28:38 +08:00
Mike Tzou
d2c21ce507
Merge pull request #11195 from Chocobo1/mac
Replace deprecated macro
2019-09-07 11:58:23 +08:00
Mike Tzou
ee8b99ffd5
Merge pull request #11201 from Chocobo1/watcher
Treat .magnet file extension as case insensitive in filesystem watcher
2019-09-07 11:58:10 +08:00
Mike Tzou
f3b4fb8600
Merge pull request #11154 from ClemPera/patch-1
Remove max character limit of location path
2019-09-07 11:55:29 +08:00
Chocobo1
7113174593
Treat .magnet file extension as case insensitive
Closes #11200.
2019-09-06 12:30:50 +08:00
Chocobo1
17e4902519
Don't define variable when not building GUI 2019-09-05 20:40:47 +08:00
Chocobo1
0d5b0b9542
Replace deprecated macro
Q_OS_MAC is deprecated and the replacement is Q_OS_MACOS.
2019-09-05 20:16:18 +08:00
Chocobo1
9dc3b18178
Fix filename validation on non-Windows OS
Closes #11191.
2019-09-05 20:05:21 +08:00
Chocobo1
2396ef5bd6
Move error logging of adding peers to the proper place 2019-09-04 16:09:24 +08:00
Chocobo1
3104291734
Add check for null pointer
Fix up d657c87243.
2019-09-03 22:26:41 +08:00
Mike Tzou
18369f6c21
Merge pull request #11171 from Chocobo1/webui
Conditionally disable port input field
2019-09-03 12:13:16 +08:00
Mike Tzou
4363082173
Merge pull request #11104 from Chocobo1/resume
Fix unable to remove web seeds
2019-09-03 12:12:56 +08:00
Chocobo1
60994df8d0
Conditionally disable port input field
Disable port input when "Use different port on each startup" option is selected.
This follows the behavior in GUI.
2019-09-01 22:55:57 +08:00
Chocobo1
2a66bb3127
Construct QHostAddress more efficiently 2019-09-01 22:33:01 +08:00
Clément Pera
f42b10f3b6 Remove max character limit of location path
I removed the maxlength attribute because we couldn't modify the location path when it has more than 100 characters.
2019-09-01 08:02:49 +02:00
Chocobo1
4aab44e779
Always save info dict when saving fastresume
Otherwise torrents loaded from fastresume won't have it and needs
to redownload it from elsewhere and slowing down the startup process.
This is also required for the future where we will drop loading the
`info` dict from .torrent files.
2019-08-31 22:59:33 +08:00
Chocobo1
d657c87243
Fix unable to remove web seeds
As suggested in post [1] we don't need to assign the `ti` field anymore when fastresme
already contains the `info` dict.

[1]: https://github.com/arvidn/libtorrent/issues/3946#issuecomment-523300003
2019-08-31 22:52:22 +08:00
Mike Tzou
2d13f87ba4
Merge pull request #11145 from Chocobo1/qpixmapcache
Setup pixmap cache in a proper place
2019-08-31 11:50:09 +08:00
Mike Tzou
ee8a7beb41
Merge pull request #11143 from Chocobo1/updater
Move "Check for program updates" checkbox out of Advanced settings
2019-08-30 14:55:55 +08:00
Chocobo1
7e0daf1663
Setup pixmap cache in a proper place
There is no need to reset the cache limit to previous value as
QPixmapCache is an application wide cache.
Also raise the cache size to 64MB.
2019-08-30 14:51:27 +08:00
Chocobo1
47b9d8dbc6
Clean up Application class constructor 2019-08-30 14:51:07 +08:00
Mike Tzou
62a3938480
Merge pull request #11085 from Chocobo1/model
Better on-demand reloading of torrent data
2019-08-30 12:45:57 +08:00
Chocobo1
eb784b0d2e
Move "Check for program updates" checkbox out of Advanced settings 2019-08-29 06:15:20 +08:00
Chocobo1
b921d96f4b
Use Q_ASSERT() to check invariants 2019-08-29 06:07:44 +08:00
Chocobo1
72d1d5d2dd
Cut down number of signal emits 2019-08-28 18:38:26 +08:00
Chocobo1
60df790b82
Initialize pointers
Fixup aeabd2d625.
2019-08-28 13:08:36 +08:00
Mike Tzou
7ce26435bd
Merge pull request #11126 from Chocobo1/addedTime
Fix wrong "added on" date
2019-08-28 12:04:23 +08:00
Chocobo1
09503b58fa
Clean up loadTorrentResumeData() 2019-08-27 15:01:50 +08:00
Chocobo1
f3ce76110b
Simplify code
Instead of using dict_find_list() now we use the simpler dict_find()
since we are going to check its validness anyway.
2019-08-27 15:01:50 +08:00
Chocobo1
3a11c23efd
Fix wrong "added on" date
This only happens for magnet links when its metadata has yet to be retrieved.
Closes #11124.
2019-08-27 15:01:50 +08:00
Chocobo1
0891cd4878
Avoid unecessary copying the parameter
Using forwarding reference here so that we won't get unnecessary copies
of the parameter passed to `slot`, for example a lambda function.
2019-08-27 14:30:03 +08:00
Chocobo1
aeabd2d625
Clean up PeerListWidget class 2019-08-27 14:30:03 +08:00
Mike Tzou
5c7f9530ee
Merge pull request #11060 from Chocobo1/tracker
Improve embedded tracker
2019-08-22 12:18:56 +08:00
Mike Tzou
62a2374f49
Merge pull request #11105 from Chocobo1/activity
Handle invalid time activity properly
2019-08-22 12:18:18 +08:00
Mike Tzou
53ec25df28
Merge pull request #11099 from thalieht/rssdotstoicon
Use FileSystemPathEdit in automated rss downloader
2019-08-22 12:17:53 +08:00
Chocobo1
8d0d8e4dcb
Improve embedded tracker
Now it conforms to BEPs more closely.
2019-08-21 18:05:50 +08:00
Chocobo1
fba72f5fb7
Simplify code 2019-08-21 17:46:11 +08:00
Chocobo1
bbecf87292
Handle invalid time activity properly
When there is no activity before m_nativeStatus.last_upload will be 0
and this commit will map it to -1 which retain the expected behavior as
before (libtorrent < 1.2 era).
2019-08-21 17:45:04 +08:00
thalieht
e26573d97f Use FileSystemPathEdit in automated rss downloader 2019-08-20 15:34:51 +03:00
Thomas Piccirello
7047974132 Extract WebUI localStorage access into class 2019-08-18 23:58:11 -07:00
Chocobo1
863c9f9876
Speed up lookup operation in TransferListModel
Previously lookup is O(n), add operation is O(n), remove operation is
O(n).
Now lookup is O(1), add operation is O(1), remove operation is O(n).
n is the number of torrents already recorded.
2019-08-19 11:33:14 +08:00
Chocobo1
9c964cdd97
Fix using out-of-bounds of indexes 2019-08-18 20:00:54 +08:00
Chocobo1
e3483c62ca
Remove explicit conversion to QVariant 2019-08-18 20:00:43 +08:00
Chocobo1
1f3bf75fff
Better on-demand reloading of torrent data 2019-08-17 15:44:16 +08:00
Chocobo1
94f7a095bb
Implement proper equal operators 2019-08-16 01:35:41 +08:00
Chocobo1
f907328bdc
Add const to class function 2019-08-14 20:29:01 +08:00
Chocobo1
230949ee3b
Cache and reuse detected MIME type 2019-08-14 17:51:19 +08:00
Chocobo1
b34d90df0b
Fix translation issues
By using disambiguation field instead of comment field to differentiate
translations.
2019-08-13 12:20:23 +08:00
Mike Tzou
8555629128
Merge pull request #11057 from Piccirello/fix-pref-saving
Don't save preferences until all options are processed
2019-08-13 11:41:54 +08:00
Mike Tzou
c15e8752ed
Merge pull request #11053 from Piccirello/refactor_misc
Simplify WebUI function implementation
2019-08-13 11:41:35 +08:00
Vladimir Golovnev
2cac830749
Merge pull request #11054 from Piccirello/tom_organize_assets
Organize WebUI assets
2019-08-12 14:50:36 +03:00
Vladimir Golovnev (Glassez)
e649559650
Allow to refresh RSS item(s) via WebAPI 2019-08-12 07:39:23 +03:00
Tom Piccirello
bed143cafa
Don't save preferences until all options are processed 2019-08-11 13:44:18 -07:00
Thomas Piccirello
085ae05f19 Move WebUI views into separate folder 2019-08-10 22:14:08 -07:00
Thomas Piccirello
f214dd233b Rename WebUI content files 2019-08-10 22:14:01 -07:00
Thomas Piccirello
b3f9b9e9b2 Rename WebUI toolbar files 2019-08-10 22:13:56 -07:00
Thomas Piccirello
3f8f9a3962 Remove html tags from inline page
This page's content is inserted into the existing page, so the presence of an <html> tag is incorrect.
2019-08-10 22:09:58 -07:00
Thomas Piccirello
feb1570c48 Simplify function implementation 2019-08-10 22:08:15 -07:00
Vladimir Golovnev
2d28f50acd
Merge pull request #10928 from Piccirello/webui-search-filter
Support exclusions in WebUI table filters
2019-08-10 21:46:11 +03:00
Mike Tzou
767f024585
Merge pull request #7475 from thalieht/ratiosuperseed
Add option to enable Super Seeding mode once ratio/time limit is reached. Closes #7160.
2019-08-10 11:33:09 +08:00
thalieht
1f6f1716ad Enable Super Seeding mode once ratio/time limit is reached 2019-08-09 13:06:34 +03:00
Chocobo1
6ac36368cd
Update user agent string 2019-08-09 13:12:11 +08:00
Chocobo1
0b6c1694b4
Update python installer URL 2019-08-09 12:47:52 +08:00
Mike Tzou
2427f5d324
Merge pull request #11041 from Chocobo1/splitRef
Revise operations in TorrentHandle class
2019-08-09 12:27:44 +08:00
Mike Tzou
2f28365bfa
Merge pull request #11040 from Chocobo1/options
Clean up GUI code
2019-08-09 12:27:14 +08:00
Chocobo1
8d6b9b6181
Revise sort model and delegate code 2019-08-08 22:17:18 +08:00
Chocobo1
061219d0a2
Simplify code 2019-08-08 21:25:28 +08:00
Chocobo1
c420ff29af
Revise operations in TorrentHandle class 2019-08-08 18:57:54 +08:00
Chocobo1
b5b678c58f
Replace QString::split() by faster alternatives 2019-08-08 18:57:54 +08:00
Chocobo1
c61116882b
Clean up TransferListModel class 2019-08-08 13:15:47 +08:00
Chocobo1
dcf632b39c
Remove redundant margin properties
Those are the same with the default values.
2019-08-08 13:15:47 +08:00
Chocobo1
672b44acba
Let OS assign listening port
This applies when "Use different port on startup" option is selected.
2019-08-08 13:14:25 +08:00
Chocobo1
c19f8f6b5e
Use a randomized port number for the first run 2019-08-08 13:14:23 +08:00
Mike Tzou
1eeac90a29
Merge pull request #11027 from airium/sort-name
Sort torrent names case-insensitively in webui
2019-08-08 13:02:19 +08:00
Mike Tzou
f31bcc384e
Merge pull request #11030 from qbittorrent/webui-increase-window-height
Increase WebUI window heights
2019-08-08 13:01:38 +08:00
Vladimir Golovnev (Glassez)
6bfa4370b7
CMake: Fix Windows build 2019-08-06 21:50:39 +03:00
airium
2ded6dc636
Sort torrent names case-insensitively in webui 2019-08-06 21:13:36 +08:00
Thomas Piccirello
6b1481d328 Increase WebUI window heights
Using a max height of 600px to avoid unnecessarily tall windows.
2019-08-06 01:48:31 -07:00
Thomas Piccirello
b829a0c687 Support exclusions in WebUI table filters
Closes #10241
2019-08-05 22:55:36 -07:00
Mike Tzou
c65c40a5cb
Merge pull request #11020 from Piccirello/remove_workaround
Remove Qt bug workaround
2019-08-06 10:17:52 +08:00
Mike Tzou
7f1bff4eb4
Merge pull request #11017 from Chocobo1/apictrl
Improvements to APIController class
2019-08-06 10:17:27 +08:00
Mike Tzou
2b617b0e71
Merge pull request #11010 from Chocobo1/qvector
Replace QList by QVector
2019-08-06 10:16:28 +08:00
Mike Tzou
7d598b18ca
Merge pull request #10158 from Piccirello/webui-peers-table
Add ability to add and ban a peer from the Web UI
2019-08-06 10:16:09 +08:00
Mike Tzou
733da5ffdb
Merge pull request #10153 from Piccirello/webui-files-table
Display files hierarchically in Web UI content tab
2019-08-06 10:15:22 +08:00
Chocobo1
d92bf13706
Use a QString directly instead of QStringList 2019-08-05 20:56:16 +08:00
Chocobo1
e90a2c00a5
Replace QList by QVector 2019-08-05 20:56:15 +08:00
Thomas Piccirello
378504de2b Remove Qt bug workaround
The Qt bug is fixed in 5.7.1, while we require Qt >= 5.9.0.
2019-08-05 01:27:47 -07:00
Thomas Piccirello
0fa28f233f Add ability to add and ban a peer from the Web UI 2019-08-05 01:12:59 -07:00
Chocobo1
f4e7b8c6bf
Replace QMap with QHash 2019-08-05 09:51:39 +08:00
Chocobo1
c004a84f84
Avoid redundant actions/conversions
QSet::contains(QSet &) isn't doing anything magical it still has the usual loop
inside, so lets just save all the container conversions and do the loop ourselves.
2019-08-05 09:51:38 +08:00
Chocobo1
a3ca277eaf
Avoid back and forth string conversions 2019-08-05 09:42:38 +08:00
Thomas Piccirello
60a1835813 Display files hierarchically in Web UI content tab 2019-08-04 16:02:41 -07:00
Chocobo1
2346bc8f7c
Replace obsoleted QDateTime::toTime_t() 2019-08-01 23:19:21 +08:00
Chocobo1
cfe83275d3
Avoid redundant data copy by using JSON objects directly 2019-08-01 23:18:50 +08:00
Chocobo1
f6ee96ed83
Replace QVariantMap by QVariantHash 2019-07-31 23:48:41 +08:00
Chocobo1
7f300b757f
Use C++11 uniform initialization 2019-07-31 23:48:41 +08:00
Chocobo1
bad588a749
Move data keys into anonymous namespace and sort them 2019-07-31 23:48:41 +08:00
Chocobo1
25a94ee60a
Avoid redundant data conversions and lookups 2019-07-31 23:48:41 +08:00
Mike Tzou
c0fc4e6d90
Merge pull request #10993 from Piccirello/adjust-verbiage
Adjust wording to sound more natural
2019-07-31 14:24:58 +08:00
Mike Tzou
3811612f80
Merge pull request #10982 from Chocobo1/cleanup
Code base cleanup
2019-07-31 14:24:42 +08:00
Chocobo1
c1659a189b
Fix messed up symbols in log 2019-07-31 02:10:22 +08:00
Chocobo1
3ab2fe907f
Remove Windows XP remnants 2019-07-31 02:10:22 +08:00
Chocobo1
cdb0db02f9
Replace obsoleted QSysInfo functions 2019-07-31 02:10:22 +08:00
Chocobo1
25c56d3b66
Make use of Utils::Misc::loadWinAPI 2019-07-31 02:10:22 +08:00
Chocobo1
5c015d573b
Forward declare types as much as possible 2019-07-31 02:10:22 +08:00
Tom Piccirello
eaa700791b
Adjust wording to sound more natural 2019-07-29 00:31:09 -07:00
Mike Tzou
45690967a0
Merge pull request #10970 from Piccirello/webui-search-context-menu
Add context menu to Web UI search table
2019-07-29 12:01:18 +08:00
Mike Tzou
fd17b9bbf0
Merge pull request #10988 from Chocobo1/qbext
Fix incomplete file extension not applied for new torrents
2019-07-29 11:17:38 +08:00
Chocobo1
38fa6d2aee
Fix incomplete file extension not applied for new torrents 2019-07-28 13:05:46 +08:00
Chocobo1
7ab3479a34
Replace static_cast by qOverload 2019-07-26 22:32:18 +08:00
Chocobo1
ee0d2d2220
Move fspathedit_p to private folder 2019-07-26 22:32:18 +08:00
Chocobo1
ca44b40222
Move variables to the proper scope 2019-07-26 22:32:18 +08:00
Thomas Piccirello
c17d653544 Fix WebUI removing parameters from magnet links
Closes #10939
2019-07-26 03:18:16 -07:00
Thomas Piccirello
65dfec9acf Minor refactor on WebUI download page 2019-07-26 03:17:33 -07:00
Thomas Piccirello
6ea6e52d99 Add context menu to Web UI search table
Web UI implementation of #10852.
2019-07-26 02:54:11 -07:00
Thomas Piccirello
35ebd9a095 Default WebUI search tab to enabled
Search plugins and categories are now retrieved when the Search tab is first switched to. This prevents possible unnecessary instantiation of the SearchPluginManager.
2019-07-26 02:53:09 -07:00
Thomas Piccirello
e0037b819a Always send paths with '/' as file separator 2019-07-26 01:03:22 -07:00
Chocobo1
19b8a52e44
Add helper function to convert to fixed-point string 2019-07-25 13:17:14 +08:00
Chocobo1
60faba60ea
Add availability column
Closes #1632.
2019-07-25 13:17:14 +08:00
Chocobo1
9d88dd2604
Rename class variables 2019-07-24 22:22:02 +08:00
Chocobo1
ccec50e18e
Improve parsing in BitTorrent::PeerAddress::parse 2019-07-24 22:22:02 +08:00
Mike Tzou
cf47342cec
Merge pull request #10527 from fusioneer-GitHub/webui_tags
Implement tag management for WebUI
2019-07-24 22:07:31 +08:00
Vladimir Golovnev
02ab77053e
Merge pull request #10961 from glassez/fastresume
Save updated resume data for completed torrents
2019-07-23 18:47:30 +03:00
Mike Tzou
ce81103398
Merge pull request #10839 from Piccirello/gui-files-table-file-size
Update remaining size of ignored files to 0
2019-07-23 22:57:32 +08:00
Vasiliy Halimonchuk
7fb1e07b39 Remove unused variables 2019-07-23 13:31:50 +03:00
Vasiliy Halimonchuk
80d1c48f0d Fix typos 2019-07-23 13:31:49 +03:00
Vasiliy Halimonchuk
fe0fb3a251 Refactor var to let/const or this 2019-07-23 13:31:43 +03:00
Vasiliy Halimonchuk
b530e19a44 Implement tag management for WebUI 2019-07-23 13:30:11 +03:00
Vladimir Golovnev
cf2e7d77d6
Merge pull request #10950 from glassez/drop-deprecated
Don't use deprecated libtorrent features
2019-07-23 09:19:15 +03:00
Vladimir Golovnev (Glassez)
4021a0c7ce
Store libtorrent native file index in QHash 2019-07-23 06:43:39 +03:00
Vladimir Golovnev (Glassez)
3d70ebfc46
Save updated resume data for completed torrents
If fastresume data was rejected we need to save updated
resume data after torrent finishes rechecking.
2019-07-23 06:32:13 +03:00
Vladimir Golovnev (Glassez)
ad6a40d5f4
Extract PeerAddress class into separate file 2019-07-23 06:27:35 +03:00
Vladimir Golovnev (Glassez)
b822d2c380
Fix requested torrent resume data handling
Session should increase an appropriate counter each time
the torrent resume data is requested to save.
2019-07-22 14:22:26 +03:00
Thomas Piccirello
1b23a27acb Update remaining size of ignored files to 0
Also fixes a bug where ignoring the last item within a folder wouldn't recalculate the folder's size
2019-07-21 12:51:35 -07:00
Vladimir Golovnev (Glassez)
60ffa3030e
Don't use deprecated libtorrent features 2019-07-21 19:28:28 +03:00
Mike Tzou
4f06c091c9
Merge pull request #10949 from Chocobo1/inject
Prevent command injection via "Run external program" function
2019-07-21 12:05:02 +08:00
Chocobo1
a610c8567e
Prevent command injection via "Run external program" function
Closes #10925.
2019-07-20 17:42:09 +08:00
Chocobo1
4a90716843
Add override keyword to functions 2019-07-19 11:58:56 +08:00
Chocobo1
752d4b85ea
Remove compiler warning flags
Apperently nobody care about those warnings so just remove them and let
other more important warnings stand out.
2019-07-18 14:54:51 +08:00
Mike Tzou
7f3291c3de
Merge pull request #10942 from Chocobo1/cpp
Move implementation to its own file
2019-07-18 14:06:00 +08:00
Mike Tzou
937c5be4a9
Merge pull request #10931 from Piccirello/webui-mobile-longpress
Add WebUI support for triggering context menus on mobile
2019-07-18 14:01:44 +08:00
Chocobo1
07263d2d70
Move implementation to its own file 2019-07-18 00:30:44 +08:00
Mike Tzou
1e70c52e7a
Merge pull request #10934 from Chocobo1/delete
Rely on Qt ownership to delete class members
2019-07-17 12:02:30 +08:00
Vladimir Golovnev
620e1be5a7
Merge pull request #10914 from jagannatharjun/icon-provider
Incorporate GuiIconProvider inside UIThemeManager
2019-07-17 04:39:51 +03:00
Chocobo1
7a5e883cd2
Revise inline keyword usage
And let compiler decide whether to inline functions.
2019-07-16 18:42:55 +08:00
Chocobo1
f6f8aaf3db
Put internal function into anonymous namespace 2019-07-16 18:42:26 +08:00
Chocobo1
f993230582
Use uniform initialization 2019-07-16 18:42:26 +08:00
Chocobo1
e74b984a0a
Rely on Qt ownership to delete class members 2019-07-16 18:42:26 +08:00
Thomas Piccirello
6af01cfcbe Add WebUI support for triggering context menus on mobile 2019-07-16 02:21:36 -07:00
Thomas Piccirello
f441d561a2 Refactor duplicate code 2019-07-16 01:37:35 -07:00
Prince Gupta
8267a4fef9 Incorporate GuiIconProvider inside UIThemeManager 2019-07-16 09:31:33 +05:30
Mike Tzou
7071c5bda0
Merge pull request #10927 from Piccirello/webui-right-click
Move WebUI copy actions under a submenu
2019-07-16 11:17:55 +08:00
Mike Tzou
a887e1c295
Merge pull request #10926 from Piccirello/webui-protocol-handler
Move registering WebUI magnet handler behind toolbar option
2019-07-16 11:17:24 +08:00
Vladimir Golovnev
17541b0d34
Merge pull request #10921 from glassez/ignore-actions
Ignore some actions on uninitialized torrents
2019-07-15 08:44:42 +03:00
Thomas Piccirello
ba40719d76 Move WebUI copy actions under a submenu 2019-07-14 20:25:11 -07:00
Mike Tzou
e1d073bc6d
Merge pull request #10877 from jerrymakesjelly/advanced-preferences
Add advanced options in WebUI
2019-07-15 10:11:09 +08:00
Mike Tzou
94e2c44840
Merge pull request #10918 from Chocobo1/trackers
Various code clean up
2019-07-15 09:59:45 +08:00
Thomas Piccirello
1c3c81db99 Fix missing parenthesis
Introduced in #9995.
2019-07-14 17:41:11 -07:00
Thomas Piccirello
324d20d42c Move registering WebUI magnet handler behind toolbar option
Alert the user if the operation fails due to lack of browser support
2019-07-14 17:40:42 -07:00
Vladimir Golovnev (Glassez)
87d98403f4
Don't break torrent checking 2019-07-14 12:34:50 +03:00
Vladimir Golovnev (Glassez)
9462685c78
Ignore some actions on uninitialized torrents
Some actions can lead to an inconsistent state if applied
to an uninitialized torrent, so we just ignore them.
2019-07-14 12:34:28 +03:00
Vladimir Golovnev
b9da9ebfdf
Merge pull request #10910 from glassez/fix-add-torrent
Avoid race conditions when adding torrent
2019-07-14 10:45:05 +03:00
Chocobo1
7b568b07e6
Clean up CMakeLists.txt 2019-07-13 19:55:13 +08:00
Chocobo1
032883e278
Move LineEdit files out of subfolder 2019-07-13 19:46:53 +08:00
Chocobo1
23ebb3134b
Move QLabels out of class 2019-07-13 19:38:37 +08:00
Chocobo1
cc663746eb
Forward declare some classes 2019-07-13 19:38:37 +08:00
thalieht
e917c371d9 Use camelCase for a few WebUI vars 2019-07-13 14:04:16 +03:00
thalieht
7b31868e3c Rename priority to queue in the context of torrents 2019-07-13 14:04:16 +03:00
Vladimir Golovnev (Glassez)
644dc9792d
Avoid race conditions when adding torrent 2019-07-13 12:06:07 +03:00
Zhaoyu Gan
07649f713e Add advanced options in WebUI 2019-07-13 14:41:26 +08:00
Chocobo1
599bfc0735
Use Qt object ownership to handle QShortcut deletions 2019-07-13 13:24:27 +08:00
Chocobo1
662e1e6134
Clean up code in TrackerListWidget class 2019-07-13 12:53:26 +08:00
Chocobo1
b55c6a360a
Implement tri-state checkbox action in menu
The new TriStateAction class is an improvement of the old one in the
sense that:
1. Have public method to set states.
2. Can connect to the usual Qt slots.
3. Draws checkbox at the correct offset (where QAction draws) in menu
   and better handling of mouse clicking and keyboard navigating.
2019-07-12 19:57:31 +08:00
Mike Tzou
0aa6f39db0
Merge pull request #10867 from airium/master
Avoid word wrap in webui footer
2019-07-12 11:00:23 +08:00
Mike Tzou
24932f6cb6
Merge pull request #10895 from Chocobo1/tracker
Add dialog to mass edit torrent's tracker
2019-07-12 10:59:50 +08:00
Chocobo1
8eabaf5eb2
Replace QList by QVector 2019-07-11 12:10:19 +08:00
Chocobo1
9e7f50517e
Add "Tracker entries" dialog 2019-07-11 12:10:19 +08:00
Mike Tzou
51fa98aa0b
Merge pull request #10702 from jagannatharjun/qss-styling
Allow Styling through QSS
2019-07-10 19:32:19 +08:00
Prince Gupta
a24925c858 Allow styling with QSS stylesheets 2019-07-09 19:56:55 +05:30
Vladimir Golovnev (Glassez)
9399b876eb
Fix torrent checking issues
Start all torrents auto-managed to prevent simultaneous checking
of multiple torrents.
Handle checking state of paused torrent to prevent it from being
resumed when qBittorrent is closed until checking isn't complete.
2019-07-09 08:54:50 +03:00
Chocobo1
b9094ff8a5
Use proper log message when there are no error 2019-07-05 23:46:12 +08:00
Chocobo1
664cfe7d69
Fix torrent properties not saved for paused torrents 2019-07-05 23:46:12 +08:00
Chocobo1
c4dbe84832
Use newer libtorrent API 2019-07-05 23:46:12 +08:00
Chocobo1
ed2199b91c
Add "File pool size" option 2019-07-03 18:06:07 +08:00
Chocobo1
6286bc716c
Add "Socket backlog size" option
The default value in libtorrent is 5 which is too small nowadays.
The new default value 30 is chosen to be in line with
QTcpServer::maxPendingConnections().
2019-07-03 17:36:56 +08:00
Chocobo1
73cf3fb68f
Use LogMsg() helper 2019-07-02 22:34:22 +08:00
Mike Tzou
4b25f87859
Merge pull request #10874 from Chocobo1/qt
Replace obsoleted Qt functions
2019-07-02 10:57:06 +08:00
Chocobo1
e6c448aa4f
Replace obsoleted QProcess::finished(int)
It is replaced by QProcess::finished(int, QProcess::ExitStatus).
2019-07-01 19:08:37 +08:00
Chocobo1
4eff268095
Replace obsoleted QFontMetrics::width()
Qt 5.13 marked QFontMetrics::width() obsolete.
2019-07-01 14:48:53 +08:00
Vladimir Golovnev (Glassez)
c7f3693ad1
Implement "Application instances manager" 2019-06-30 20:02:46 +03:00
Mike Tzou
c0557c296a
Merge pull request #10865 from Chocobo1/libt
Use newer libtorrent API (part 4)
2019-06-29 15:28:12 +08:00
airium
b389650465
Avoid word wrap in webui footer 2019-06-29 01:15:59 +08:00
Chocobo1
2bc91fba3e
Use newer libtorrent API 2019-06-28 20:36:31 +08:00
Chocobo1
46ee193cd8
Restrict QLocalServer access
The default is world access which means even even unprivileged local
accounts can connect to it too.
2019-06-28 09:40:21 +08:00
Chocobo1
6119cb370f
Drop suspiciously large data
This is to avoid exhausting system memory.
2019-06-27 20:29:02 +08:00
Mike Tzou
cd654d61fd
Merge pull request #10852 from Chocobo1/menu
Improvements to search widget
2019-06-27 10:49:38 +08:00
Chocobo1
da2bfd2457
Replace QList by QVector 2019-06-26 20:30:07 +08:00
Chocobo1
5b9b5ce577
Remove buttons from search widget
These buttons are replaced by right-click menu actions.
2019-06-26 20:30:07 +08:00
Chocobo1
4f5302adf8
Add more copy field actions to search widget
Closes #10250.
2019-06-26 20:30:07 +08:00
Chocobo1
d0bfe9a661
Adjust open file descriptor limit on startup
This raises qbt's open file descriptor limit to the available maximum
(within user privileges) and thus users don't need to adjust it
manually anymore.
2019-06-26 14:08:43 +08:00
Chocobo1
26ff9150a2
Rename label in search widget 2019-06-26 10:52:13 +08:00
Chocobo1
af5af0ad3f
Remove unused lambda capture 2019-06-25 16:12:51 +08:00
Chocobo1
32a861fd1b
Add right click menu to SearchJobWidget 2019-06-25 16:12:51 +08:00
Chocobo1
cf89c2f5bf
Properly deallocate actions when menu closed
Fixup 3748b995ff.
2019-06-24 11:02:35 +08:00
Chocobo1
412e326cf2
Avoid allocating a new menu/action manually 2019-06-24 11:02:35 +08:00
Chocobo1
04e7b3f6d2
Move copy actions under a submenu 2019-06-24 11:02:34 +08:00
Chocobo1
0b1b3c1f84
Use numeric_limits instead of constants from C
In C++, using numeric_limits is more idiomatic compared to using constants.
2019-06-23 11:16:58 +08:00
Chocobo1
75c80c3716
Remove limits of "Disk cache expiry interval" setting 2019-06-22 17:13:26 +08:00
Chocobo1
042cd4267f
Remove upper limit of "Disk cache" setting 2019-06-22 17:13:24 +08:00
Mike Tzou
1831f71cc4
Merge pull request #10833 from Chocobo1/invokeMethod
Use functor based QMetaObject::invokeMethod
2019-06-22 11:24:47 +08:00
Mike Tzou
17c601e8b8
Merge pull request #10835 from Chocobo1/exec
Avoid creating unnecessary event loops
2019-06-22 11:24:20 +08:00
Mike Tzou
5e76f7d699
Merge pull request #10838 from Piccirello/webui-rename-char-encoding
Fix WebUI encoding of special characters
2019-06-22 11:23:44 +08:00
Prince Gupta
ece70daaa5 Fix CMake Windows compilation 2019-06-21 18:05:19 +05:30
Tom Piccirello
368fbd9e7d
Fix encoding of special characters
Special characters would get html encoded (& -> &amp;). This has been tested against several payloads (e.g. <script>alert(0)</script>) to ensure it's not vulnerable to XSS.
2019-06-20 22:15:32 -07:00
Chocobo1
11fdf91196
Suppress compiler warning
The debug message is emitting a format mismatch warning.
Fixup 4880dc812c.

And add curly brackets to if statement.
2019-06-21 00:32:12 +08:00
Chocobo1
88c3ffbef8
Avoid creating unnecessary event loops
This is part 2.
2019-06-20 11:42:54 +08:00
Chocobo1
e31c1ca780
Use functor based QMetaObject::invokeMethod 2019-06-20 11:36:38 +08:00
Chocobo1
4880dc812c
Use appropriate type 2019-06-19 18:52:24 +08:00
Chocobo1
516c968373
Support year unit in userFriendlyDuration() 2019-06-19 18:52:24 +08:00
Chocobo1
1de4c2497c
Fix wrong "Time Active" value displayed
Closes #9612.
2019-06-19 18:52:24 +08:00
Chocobo1
19f50a363d
Fix crash when removing phantom tags
Normally a tag is stored in both session and torrent's fastresume.
A phantom tag is a tag that is stored in fastresume but not in
session.
This crash can occur when user resets his config file and choose
to remove tag from torrent.

Closes #10569.
2019-06-19 18:52:24 +08:00
Chocobo1
e83019bdfa
Set wheel event to accepted only if we handle it 2019-06-19 18:52:24 +08:00
Chocobo1
a6c5a90630
Remove redundant variable 2019-06-19 18:52:24 +08:00
Chocobo1
3b015db77d
Add comparison operators for ProxyConfiguration 2019-06-19 18:52:24 +08:00
Chocobo1
623210df58
Improve handleFileErrorAlert error message 2019-06-19 18:52:23 +08:00
Mike Tzou
cfd02a4355
Merge pull request #10786 from Chocobo1/dialog
Avoid creating unnecessary event loops
2019-06-19 11:02:09 +08:00
Vladimir Golovnev (Glassez)
8e65317d61
Rename "fromNativePath" to "toUniformPath"
Unlike "toNativePath" which name clearly reflects the function result
"fromNativePath" has no such clear meaning.
Since this function converts path into uniform format "toUniformPath"
is better name.
2019-06-17 15:55:49 +03:00
Chocobo1
3748b995ff
Avoid creating unnecessary event loops
The `exec()` method will create another event loop and transfer
control over there which might introduce unexpected bugs.
2019-06-17 20:44:57 +08:00
Mike Tzou
206bb018dd
Merge pull request #10801 from Chocobo1/timeout
Add WebAPI session timeout settings
2019-06-17 00:18:01 +08:00
Mike Tzou
46d445d042
Merge pull request #10792 from Chocobo1/rename2
Remove empty leftover folders after rename properly
2019-06-16 12:22:22 +08:00
Chocobo1
a64f3bbc6a
Reorder if conditions slightly 2019-06-15 19:08:24 +08:00
Chocobo1
9893a415c0
Fix updated save path not saved for paused torrents 2019-06-15 19:08:23 +08:00
Chocobo1
7d860b6c24
Log save_resume_data_failed_alert 2019-06-15 19:08:23 +08:00
Chocobo1
4e87aebf55
Don't remove parent directories
QDir::rmpath removes *all* parent directories while QDir::rmdir removes
the specified directory.
2019-06-15 19:08:23 +08:00
Chocobo1
440860c4a9
Properly remove empty leftover folders after rename
TorrentInfo::origFilePath will return the very original path from
.torrent file, not the most recent file path before the rename operation
and thus the code would not be working as we expected.
2019-06-15 19:08:23 +08:00
Chocobo1
89124bdcc8
Add WebAPI session timeout settings
Raise default timeout to 1 hour.
2019-06-15 18:57:19 +08:00
silverqx
3e97793ef1
Focus behavior row in Options dialog 2019-06-13 17:31:54 +02:00
silverqx
4f4f435e76
Add zlib version to GUI & stackdump 2019-06-12 08:02:24 +02:00
Mike Tzou
3a0f0c2f58
Merge pull request #10769 from Chocobo1/rename
Fix unable to rename folder on Windows. Closes #9151.
2019-06-10 10:30:01 +08:00
Chocobo1
8191f1498a
Log file rename failed errors 2019-06-09 19:07:43 +08:00
Chocobo1
eabcae1018
Fix unable to rename folder on Windows
The bug occurs when the new path and old path only differ by letter case.
2019-06-09 19:07:43 +08:00
Chocobo1
9c747d3c6d
Move renameSelectedFile(BitTorrent::TorrentInfo &) 2019-06-09 19:07:43 +08:00
Chocobo1
62ccfd37b2
Move renameSelectedFile(BitTorrent::TorrentHandle *) 2019-06-09 19:07:43 +08:00
Chocobo1
5b9ff4a015
Avoid double lookup 2019-06-09 18:56:52 +08:00
Mike Tzou
63b0a5b78c
Merge pull request #10775 from Chocobo1/speed
Misc. improvements
2019-06-09 01:57:20 +08:00
Mike Tzou
370544764e
Merge pull request #10750 from Chocobo1/modal
Fix unable to control add torrent dialogs when opened simultaneously
2019-06-06 23:16:35 +08:00
Mike Tzou
f3c0cc3cee
Merge pull request #10763 from Chocobo1/connect
Use Qt5 connect syntax
2019-06-06 10:18:46 +08:00
Mike Tzou
c95650c4f3
Merge pull request #10752 from thalieht/fw-declare
Forward declare and remove some unused #include
2019-06-06 10:18:26 +08:00
Chocobo1
431e7179ac
Remove redundant variable 2019-06-06 00:20:57 +08:00
Chocobo1
fbd5699786
Use switch statement 2019-06-06 00:15:09 +08:00
Chocobo1
e071c31a4e
Use Qt5 connect syntax 2019-06-05 14:17:44 +08:00
Chocobo1
dc9d0ed76f
Fix unable to control add torrent dialogs when opened simultaneously 2019-06-05 13:24:49 +08:00
Chocobo1
03fdc0e1c4
Remove redundant disconnect()
The dialog is going out-of-scope in these instance and the signal-slot connection will disconnect
automatically.
2019-06-05 13:22:50 +08:00
Chocobo1
014273d7ec
Drop support for "BC Link" format
Fixup 19d6de795c.
2019-06-05 00:42:46 +08:00
thalieht
70f8882f87 Group Qt forward declarations separately from the others 2019-06-04 17:48:55 +03:00
thalieht
9995967fbf Remove some unused #include 2019-06-04 17:48:55 +03:00
thalieht
4370a7eb12 Forward declare in a few places 2019-06-04 17:48:55 +03:00
Vladimir Golovnev
6f6033cf1c
Merge pull request #10754 from glassez/fix-magnet
Disable "Upload mode" when start preloaded torrent. Closes #10751
2019-06-04 10:56:11 +03:00
Vladimir Golovnev (Glassez)
b644d6685f
Disable "Upload mode" when start preloaded torrent 2019-06-04 07:14:21 +03:00
Vladimir Golovnev (Glassez)
4ae4ae3cfc
Fix wrong indentation 2019-06-04 06:55:45 +03:00
Vladimir Golovnev (Glassez)
2c145fa57c
Fix incorrectly set torrent startup flag 2019-06-04 06:53:17 +03:00
Mike Tzou
b8e205c048
Merge pull request #10741 from Chocobo1/limit
Fix speed limit not applying to IPv6 peers
2019-06-04 11:09:16 +08:00
Vladimir Golovnev
ecb4a76db7
Merge pull request #10742 from glassez/fix-rss
Ignore RSS articles with non-unique identifiers
2019-06-03 17:26:57 +03:00
Vladimir Golovnev (Glassez)
68ee071331
Ignore RSS articles with non-unique identifiers 2019-06-02 13:30:00 +03:00
Vladimir Golovnev (Glassez)
d710bbd9ef
Perform more RSS parsing in working thread 2019-06-02 13:29:41 +03:00
Chocobo1
411b956009
Fix speed limit not applying to IPv6 peers
`TORRENT_USE_IPV6` is not used by libtorrent 1.2 anymore.
2019-06-02 15:00:27 +08:00
Mike Tzou
4d92c7e094
Merge pull request #10737 from Chocobo1/time
Use timestamp from alert
2019-06-02 09:40:45 +08:00
Mike Tzou
87dcbbbd23
Merge pull request #10734 from Chocobo1/folder
Use native folder icon in content tree
2019-06-02 09:40:17 +08:00
Chocobo1
3f2ce8a2b7
Remove unused stats_alert handler
Fixup 0fe9cd05c4.
2019-06-01 11:43:00 +08:00
Chocobo1
39830986c2
Use alert's timestamp
This way has better accuracy than running our own timer.
2019-06-01 11:40:23 +08:00
Chocobo1
f52dcc08eb
Use native folder icon in content tree
This icon is used in content tree where all icons should be OS native
and not the ones from qbt.
2019-06-01 10:00:42 +08:00
Chocobo1
49df1cd3c7
Use less operations when building strings 2019-05-31 14:52:08 +08:00
Chocobo1
0fe9cd05c4
Avoid using deprecated stats_alert
From libtorrent doc:
This alert has been superseded by calling post_torrent_updates() regularly on the session object.
2019-05-31 10:58:23 +08:00
Mike Tzou
db88c2d6a5
Merge pull request #10721 from Chocobo1/sort
Fix wrong comparison result
2019-05-31 10:50:55 +08:00
Mike Tzou
683196f916
Merge pull request #10720 from Chocobo1/arrow
Fix arrow too large on macOS
2019-05-31 10:50:29 +08:00
Mike Tzou
bb3634c382
Merge pull request #10711 from Chocobo1/alert
Log performance alerts from libtorrent
2019-05-31 10:50:03 +08:00
Vladimir Golovnev (Glassez)
05fd0b5859
Fix sequential downloading when redirected 2019-05-29 15:50:02 +03:00
Chocobo1
36cf689432
Fix wrong comparison result
The QString::toInt() might overflow when the string is long.

Closes #10706.
2019-05-29 00:03:04 +08:00
Chocobo1
0d9fcb0c1d
Fix arrow too large on macOS
By changing to use natvie UI tree controls.

Closes #10709.
2019-05-28 22:35:22 +08:00
Chocobo1
45bafab4e0
Log performance alerts from libtorrent 2019-05-27 14:46:33 +08:00
Chocobo1
9232dd30dc
Sort function declarations 2019-05-27 09:29:59 +08:00
Mike Tzou
c5430030e3
Merge pull request #10690 from Chocobo1/rtl
Various visual tweaks
2019-05-26 09:23:22 +08:00
Chocobo1
1b0ffd7781
Fix wrong logic
The error is caused by silly copy-paste error.
Fixup 09ff735007.
2019-05-25 14:55:27 +08:00
Mike Tzou
485fdf910e
Merge pull request #10637 from Chocobo1/ngen3
Use newer libtorrent API (part 3)
2019-05-25 14:50:59 +08:00
Chocobo1
09ff735007
Use newer libtorrent API
This commit covers trackerentry.cpp only.
2019-05-25 11:22:57 +08:00
Mike Tzou
ebdf5225a8
Merge pull request #10684 from jagannatharjun/arrow-transfercategory
Replace CheckBox with Arrow in transferlistfilterswidget
2019-05-25 11:21:06 +08:00
Chocobo1
ccbb4576b6
Tweak visuals in Options dialog 2019-05-23 21:27:50 +08:00
Chocobo1
d7afc91975
Avoid combo boxes extending to the right in Options dialog 2019-05-23 21:07:44 +08:00
Prince Gupta
e283026a3c Replace CheckBox with Arrow in transferlistfilterswidget.cpp 2019-05-22 21:08:04 +05:30
Chocobo1
1e029da5ad
Fix search icon placement when using RTL languages 2019-05-22 22:22:12 +08:00
Chocobo1
ed6bb0efdc
Replace QList by QVector for tracker related operations 2019-05-22 12:57:22 +08:00
Chocobo1
802af70e2f
Fix typos 2019-05-19 18:51:09 +08:00
Chocobo1
cb4c53c848
Follow the type used in libtorrent 2019-05-19 18:51:09 +08:00
Chocobo1
e92209475e
Use range-based for loops 2019-05-19 18:51:09 +08:00
Chocobo1
10e1c35998
Avoid unnecessary double lookup 2019-05-19 12:06:18 +08:00
Chocobo1
c75500670d
Use forwarding reference when passing function objects
So instead of passing every function objects by value (a copy is made), now function objects
will be handled properly by reference (for lvalues) or by value (for rvalues).
2019-05-19 12:06:18 +08:00
Chocobo1
6738cdd715
Constify exception references 2019-05-19 12:06:18 +08:00
Chocobo1
e288de7ec1
Forward declare as much as possible 2019-05-19 12:06:18 +08:00
Chocobo1
401bdbf3d9
Remove unused functions 2019-05-19 12:06:18 +08:00
Chocobo1
ff707ea5af
Change splitToViews() return type to QVector 2019-05-19 12:06:18 +08:00
Mike Tzou
3d6dccc689
Merge pull request #10627 from Chocobo1/alg
Improve removeIf() to support other types
2019-05-16 10:45:55 +08:00
Chocobo1
459cdf6071
Fix assertion fail
When fileSize == 0, the second index could be smaller than the first index,
thus trigger the assert check in IndexInterval constructor.

Closes #10611.
2019-05-15 10:22:21 +08:00
Evgeny Lensky
62c72091ce
Change "Add new torrent" dialog to horizontal layout 2019-05-14 11:03:56 +08:00
Chocobo1
c6f3da1097
Improve removeIf() to support set types
We can now replace QMutable*Iterator by removeIf() which usage is more consistent with other
algorithm functions.
2019-05-14 01:26:01 +08:00
Chocobo1
5aaf040300
Remove libtorrentfwd.h 2019-05-13 11:20:42 +08:00
Chocobo1
3955eef50d
Change to lt namespace
Quoting from libtorrent doc:
> In the future, libtorrent will be the alias and lt the namespace name.
2019-05-13 11:20:41 +08:00
Chocobo1
4b263f057d
Use newer libtorrent API
This commit covers session.cpp only.
2019-05-13 11:20:41 +08:00
Chocobo1
677a419f0b
Use upstream defined namespace
`lt` namespace is defined since libtorrent 1.1.6 and our master branch requires >= 1.1.10,
so there is no need to add #if condition for it.
2019-05-13 11:20:41 +08:00
Mike Tzou
6d73a7ef0a
Merge pull request #10618 from jerrymakesjelly/master
Replace Bytes/s with KiB/s in the adding torrent dialogs in WebUI
2019-05-12 13:50:46 +08:00
Vladimir Golovnev
af7d8f6a43
Merge pull request #10514 from Mataniko/rss-enclosure-type
Download RSS "enclosure" element if no proper MIME type is found
2019-05-11 13:31:46 +03:00
jerrymakesjelly
4b9f0a87cd Change the speed unit from Bytes/s to KiB/s
Updated the adding torrent dialogs in WebUI. Closes #10017.
2019-05-11 12:25:07 +08:00
Mike Tzou
ca0dad7356
Merge pull request #10590 from onlined/fix/close-system-tray-blank-screen
Don't turn screen blank when closed to system tray
2019-05-11 12:24:43 +08:00
Chocobo1
bd8d70bf60
Refactor HTTP query parsing 2019-05-09 12:41:30 +08:00
Chocobo1
69d29af097
Fix '+' char not decoded to space correctly
Closes #10606.
2019-05-09 11:17:41 +08:00
Matan Bareket
bd2d636bb5 Download RSS enclosure element if no proper MIME type is found
In the case where an RSS feed doesn't have the "enclosure" element
with type "application/x-bittorrent", fallback to the last enclosure
element which has no "type" attribute.
2019-05-08 13:46:13 -04:00
Mike Tzou
412b51fb3c
Merge pull request #10552 from CoryG89/webui-magnet-handler
Register protocol handler in WebUI for magnet links
2019-05-07 11:12:55 +08:00
Ekin Dursun
c0c2fe247b Don't turn screen blank when closed to system tray
Closes #9240 and possibly #9121, as @zeule suggested here: https://github.com/qbittorrent/qBittorrent/issues/9240#issuecomment-408025722.
2019-05-07 02:08:46 +03:00
Chocobo1
ae793b7395
Use upstream defined namespace alias 2019-05-06 20:26:15 +08:00
Chocobo1
56434fc8b9
Replace obsoleted QDateTime::fromTime_t() 2019-05-06 20:26:15 +08:00
Chocobo1
3f962ba336
Fix displaying invalid creation date
The bug is only observed when using libtorrent 1.2.
2019-05-06 20:26:14 +08:00
Chocobo1
3f10ac55a3
Migrate to update-to-date libtorrent functions 2019-05-06 20:26:14 +08:00
Cory
d49379789a Register protocol handler in WebUI for magnet links 2019-05-05 11:26:17 -07:00
Mike Tzou
3a3dec1707
Merge pull request #10445 from Chocobo1/crash
Work around crashing in Qt networking library
2019-05-03 22:54:25 +08:00
Chocobo1
8aa8b19f37
Fix "Create subfolder" option is not working in WebUI
Closes #10392.
2019-05-02 20:55:50 +08:00
Mike Tzou
2d7b833ae6
Merge pull request #10537 from Chocobo1/template
Minor cleanups
2019-05-01 23:51:23 +08:00
Chocobo1
aaed5f7fe0
Remove unused headers 2019-05-01 11:09:25 +08:00
Chocobo1
375de4f8a6
Replace QMap with QHash when sensible 2019-05-01 11:09:25 +08:00
Chocobo1
44e4a5b13a
Avoid performance penalty from type erasure
On average the affected code path is 0.1% faster and the result binary
is 10 KB smaller.
2019-05-01 11:09:25 +08:00
Mike Tzou
f9ac1d4cd5
Merge pull request #10518 from dzmat/more_graphs
Add 12 hour and 24 hour speed graphs. Closes #9686
2019-04-28 18:57:40 +08:00
dzmat
7de0f9abed Change number of time axis divisions from 5 to 6 for convenience 2019-04-22 00:15:13 +07:00
dzmat
0af17bf7e9 Add 12 hour and 24 hour speed graphs 2019-04-22 00:15:13 +07:00
Chocobo1
49b57904f9
Use a random number for WebUI cache busting
Also fetch qbt version info via WebAPI properly.
2019-04-18 12:31:23 +08:00
Chocobo1
d022457e0c
Use force refresh on WebUI logout
Regardless of the cache header settings, the logout action should never be
allowed to load from cache.
2019-04-17 20:17:26 +08:00
Chocobo1
6e1e7a45a1
Align WebUI login button to the right 2019-04-17 13:34:32 +08:00
Mike Tzou
18be4732b3
Merge pull request #10476 from Piccirello/webui-table-cell-hover
Set title attribute for all WebUI table cells
2019-04-17 13:13:45 +08:00
Thomas Piccirello
238ca03936 Set title attribute for all WebUI table cells
Except the Progress Bar
2019-04-15 22:44:28 -07:00
Mike Tzou
7db2d1b8cf
Merge pull request #10492 from Chocobo1/server
Remove closed connections immediately
2019-04-16 12:25:40 +08:00
Mike Tzou
c7f89f55d0
Merge pull request #10473 from Chocobo1/warning
Fix unsafe type narrowing (MSVC C4267 warning)
2019-04-16 12:23:30 +08:00
Chocobo1
a2a669572c
Use QSet for tracking server connections
We don't need to maintain order between connections so QSet would be more suitable.
2019-04-15 21:35:35 +08:00
Chocobo1
a35b6cc8dd
Remove closed connections immediately
Previously it relied on a timer to drop dead connections but that proved to
be too slow when there is an incoming burst of connections.

Fixes #10487.
2019-04-15 21:35:10 +08:00
Chocobo1
41773a5465
Fix unsafe type narrowing
Appending the warning below:
qBittorrent\src\base/utils/version.h(176): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
qBittorrent\src\base/utils/version.h(185): note: see reference to function template instantiation 'std::array<T,2> Utils::Version<T,2,2>::parseList<StringsList>(const StringsList &)' being compiled
        with
        [
            T=unsigned short,
            StringsList=QList<QByteArray>
        ]
2019-04-15 20:23:26 +08:00
CzBiX
d254a98662 Always use index.html as default page 2019-04-13 18:41:29 +08:00
Mike Tzou
19dfec1e0a
Merge pull request #10464 from thalieht/torrent-size-limit
Increase the download request size limit from 10 to 100 MiB
2019-04-11 10:14:49 +08:00
thalieht
2f3b7642c2 Show user friendly size in error 2019-04-10 11:39:27 +03:00
thalieht
25102b9c5d Increase the download size limit to 100 MiB 2019-04-10 11:39:27 +03:00
Mike Tzou
460b73ebda
Merge pull request #10438 from Chocobo1/timer
Work around the crash occurred in QTimer
2019-04-09 13:53:48 +08:00
Mike Tzou
4a02922bfb
Merge pull request #10458 from Chocobo1/post
Correctly handle '+' sign in x-www-form-urlencoded data
2019-04-09 13:53:12 +08:00
Chocobo1
4bf4313862
Initialize class variable via constructor 2019-04-08 23:29:14 +08:00
Chocobo1
94aeeed95f
Work around the crash occurred in QTimer
See Qt commit:
https://code.qt.io/cgit/qt/qtbase.git/commit/src/corelib/kernel/qtimer.cpp?id=a623fe8d2a60ff333d5779f877e3b20f0e141ff1

Fixes #9985.
2019-04-07 15:13:33 +08:00
Chocobo1
d86a984e25
Correctly handle '+' sign in x-www-form-urlencoded data
Fixes #10451.
2019-04-07 13:58:16 +08:00
thalieht
371a090cec Rename "Prefer encryption" to "Allow encryption"
Because it actually prefers non-encryption but allows it if requested.
2019-04-05 14:18:49 +03:00
Chocobo1
1ea61db1fb
Disable downloading tracker favicons by default
Workaround for a crash in Qt networking library, source:
https://github.com/qbittorrent/qBittorrent/issues/9667#issuecomment-464445025

Closes #9667.
2019-04-05 13:54:40 +08:00
Mike Tzou
e499317695
Merge pull request #10396 from Chocobo1/webui
Document current WebUI browser compatibility
2019-03-26 13:02:14 +08:00
Chocobo1
7e99ce6d7f
Document current WebUI browser compatibility 2019-03-23 12:32:20 +08:00
thalieht
3731a3ea65 Make num enter key work the same as return in searchjobwidget 2019-03-22 20:01:48 +02:00
Vladimir Golovnev
6de02b0f2a
Merge pull request #10373 from glassez/libtorrent-1.2
Add preliminary support of libtorrent v1.2
2019-03-19 06:08:22 +03:00
Vladimir Golovnev (Glassez)
ead078a38e
Add preliminary support of libtorrent v1.2
libtorrent v1.2 should be built with deprecated features enabled.
2019-03-18 15:17:03 +03:00
sledgehammer999
f403fdb2e8
Remove wrong ifdef 2019-03-17 14:15:50 +02:00
Mike Tzou
20f2c86d25
Merge pull request #10214 from AceLewis/master
Remove autocorrect/autocapitalise in WebUI
2019-03-17 15:05:19 +08:00
Mike Tzou
d1b0c230ed
Merge pull request #10366 from Chocobo1/logger
Avoid performance penalty when logger is full
2019-03-17 15:04:53 +08:00
Mike Tzou
05b6865618
Merge pull request #10365 from thalieht/adv-label-links
Add documentation links to some advanced settings
2019-03-15 14:34:33 +08:00
Chocobo1
b7d739ab3f
Fix build error
Apparently the function is not available on Windows platforms.
2019-03-15 14:29:54 +08:00
Chocobo1
cb9a160366
Utilize parent pointer appropriately 2019-03-15 14:29:07 +08:00
Chocobo1
874bc84efc
Remove excessive usage of pointer 2019-03-15 14:29:06 +08:00
Chocobo1
a3019f56b0
Clean up code 2019-03-15 14:29:06 +08:00
Chocobo1
04fd6e9d04
Avoid performance penalty when logger is full 2019-03-15 14:29:06 +08:00
thalieht
4c53447d35 Remove the max half-open connections option from GUI
Its functionality was deprecated long ago.
2019-03-13 21:08:40 +02:00
thalieht
bcfa62cc76 Rename "#" column to "Tier" in the tracker list 2019-03-13 21:08:40 +02:00
thalieht
cccaca0c01 Center align the section labels in advanced settings 2019-03-13 21:08:40 +02:00
thalieht
3fca49e44d Add documentation links to some advanced settings 2019-03-13 21:08:40 +02:00
Vladimir Golovnev
36f6e9b288
Merge pull request #9702 from knackebrot/master
Fix building qbittorrent-nox on Windows
2019-03-13 18:35:44 +03:00
Mike Tzou
c47d6b517a
Merge pull request #10355 from Chocobo1/label
Improve AdvancedSettings::addRow()
2019-03-11 00:25:35 +08:00
Vladimir Golovnev
928ce940c9
Merge pull request #10346 from glassez/download-manager
Improve "Download manager"
2019-03-10 09:13:07 +03:00
Vladimir Golovnev (Glassez)
4ee6a0ba29
Use Qt-provided HTTP redirection handling 2019-03-08 13:06:42 +03:00
Vladimir Golovnev (Glassez)
746916a963
Use DownloadHandler behind the scenes 2019-03-08 13:00:37 +03:00
sledgehammer999
c2d1af9853
Merge pull request #10338 from sledgehammer999/raise_qt5_ver
Raise minimum Qt version to 5.9.0
2019-03-08 00:42:26 +02:00
knackebrot
c7b451b18f Allow headless builds on Windows
Daemonizing is disabled because no direct equivalent exists in win32.
2019-03-07 13:59:10 +01:00
Chocobo1
f9e10616d0
Improve AdvancedSettings::addRow()
1. Add context to connect().
2. Use QLabel in the left table cell, this allows using rich text formatting, such as HTML links.
2019-03-07 16:22:23 +08:00
Mike Tzou
ccd8f3e0f1
Merge pull request #10340 from Chocobo1/move
Move helper functions to Utils::Gui namespace
2019-03-07 15:11:58 +08:00
paolo-sz
1ea7907e09 Add default tooltip "Searching..." on tab creation. 2019-03-05 20:36:49 +01:00
paolo-sz
22835c0350 Avoid crashes on torrent search
qbittorrent closes itself without any error message when a search tab
should be notified of a status change: fixed bad pointer variable catch
in lambda code.
2019-03-05 20:36:49 +01:00
Chocobo1
78b9eafed2
Replace deprecated qt_mac_set_dock_menu() 2019-03-05 17:17:07 +08:00
Vladimir Golovnev (Glassez)
6cb15706f5
Reduce number of DownloadManager signals 2019-03-05 11:28:29 +03:00
Chocobo1
adbd34c795
Move helper functions to Utils::Gui namespace 2019-03-05 14:55:22 +08:00
sledgehammer999
5c63ad3b95
Raise minimum Qt version to 5.9.0 2019-03-04 16:48:49 +02:00
Mike Tzou
4ce3cda676
Merge pull request #10319 from eszlari/patch-1
Linux/Wayland: make window title bar icon work
2019-03-03 12:40:59 +08:00
Mike Tzou
0f1fc7be9d
Merge pull request #10302 from Chocobo1/uptr
Replace QScopedPointer with std::unqiue_ptr
2019-03-02 12:26:14 +08:00
Peter Eszlari
9f250713d2 Linux/Wayland: make window title bar icon work 2019-02-28 22:41:08 +01:00
Chocobo1
3dd969df64
Replace deprecated QSignalMapper class 2019-02-28 12:03:08 +08:00
Chocobo1
c6ae1aa9d9
Replace deprecated QString::null 2019-02-28 12:02:03 +08:00
Chocobo1
6dab93f7fd
Replace deprecated QDesktopWidget class 2019-02-28 12:02:03 +08:00
Chocobo1
c657134344
Replace deprecated QSslSocket::setDefaultCiphers() 2019-02-28 12:01:36 +08:00
Chocobo1
168d3fbdac
Replace deprecated trUtf8() 2019-02-28 12:01:36 +08:00
Chocobo1
c33284fa8c
Add compile flag to show Qt deprecation warnings 2019-02-28 12:01:36 +08:00
Mike Tzou
46bc1d12b9
Merge pull request #10314 from thalieht/const2
More const
2019-02-28 11:33:35 +08:00
thalieht
77aea3c59e Add const to a few pointer arguments 2019-02-25 17:05:15 +02:00
thalieht
ce437817de Make various minor changes 2019-02-25 17:05:15 +02:00
thalieht
89dce36e98 Use uniform initialization on some default arguments 2019-02-25 17:05:15 +02:00
thalieht
8a19a0d4a0 Remove const in declarations' arguments that are passed by value 2019-02-25 17:05:15 +02:00
thalieht
70f1537d9f Add const to almost all remaining vars and arguments that qualify 2019-02-25 17:05:15 +02:00
Chocobo1
e5dca50025
Convert to use private pointer for ui object 2019-02-25 01:22:40 +08:00
Mike Tzou
bb041c0eca
Merge pull request #10292 from Chocobo1/rmInvalid
Load torrent from data directly
2019-02-21 23:18:02 +08:00
Mike Tzou
1c14a08390
Merge pull request #10296 from thalieht/clang-tidy
Some suggestions from Clang-tidy
2019-02-21 23:17:29 +08:00
Chocobo1
5c0d9b7eab
Load torrent from data directly 2019-02-20 00:14:41 +08:00
Chocobo1
5e3fddf456
Replace QScopedPointer with std::unqiue_ptr
These 2 types are very similar and we should prefer the one from C++
standard library, this reduces the number of types in our code base.

Also see:
https://stackoverflow.com/questions/40346393/should-i-use-qscopedpointer-or-stdunique-ptr#comment67966940_40346991
2019-02-18 16:06:40 +08:00
Chocobo1
8fe1ff87f1
Limit DownloadHandler max redirection to 20
Closes #10219.
2019-02-17 22:02:48 +08:00
thalieht
86df25a3e9 Remove some unused stuff 2019-02-16 18:54:18 +02:00
thalieht
8c944bd4e1 Avoid repeating the return type 2019-02-16 18:54:18 +02:00
thalieht
9959a901fe Replace deprecated header 'signal.h' with 'csignal' 2019-02-16 18:54:17 +02:00
thalieht
92a290895b Convert vars into refs to avoid copy construction from const refs 2019-02-16 18:54:17 +02:00
thalieht
400792d18e Use isEmpty() instead of size() for emptiness 2019-02-16 18:54:17 +02:00
thalieht
d8cbc9266a Use 'auto' to avoid duplicating the type name 2019-02-16 18:54:17 +02:00
thalieht
947c7e1d64 Convert to range-based for loop 2019-02-16 16:53:26 +02:00
Chocobo1
409557ef30
Clean up code 2019-02-15 19:47:06 +08:00
thalieht
8a3f942385 Don't use 'else' after return/break 2019-02-13 18:23:25 +02:00
Chocobo1
313a95bdd1
Log DownloadManager SSL errors 2019-02-13 20:09:08 +08:00
Mike Tzou
78ab0e4ba9
Merge pull request #10220 from thalieht/const
Add const to many vars and arguments
2019-02-13 12:11:00 +08:00
thalieht
445adb0ab4 Convert pass-by-value arguments to const refs where applicable 2019-02-12 02:45:55 +02:00
thalieht
ca3ce87e06 Add const to many vars and arguments
Also remove const in declarations' arguments that are passed by value
2019-02-11 20:19:41 +02:00
Mike Tzou
12aea82031
Merge pull request #10273 from Chocobo1/fix
Fix wrong arg placeholder
2019-02-10 13:31:09 +08:00
Chocobo1
79d7ba8205
Fix wrong arg placeholder 2019-02-09 21:26:45 +08:00
Vladimir Golovnev
0413a05246
Merge pull request #10242 from glassez/ordered-recheck
Force recheck multiple torrents one by one. Closes #9120
2019-02-08 08:19:30 +03:00
Mike Tzou
efed3fc78c
Merge pull request #10256 from Chocobo1/license
Add license header
2019-02-08 12:07:08 +08:00
Mike Tzou
c540e57f55
Merge pull request #10227 from Chocobo1/login
Prevent login credential appearing in URL
2019-02-07 13:16:24 +08:00
Mike Tzou
6f0a66ce26
Merge pull request #10255 from Chocobo1/algorithm
Make use of std algorithms and C++14 features
2019-02-07 10:45:40 +08:00
Chocobo1
364a837dbd
Revise comments about C++14 2019-02-05 13:35:54 +08:00
Chocobo1
6d29a3af60
Make use of std algorithms 2019-02-05 13:35:54 +08:00
Chocobo1
f789df7edf
Add license header 2019-02-04 17:28:55 +08:00
Vladimir Golovnev
e9f3e20e67
Merge pull request #10243 from glassez/content-menu
Close context menu when torrent content model is reset. Closes #9522
2019-02-02 21:13:41 +03:00
AceLewis
bfdd674054 Remove autocorrect/autocapitalise from filepaths on WebUI 2019-02-02 13:50:02 +01:00
Chocobo1
4483b72bfd
Move JavaScript code to its own file 2019-02-02 15:00:53 +08:00
Chocobo1
8096e49c24
Display warning when Javascript is disabled 2019-02-02 14:55:08 +08:00
Vladimir Golovnev (Glassez)
5a86c4ac52
Close context menu when content model is reset
Closes #9522.
2019-02-01 18:44:26 +03:00
Vladimir Golovnev (Glassez)
61925f74fd
Force recheck multiple torrents one by one
Closes #9120.
2019-02-01 18:15:54 +03:00
Chocobo1
32474b05c5
Remove mootools lib from login page 2019-02-01 13:38:14 +08:00
Chocobo1
814eef1e56
Fix wrong arg placehoder 2019-02-01 13:38:14 +08:00
Chocobo1
0738b3860b
Prevent login credential appearing in URL
Closes #10221.
2019-02-01 13:38:12 +08:00
Mike Tzou
40eb8a1f4a
Merge pull request #10175 from Chocobo1/cert
Load WebUI certificate & key from file path
2019-02-01 13:37:13 +08:00
Mike Tzou
0facdf3dfb
Merge pull request #10190 from Piccirello/webui-sorted-icon
Fix direction of Web UI sorted column icon
2019-02-01 13:20:54 +08:00
Vladimir Golovnev
5c00d89d57
Merge pull request #10231 from glassez/properties
Improve Properties widget
2019-01-31 12:03:46 +03:00
Mike Tzou
899b0c1104
Merge pull request #10096 from Piccirello/webui-libtorrent-version
Match WebUI About page to GUI
2019-01-31 13:14:46 +08:00
Chocobo1
52de31ac79
Add migration code for WebUI https related change 2019-01-29 12:52:42 +08:00
Vladimir Golovnev (Glassez)
c631dbdaa1
Improve Properties widget
Drop redundant dependencies.
Refresh after BitTorrent session refreshing  (instead of using timer).
2019-01-28 12:42:12 +03:00
Chocobo1
5cdb3b6a2d
Load WebUI certificate & key from file path
This allow users to update certificate & key more easily, i.e. without the need to import them
into qbt.

Closes #6675, #7547, #8315, #8564.
2019-01-28 16:33:48 +08:00
Chocobo1
48d358872f
Cleanup header inclusion 2019-01-28 14:34:13 +08:00
Vladimir Golovnev
5b82b681cb
Merge pull request #10225 from glassez/http-request
Separate URL components before percent-decoding. Closes #9116
2019-01-28 08:46:41 +03:00
sledgehammer999
bb3ad8acd3
Merge pull request #10191 from sledgehammer999/drop_google
Don't query Google for tracker favicons
2019-01-27 22:19:56 +02:00
sledgehammer999
6fdc02f947
Merge pull request #10201 from sledgehammer999/dead_code
Remove leftover tracker authentication code
2019-01-27 22:19:21 +02:00
Vladimir Golovnev (Glassez)
b0446380c6
Separate URL components before percent-decoding
Allow special characters in query string parameters.
Closes #9116.
2019-01-27 15:33:19 +03:00
Mike Tzou
fc534e88a3
Merge pull request #10155 from Chocobo1/exception
Remove exception handling
2019-01-23 13:44:34 +08:00
sledgehammer999
4a414d50f1
Remove leftover tracker authentication code 2019-01-23 02:38:46 +02:00
Mike Tzou
b8def07cd8
Merge pull request #10146 from Piccirello/webui-escape-key
Add Web UI support for escape key
2019-01-22 11:30:50 +08:00
sledgehammer999
009fd0e211
Don't query Google for tracker favicons
It is a bad idea for user privacy to automatically contact a 3rd party
about tracker domains. Especially when the user isn't informed about
this and the 3rd party is Google.

Reverts 1b9882b3a3
2019-01-21 16:15:09 +02:00
Thomas Piccirello
d1dc9a39ae Match WebUI About page to GUI 2019-01-20 18:40:25 -08:00
Thomas Piccirello
86c21baf40 Simplify tab logic 2019-01-20 18:39:15 -08:00
Thomas Piccirello
ece27b84cc Fix wrong element id being used 2019-01-20 16:00:29 -08:00
Thomas Piccirello
81943fb3b0 Fix direction of Web UI sorted column icon 2019-01-20 15:52:38 -08:00
Chocobo1
04227f5a41
Add QBT_APP_64BIT define
Now we use QT_POINTER_SIZE to detect CPU bitness, it has the advantage of applicable to all CPU
architectures not limiting to x86 arch.
2019-01-19 10:14:10 +08:00
Chocobo1
6d7e5f82ae
Include the correct header
And remove the unused ones
2019-01-19 10:06:33 +08:00
Chocobo1
cf4db1b418
Remove useless exception handling 2019-01-19 10:06:31 +08:00
Tom Piccirello
972b8d11fe
Fix broken image link 2019-01-18 17:49:55 -08:00
Mike Tzou
81c09d34ad
Merge pull request #10163 from airium/allow-larger-checking-memory-usage
Allow setting larger checking memory usage in GUI
2019-01-19 01:30:55 +08:00
sledgehammer999
f67ded678c
Merge pull request #10086 from PeterDaveHello/OptimizePNG
Optimize PNG images losslessly with zopflipng
2019-01-17 12:20:07 +02:00
sledgehammer999
2ac7f2defe
Update copyright year 2019-01-17 01:08:51 +02:00
sledgehammer999
6c6d75f607
Mention Swedish translator
Closes #10103
2019-01-17 00:53:38 +02:00
airium
dbca4346aa Allow setting larger checking memory usage in GUI 2019-01-16 14:23:21 +08:00
Mike Tzou
ec90b69c9e
Merge pull request #10061 from Piccirello/webui-cache-bust
Include application version in css/js url for cache busting
2019-01-16 12:32:04 +08:00
Thomas Piccirello
dbaebf4f33 Rename parametrics.js to speedslider.js 2019-01-14 02:00:08 -08:00
Thomas Piccirello
851c02acb0 Capitalize event name 2019-01-14 00:57:24 -08:00
Thomas Piccirello
2f33ecf37b Fix bug where input wouldn't always be focused 2019-01-14 00:57:24 -08:00
Thomas Piccirello
74a772aafb Add Web UI support for escape key 2019-01-14 00:57:24 -08:00
Mike Tzou
2e5c09aeba
Merge pull request #10130 from Chocobo1/svg
Fix icon issues
2019-01-14 10:52:45 +08:00
Peter Dave Hello
eaaf8b8e85 Optimize PNG images losslessly with zopflipng
18 images compressed as below:
dist/unix/menuicons/128x128/apps/qbittorrent.png        | Bin 7736 -> 7674 bytes
dist/unix/menuicons/128x128/status/qbittorrent-tray.png | Bin 7736 -> 7674 bytes
dist/unix/menuicons/16x16/apps/qbittorrent.png          | Bin 986 -> 775 bytes
dist/unix/menuicons/16x16/status/qbittorrent-tray.png   | Bin 986 -> 775 bytes
dist/unix/menuicons/192x192/apps/qbittorrent.png        | Bin 11625 -> 11562 bytes
dist/unix/menuicons/192x192/status/qbittorrent-tray.png | Bin 11625 -> 11562 bytes
dist/unix/menuicons/22x22/apps/qbittorrent.png          | Bin 1169 -> 1163 bytes
dist/unix/menuicons/22x22/status/qbittorrent-tray.png   | Bin 1169 -> 1163 bytes
dist/unix/menuicons/48x48/apps/qbittorrent.png          | Bin 2995 -> 2960 bytes
dist/unix/menuicons/48x48/status/qbittorrent-tray.png   | Bin 2995 -> 2960 bytes
dist/unix/menuicons/72x72/apps/qbittorrent.png          | Bin 4321 -> 4288 bytes
dist/unix/menuicons/72x72/status/qbittorrent-tray.png   | Bin 4321 -> 4288 bytes
dist/unix/menuicons/96x96/apps/qbittorrent.png          | Bin 5712 -> 5624 bytes
dist/unix/menuicons/96x96/status/qbittorrent-tray.png   | Bin 5712 -> 5624 bytes
src/icons/loading.png                                   | Bin 178 -> 174 bytes
src/icons/skin/mascot.png                               | Bin 21876 -> 21084 bytes
src/icons/skin/splash.png                               | Bin 59072 -> 58581 bytes
src/icons/sphere.png                                    | Bin 277 -> 250 bytes
2019-01-13 17:10:45 +08:00
Vladimir Golovnev
7e98035df5
Merge pull request #10136 from glassez/drop-old-libtorrent
Drop support of libtorrent < 1.1.10
2019-01-12 09:44:24 +03:00
Vladimir Golovnev
198034f976
Merge pull request #10145 from glassez/drop-legacy-webapi
Drop legacy WebAPI support
2019-01-11 17:41:53 +03:00
Vladimir Golovnev (Glassez)
6d6af8e70d
CMake: Check for required libtorrent version 2019-01-11 15:13:33 +03:00
Vladimir Golovnev (Glassez)
302c99d7d5
Drop support of libtorrent < 1.1.10 2019-01-11 15:13:17 +03:00
Mike Tzou
b7091cf9a4
Merge pull request #10006 from Piccirello/webui-tables
Allow WebUI Trackers and Content tables to be manipulated
2019-01-11 14:10:27 +08:00
Chocobo1
a8ba5bda79
Update WebUI img to use svg images 2019-01-11 13:53:32 +08:00
Chocobo1
6f34afce21
Fix speed limit icon too large on WebUI
Closes #10127.
2019-01-11 13:51:46 +08:00
Chocobo1
83d4641a4d
Fix misaligned icons in STATUS list in GUI
The 2 changed icons has different width/height ratio than other icons in STATUS list, thus
they take more width than others when rendered in GUI.
2019-01-11 13:51:46 +08:00
Vladimir Golovnev (Glassez)
2ce3aa9731
Drop legacy WebAPI support 2019-01-10 20:16:06 +03:00
Mike Tzou
77fc731dec
Merge pull request #10125 from Chocobo1/boost
Replace boost::function with std::function
2019-01-07 22:02:05 +08:00
Chocobo1
b7627db98c
Remove unused headers 2019-01-06 19:19:57 +08:00
Chocobo1
06e82d10f6
Replace boost::function with std::function 2019-01-06 19:19:57 +08:00
Chocobo1
d013e0922d
Use the proper Qt type 2019-01-06 18:32:01 +08:00
Thomas Piccirello
f0e67cbb53 Remove excanvas from WebUI
Excanvas adds Canvas support to IE 8 and lower, which we no longer support.
2019-01-04 23:48:17 -08:00
Mike Tzou
d7c561df6b
Merge pull request #10106 from Chocobo1/js
Various fixes in WebUI
2019-01-05 10:45:15 +08:00
sledgehammer999
88295f8075
Merge pull request #10094 from Kolcha/pb-fix
Draw progress bar in Fusion style on macOS systems
2019-01-04 00:31:34 +02:00
sledgehammer999
f4bb65b46e
Optimize svg files using SVGO 2019-01-04 00:24:30 +02:00
Bert Verhelst
9f8f9b6702
Converted remaining icons to svg 2019-01-04 00:24:30 +02:00
Chocobo1
a0f3678163
Fix only the first newline char is replaced
Must use regex to replace all instances of newline chars.
2019-01-04 00:56:54 +08:00
Chocobo1
9289b009b6
Fix missing semicolon in WebUI 2019-01-04 00:56:43 +08:00
Thomas Piccirello
28fa5a895c Allow WebUI Content tab to be sorted 2019-01-03 00:34:59 -08:00
Thomas Piccirello
06edabb9be Encode torrent name before passing in URL 2019-01-03 00:34:59 -08:00
Thomas Piccirello
26a9af850b Move WebUI Peers code to separate file 2019-01-03 00:34:59 -08:00
Thomas Piccirello
a5266c7018 Prevent WebUI tables from being highlighted 2019-01-03 00:34:59 -08:00
Thomas Piccirello
5d114614bb Allow WebUI Trackers table to be manipulated 2019-01-03 00:34:59 -08:00
Mike Tzou
f3c65f34b6
Merge pull request #10075 from Chocobo1/login
Add autocomplete attribute to WebUI
2019-01-03 14:15:11 +08:00
sledgehammer999
6b2a382ab8
Merge pull request #10066 from sledgehammer999/drop_migration_code
Drop upgrade code
2019-01-02 21:42:31 +02:00
Nick Korotysh
bd1856594b
Draw progress bar in Fusion style on macOS systems
Qt has a bug QTBUG-72558, which leads to incorrect progress bar
position, when drawing it in delegate.
Also, since OS X 10.10 Yosemite macOS default style was changed,
and progress bars became very tiny and without text (percentage).
These two cases make qBittorrent look pretty awful, but drawing
progress bar in Fusion style solves both issues.
2019-01-02 10:01:32 +03:00
Mike Tzou
b87987ec89
Merge pull request #10074 from Chocobo1/magneturi
Drop support for "BC Link" format
2019-01-01 23:13:05 +08:00
Chocobo1
2b903fc3d1
Move Utils::Misc::isUrl() function
All usage of this function gets to call Net::DownloadManager eventually.
2018-12-31 20:00:15 +08:00
Chocobo1
6759446639
Cleanup code
Also remove redundant code, it is already handled correctly in subsequent function calls.
2018-12-31 20:00:15 +08:00
Chocobo1
19d6de795c
Drop support for "BC Link" format
The format is marked obsolete on 2009.12.28 and has been replaced by magnet links.

http://wiki.bitcomet.com/inside_bitcomet#bc_link_format_obsoleted_as_of_v117
https://www.bitcomet.com/en/changelog
2018-12-31 20:00:15 +08:00
Chocobo1
d133ccc69f
Add autocomplete attribute to WebUI
This helps the password manager to identify each field and provide
adequate actions.
2018-12-31 19:36:53 +08:00
sledgehammer999
d322e10a83
Merge pull request #10027 from glassez/compile-ts
Compile translations at build time
2018-12-31 11:31:45 +02:00
Mike Tzou
3772968f49
Merge pull request #10076 from Chocobo1/pr_9756
Prevent flickering preview dialog
2018-12-31 13:45:55 +08:00
sledgehammer999
1fff760722
Drop upgrade code 2018-12-31 00:41:17 +02:00
sledgehammer999
6236aee8d5
Merge pull request #10046 from sledgehammer999/translator
Mention more translators
2018-12-30 18:20:53 +02:00
Chocobo1
dd2763d725
Forward declare TorrentHandle 2018-12-29 18:39:54 +08:00
silver
0b47021504
Prevent flickering preview dialog
Avoid instantiation of a preview dialog, when torrent is not
previewable
2018-12-29 18:39:54 +08:00
Thomas Piccirello
877a2a2802 Include application version in css/js url for cache busting
This change forces new versions of all css and js files to be picked up when qBittorrent is updated.
2018-12-28 13:35:49 -05:00
Thomas Piccirello
9197b0a5ea Add version to lib file name. Move parametrics out of lib folder. 2018-12-28 13:34:48 -05:00
Chocobo1
a5c53ff756
Simplify InfoHash, TrackerEntry class internals 2018-12-26 12:04:41 +08:00
Chocobo1
2a84345835
Mark constructors as explicit 2018-12-26 12:04:40 +08:00
sledgehammer999
5b62aaa9f8
Mention more translators
Closes #10043
2018-12-25 14:19:07 +02:00
sledgehammer999
7c172edd50
Sync translations from Transifex and run lupdate 2018-12-24 18:44:53 +02:00
thalieht
d9416299f4 Fix regression on resuming torrents without metadata 2018-12-23 19:23:34 +02:00
Vladimir Golovnev (Glassez)
7b3eed323b
QMake: Compile translations at build time 2018-12-22 16:02:17 +03:00
Mike Tzou
8aa2789ded
Merge pull request #10023 from Chocobo1/html
Change qbt exit message to HTML5
2018-12-21 19:31:59 +08:00
Mike Tzou
25cefee0f8
Merge pull request #9959 from Chocobo1/strict
Use Javascript strict mode
2018-12-20 20:16:39 +08:00
Chocobo1
8dd334dc5d
Change qbt exit message to HTML5 2018-12-19 18:29:00 +08:00
Mike Tzou
8ab94d7704
Merge pull request #9979 from Chocobo1/i18n_bak
Unify translation files loading action
2018-12-19 15:52:48 +08:00
Chocobo1
e98d4e874f
Unify translation files loading action
Since it is possible alternative WebUI could be coded in languages other than English,
WebUI must be able to load user-provided webui_en.qm.
At least one translated string must exist in order to generate an usable .qm file.
2018-12-18 23:14:09 +08:00
sledgehammer999
6f638058d1
Merge pull request #10013 from sledgehammer999/revert_locale
Use configured locale only for translating
2018-12-18 16:28:05 +02:00
Vladimir Golovnev
38f4bea6f1
Merge pull request #9988 from elFarto/master
Keep track of REPACK/PROPER downloads
2018-12-18 08:58:25 +03:00
Stephen Dawkins
70435ab5bf Keep track of REPACK/PROPER downloads
When using the smart episode filter, if the episode contains REPACK and/or
PROPER, these should be stored to prevent it from redownloading a duplicate
episodes.

Closes #9898.
2018-12-17 09:52:12 +00:00
sledgehammer999
3f9300dff4
Sync translations from Transifex and run lupdate 2018-12-17 01:22:33 +02:00
sledgehammer999
b69dd05216
Update WebUI .ts files 2018-12-17 01:16:23 +02:00
sledgehammer999
63cf216550
Use configured locale only for translating
Don't use other aspects of it eg for date formatting. We should depend
on the system locale for all these. The user probably likes it that way,
otherwise he would have changed it.
2018-12-17 00:13:28 +02:00
Mike Tzou
deed457764
Merge pull request #9993 from Chocobo1/referer
Enforce referrer-policy in WebUI
2018-12-14 13:23:04 +08:00
Mike Tzou
eebbf3b1ee
Merge pull request #9981 from Piccirello/webui-torrent-filter
Add torrent name filtering to WebUI
2018-12-14 13:18:29 +08:00
Chocobo1
c1912e17c1
Revise CSP header
The majority of the CSP is tuned for built-in WebUI, it may not be
suitable for alternative UI.

Also add QLatin1String to strings. This code path is called repeatedly,
it is worth adding QLatin1String to squeeze out the last bit of
performance.
2018-12-13 15:31:32 +08:00
Chocobo1
d0886f8db0
Reformat WebUI code 2018-12-12 12:30:39 +08:00
Chocobo1
ba32525b45
Fix errors from using strict mode 2018-12-12 12:09:55 +08:00
Chocobo1
1cb065edc6
Use Javascript strict mode 2018-12-12 12:07:31 +08:00
Thomas Piccirello
7f349732ee Send numeric status without translation 2018-12-11 01:37:33 -05:00
Thomas Piccirello
718f66e6a2 Remove condition for unsupported libtorrent version 2018-12-11 01:37:32 -05:00
Thomas Piccirello
9e1f7a72b7 Simplify map initialization 2018-12-11 01:37:32 -05:00
Thomas Piccirello
33351e3d8d Add WebUI Trackers context menu 2018-12-11 01:37:32 -05:00
Thomas Piccirello
4947b0a44f Add DHT, PeX, and LSD to WebUI Tracker list 2018-12-11 01:37:32 -05:00
Thomas Piccirello
b8e4c6b0be Add additional Tracker columns to WebUI 2018-12-11 00:41:18 -05:00
Thomas Piccirello
dd790d94c9 Use const where appropriate 2018-12-11 00:41:18 -05:00
Thomas Piccirello
c89e9d4354 Reorder and rename Tracker list context menu option
Adds an ellipses to indicate that the Edit option opens a dialog. Also moves Edit to top of the list to convey action's prominence.
2018-12-11 00:41:18 -05:00
Thomas Piccirello
b481787574 Rename Tracker List columns
"Received" renamed to "Peers", "Peers" renamed to "Leeches".
2018-12-11 00:41:18 -05:00
sledgehammer999
cd2c448e6d Bump Web API version 2018-12-11 00:41:18 -05:00
Mike Tzou
cf9d903ba9
Merge pull request #9541 from Piccirello/webui-file-priority
Set priority for multiple files in one WebAPI request
2018-12-11 13:32:53 +08:00
Thomas Piccirello
57e625494b Update Copyright email address 2018-12-10 23:21:09 -05:00
Thomas Piccirello
66015164d7 Fix display bugs in WebUI Files tab. Remove <IE9 support
Priority select boxes would frequently go blank due to an unexpected priority value. On first load, the torrent-scoped file checkbox's state was inconsistent with the state of the torrent's files.
2018-12-10 23:21:09 -05:00
Thomas Piccirello
a44ed9cfd3 Fix incorrect priority value sent from WebUI
Closes #9070.
2018-12-10 23:21:09 -05:00
Thomas Piccirello
c5b8f62780 Set priority for multiple files in one WebAPI request
Closes #6259.
2018-12-10 23:21:09 -05:00
Thomas Piccirello
f27dc977e9 Replace prio namespace with FilePriority enum class 2018-12-10 23:21:09 -05:00
Chocobo1
7fd30fa90f
Enforce referrer-policy in WebUI
This stops leaking private data to other websites via Referrer header.
2018-12-10 22:17:04 +08:00
Mike Tzou
e1f19b7c75
Merge pull request #9986 from Piccirello/webui-peers-columns
Match WebUI Peers table column order to GUI
2018-12-10 12:34:11 +08:00
Mike Tzou
3ff7d16cfc
Merge pull request #9982 from Chocobo1/fixes
Fix TravisCI linux builds
2018-12-10 12:33:51 +08:00
Thomas Piccirello
66f6823965 Add torrent name filtering to WebUI
Closes #721
2018-12-09 11:30:56 -05:00
Vladimir Golovnev
fc08091765
Merge pull request #9940 from glassez/error-msg
Show error message when Session failed to start
2018-12-09 11:16:17 +03:00
Mike Tzou
2eb213e2f9
Merge pull request #9758 from Piccirello/new-search-webui-2
Add Search feature to WebUI
2018-12-09 16:01:21 +08:00
Mike Tzou
c093561532
Merge pull request #9980 from Chocobo1/opensslVersion
Add OpenSSL version to GUI & stackdump
2018-12-09 15:57:33 +08:00
Mike Tzou
0418401ddd
Merge pull request #9976 from Piccirello/fix-js-error
Fix JavaScript error
2018-12-09 15:56:38 +08:00
Thomas Piccirello
f3c1e82199 Match WebUI Peers table column order to GUI 2018-12-09 00:36:43 -05:00
Chocobo1
f13bcbd772
Add OpenSSL version to GUI & stackdump 2018-12-08 12:46:50 +08:00
Thomas Piccirello
a8d5b146be Fetch data less frequently when torrents tab isn't visible 2018-12-07 23:33:15 -05:00
Thomas Piccirello
b7ad751ec3 Add Search tab to WebUI
Closes #859, #8107.
2018-12-07 23:33:15 -05:00
Chocobo1
a137f1493e
Use correct locale to display date 2018-12-08 12:19:56 +08:00
Chocobo1
de437b905b
Fix MSVC C4267 warning
The warning was: "warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of
data"
2018-12-08 12:19:56 +08:00
Tom Piccirello
adcfbf0b8c
Fix JavaScript error
Fixes a JavaScript error caused by the element lookup returning null
2018-12-07 18:41:32 -05:00
Thomas Piccirello
3aeaf6a054 Disallow setting a blank alternative WebUI location 2018-12-07 00:57:59 -05:00
Thomas Piccirello
402715004c Add slow torrent options 2018-12-07 00:55:29 -05:00
Thomas Piccirello
2ebc6a056e Add "Use alternative Web UI" option 2018-12-07 00:55:29 -05:00
Thomas Piccirello
c237accf82 Add "Apply rate limit to peers on LAN" option 2018-12-07 00:55:29 -05:00
Thomas Piccirello
e499e1ba85 Add email "From" option 2018-12-07 00:55:29 -05:00
Thomas Piccirello
abf43b695b Set WebUI download options using set preferences
"Start torrent" and "Create subfolder" are now set depending on the user's set preferences, which matches the behavior exhibited by the GUI.
2018-12-07 00:55:29 -05:00
Thomas Piccirello
7151d6babd Show list of categories on WebUI download page 2018-12-07 00:55:29 -05:00
Thomas Piccirello
a7c2ee3ce6 Hide WebUI text input for custom monitor save locations 2018-12-07 00:55:29 -05:00
Thomas Piccirello
19ccd8c7d3 Add "When adding a torrent" options 2018-12-07 00:55:29 -05:00
Thomas Piccirello
d05cf47169 Add WebUI Auto TMM options 2018-12-07 00:55:29 -05:00
Thomas Piccirello
bf4df54fb8 Replace all line breaks and fix legend code style. 2018-12-07 00:55:29 -05:00
Thomas Piccirello
127e4acb24 Add speed limit icons to WebUI Speed options 2018-12-07 00:55:29 -05:00
Thomas Piccirello
b9229babfc Add WebUI Random port button and proxy unencrypted password notice 2018-12-07 00:55:29 -05:00
Thomas Piccirello
66e3be1579 Replace WebUI Options fixed-width labels
This allows the labels to auto-expand based on the language used, and also removes unnecessary whitespace. Additionally, this results in a look more consistent with the GUI which right-aligns labels.
2018-12-07 00:55:29 -05:00
Thomas Piccirello
99ca872011 Reorder WebUI options to match GUI 2018-12-07 00:52:50 -05:00
Mike Tzou
6bb4eb825b
Merge pull request #9942 from Chocobo1/pbkdf2
Do password hashing properly
2018-12-06 16:22:22 +08:00
Mike Tzou
1eef5b6876
Merge pull request #9373 from FranciscoPombal/checking_mem_usage_adv_settings
Add checking_mem_usage option to AdvancedSettings
2018-12-06 16:20:02 +08:00
Mike Tzou
0ab5b8fcba
Merge pull request #9824 from thalieht/style
Convert all foreach() to range-based for()
2018-12-06 16:19:17 +08:00
FranciscoPombal
74be5d9030
Add checking_mem_usage option to AdvancedSettings 2018-12-06 03:10:24 +08:00
Vladimir Golovnev
de9067d6a3
Merge pull request #9967 from thalieht/mac-start-minimized
Save option to start minimized in Mac
2018-12-05 20:30:51 +03:00
Vladimir Golovnev (Glassez)
89deccd9b5
Show error message when Session failed to start 2018-12-05 19:57:44 +03:00
Chocobo1
593052dd93
Revise startup message in nox version
Only print the WebUI username when password is still the default.
2018-12-05 13:28:43 +08:00
Chocobo1
2c8890bd06
Apply PBKDF2 to GUI lock 2018-12-05 13:28:42 +08:00
Chocobo1
05d6a29416
Apply PBKDF2 when storing passwords 2018-12-05 13:28:42 +08:00
Chocobo1
8a6cac8338
Make OpenSSL a direct dependency 2018-12-05 13:28:42 +08:00
Mike Tzou
eb957bb790
Merge pull request #9953 from Chocobo1/announce
Use ip parameter from tracker request if provided
2018-12-05 11:13:03 +08:00
thalieht
6a21acbf1a Save option to start minimized in Mac 2018-12-04 11:43:32 +02:00
Chocobo1
ede9b1a7c4
Fix typo 2018-12-03 12:06:32 +08:00
Chocobo1
b4564f5f4e
Use ip parameter from tracker request if provided
Closes #9949.
2018-12-03 00:14:15 +08:00
Chocobo1
b56937f5fa
Use QHostAddress for storing IP 2018-12-02 14:18:18 +08:00
Chocobo1
36429887dc
Fix wrong locale used in log message 2018-12-01 20:39:20 +08:00
Chocobo1
297ef52dcb
Fix weekday names translations
Closes #9933.
2018-12-01 20:32:35 +08:00
Chocobo1
0ad831e48a
Fix strings not translated
Closes #9934.
2018-12-01 20:32:34 +08:00
thalieht
1f36b8b89f Combine qAsConst() with copyAsConst() to asConst() 2018-11-28 23:41:23 +02:00
thalieht
6b1d26d555 Convert all foreach() to range-based for() 2018-11-28 23:40:12 +02:00
thalieht
d668a4fe6d Fix coding style for various things 2018-11-28 23:37:35 +02:00
Mike Tzou
5efdd211cc
Merge pull request #9892 from Chocobo1/progress
Code cleanup
2018-11-29 01:16:07 +08:00
Thomas Piccirello
4d3a894bcb Allow tables to be added without a parent panel 2018-11-28 00:21:56 -05:00
Thomas Piccirello
881b692c58 Simplify implementation 2018-11-28 00:21:56 -05:00
Thomas Piccirello
b2f454399c Add ability to pass urls to the webui download page 2018-11-28 00:21:56 -05:00
Chocobo1
0339e6ee35
Clean up code 2018-11-27 22:01:27 +08:00
Vladimir Golovnev (Glassez)
68508ba657
Save torrents queue in separate file 2018-11-27 16:55:45 +03:00
Vladimir Golovnev (Glassez)
e146c2f227
Fix signed/unsigned integers comparison warning 2018-11-27 16:55:44 +03:00
Mike Tzou
a97543d258
Merge pull request #9919 from Piccirello/webui-sidebar
Show ellipsis when WebUI sidebar is too narrow
2018-11-27 21:02:21 +08:00
Mike Tzou
a7c6e873d4
Merge pull request #9889 from Piccirello/instantiate-search
Only instantiate SearchPluginManager as needed
2018-11-27 21:00:46 +08:00
Thomas Piccirello
64c20bf6b2 Allow WebUI sidebar to be collapsed 2018-11-25 15:05:31 -05:00
Thomas Piccirello
2ef16f669b Show ellipsis when WebUI sidebar is too narrow 2018-11-25 14:57:49 -05:00
Vladimir Golovnev
0e8323659e
Merge pull request #9869 from Piccirello/download-bug
Fix WebUI bug on override of Start Torrent option
2018-11-25 06:40:22 +03:00
Mike Tzou
45cfac6c00
Merge pull request #9891 from Chocobo1/i18n
Fix missing words in WebUI
2018-11-24 10:55:13 +08:00
Chocobo1
b79a231d2e
Fix missing words in WebUI
This is because Qt translator returns empty string when the translation
is not provided, now we fallback to the original string from source code.

Closes #9868.
2018-11-23 23:42:20 +08:00
Mike Tzou
70707a2664
Merge pull request #9884 from Piccirello/webui-cookie-samesite
Add SameSite attribute to WebUI session cookie
2018-11-22 10:40:37 +08:00
Thomas Piccirello
4885fe6b4c Only instantiate SearchPluginManager as needed 2018-11-21 16:59:38 -05:00
Thomas Piccirello
cd47380b85 Add SameSite attribute to WebUI session cookie
This attribute prevents the cookie from being submitted on any cross-site request, strongly limiting CSRF.

Closes #9877.
2018-11-20 22:12:24 -05:00
Mike Tzou
d05897c89a
Merge pull request #9859 from Chocobo1/host
Add option for WebUI Host header validation
2018-11-20 12:37:55 +08:00