Tom Piccirello
7974b5a95c
Support sorting Web UI tables via touch ( #15205 )
2021-07-19 14:28:04 +08:00
Vladimir Golovnev
ed4570cb4d
Store minimal metadata for "restore torrent" purposes ( #15191 )
...
We can no longer save valid torrent files in the general case, because
for torrents of version 2, we need a full merkle tree to do it, but if
a torrent is added from magnet link, full merkle tree may not be available
even before the end of downloading all the data. Actually, we don't need
the full torrent file for the purposes of resuming the torrent, so we can
allow libtorrent to produce only a minimal part of the metadata as part
complete resume data, but we still want to store it in a separate file,
so we extract the resulting metadata from the complete resume data before
saving and merge it together before loading.
2021-07-19 07:59:06 +03:00
AbeniMatteo
01d851440b
Add "Forced metadata downloading" state ( #15185 )
2021-07-17 21:33:14 +03:00
AbeniMatteo
e5943b64c1
Add filter "Checking" to side panel ( #15166 )
2021-07-16 14:08:10 +03:00
Kristof Mattei
140e73be4e
Use the URI's setData to set query data ( #15187 )
...
This allows the system to properly encode the '|', instead of passing
the '|' on in the URL, which is not allowed and breaks proxies such as
Authelia.
Then, for the purpose of generalization, I pushed this pattern through
to all places where we join items with a '|'.
This comes with the caveat that when we have individual components which
contain a '|' or any other character that is not allowed per the
HTTP standard, we still like to encode the individual components,
for example in the case of 3 strings, separated by a '|'.
If we don't do this we run into the risk that upon decoding URI finds
'|' in our original strings, which is something we don't want.
For example:
Sender:
````javascript
const arr = ["foo|1", "bar|2"];
const uri = new URI("test.html").setData(arr.join("|"));
````
Then on the receiving window, when it receives the uri and splits it, it
looks like this:
````javascript
const arr = new URI().getData('hashes').split('|');
// arr is now ["foo", "1", "bar", "2"]
````
This is why when we want to send a literal "|" we need to do
`encodeURIComponent` and `decodeURIComponent` manually on each item,
and THEN we join.
For example:
Sender:
````javascript
const arr = ["foo|1", "bar|2"];
const uri = new URI("test.html").setData(arr.map(encodeURIComponent).join("|"));
````
Receiver:
````javascript
const arr = new URI().getData('hashes').split('|').map(decodeURIComponent);
// arr is now ["foo|1", "bar|2"]
````
We don't need to with hashes as they are HEX, so no risk of any weird
characters in there.
2021-07-16 12:53:47 +08:00
Vladimir Golovnev (glassez)
925bf7715c
Disable functions deprecated in Qt 5.15.2 and earlier
2021-07-15 10:56:49 +03:00
Vladimir Golovnev (Glassez)
399d3ad85a
Replace QStringRef with QStringView
2021-07-15 10:56:49 +03:00
Chocobo1
d923c03d52
Merge pull request #15186 from Piccirello/webui-table-keyboard-nav
...
Support navigating Web UI tables with arrow keys
2021-07-13 11:26:50 +08:00
Vladimir Golovnev
699b91ab8d
Properly create "clean path" for watched folder ( #15179 )
2021-07-12 11:44:52 +03:00
AbeniMatteo
abd6eb2ff3
Add context menu to toggle content tab columns ( #15164 )
2021-07-12 13:57:17 +08:00
Thomas Piccirello
32f29e72c6
Support expanding/collapsing Web UI folders with arrow keys
2021-07-11 03:01:31 -07:00
Thomas Piccirello
e76bac4131
Support navigating Web UI tables with arrow keys
...
This allows navigating rows via up/down arrow keys.
2021-07-11 03:01:31 -07:00
Thomas Piccirello
8b94642ab1
Always set Web UI row id as a string
...
This helps ensure consistent behavior when performing rowId comparisons against strings.
2021-07-10 11:50:48 -07:00
Vladimir Golovnev (glassez)
27baa55443
Raise minimum Qt version to 5.15.2
2021-07-09 07:41:13 +03:00
Chocobo1
fd3d4d479a
Suppress type narrowing warning on MSVC
...
Fix up 45e31a153c
.
2021-07-08 14:25:39 +08:00
Chocobo1
4b0a2d050a
Display tooltip for all columns in torrent content widget
...
It is primary useful for showing long file names.
2021-07-08 14:23:30 +08:00
Chocobo1
d85c14864b
Add tooltip for "client ID" column
...
Sometimes the client ID could be quite long and this patch helps showing
it.
2021-07-08 14:22:59 +08:00
Chocobo1
ee696e6f36
Merge pull request #15170 from Chocobo1/tooltip
...
Add tooltip for various columns
2021-07-08 13:01:59 +08:00
Chocobo1
8ec26e9ea9
Don't use old style casts
...
Ref: https://github.com/qbittorrent/qBittorrent/runs/2996702005?check_suite_focus=true#step:8:298
2021-07-07 14:44:39 +08:00
Chocobo1
45e31a153c
Reserve space for vector
2021-07-07 14:20:27 +08:00
Chocobo1
7c23d800e6
Use underlying_type
member directly
...
`LTUnderlyingType` served as a intermediate type for libtorrent 1.1 and
1.2 and is obsoleted now.
Also add helper to convert to underlying type.
2021-07-07 14:19:17 +08:00
Chocobo1
4dbf6af733
Simplify initialization statement
2021-07-07 13:20:13 +08:00
Chocobo1
bdc03b1c75
Add tooltip for various columns
...
Those strings sometimes are quite long and having a tooltip would
save the action of resizing the column width to see the full message.
The WebUI already has it done for all columns.
2021-07-07 13:19:29 +08:00
AbeniMatteo
9bfc74a1bc
Filter torrent info endpoint by tag ( #15152 )
2021-07-05 13:55:49 +08:00
Vladimir Golovnev
5d03917877
Use torrent info with hashes for creating .torrent file ( #15138 )
2021-07-04 09:29:34 +03:00
Vladimir Golovnev (Glassez)
d2f975a0f3
Don't forget to start "watch timer"
2021-07-02 08:34:31 +03:00
Chocobo1
eedd47860a
Merge pull request #15142 from Chocobo1/warning
...
Use proper signed number type
2021-07-01 11:35:04 +08:00
Chocobo1
365554d064
Use proper signed number type
...
This also suppress the compiler warning:
src/base/bittorrent/torrentimpl.cpp:228:36: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]
2021-06-29 18:04:33 +08:00
Chocobo1
70d1cb86fd
Disable move constructor where it is sensible
2021-06-29 14:49:45 +08:00
FranciscoPombal
ccb7c0d579
Raise minimum libtorrent version to 1.2.14 (2.0.4)
...
- Also update vcpkg to latest commit: includes libtorrent 1.2.14,
Qt 5.15.2, and Qt 6.1.1
2021-06-28 23:04:47 +01:00
Andrei Stepanov
5157e4965a
Remove excess space
2021-06-27 13:01:03 +04:00
sledgehammer999
3ffd25f9e1
Bump to 4.4.0beta1
2021-06-26 21:05:44 +03:00
sledgehammer999
665ab34f25
Sync translations from Transifex and run lupdate
2021-06-26 21:03:43 +03:00
Vladimir Golovnev
37f227ae74
Provide v1 and v2 infohashes in UI ( #15097 )
2021-06-25 20:44:23 +03:00
HiFiPhile
f5315d9ba7
Add WebUI reverse proxy source IP resolution ( #15047 )
...
Co-authored-by: qix67
Co-authored-by: HiFiPhile <admin@hifiphile.com>
2021-06-23 09:01:36 +03:00
Vladimir Golovnev (Glassez)
124cc9621d
Delete LoadTorrentParams when load torrent failed
2021-06-22 21:36:42 +03:00
Vladimir Golovnev (Glassez)
3faa7226e7
Handle exception when torrent file cannot be exported
...
Both `lt::create_torrent` constructor and `lt::create_torrent::generate()`
can throw an exception so we need to handle it to prevent the app from crashing.
2021-06-22 21:36:42 +03:00
Vladimir Golovnev (Glassez)
6070b41c9b
Properly add torrent with new tags
...
First, an attempt is made to add new tags to the Session.
Closes #15105 .
2021-06-18 06:29:15 +03:00
Vladimir Golovnev (Glassez)
50ddfea617
Remove lockfile only when last app instance is destroyed
2021-06-18 06:27:33 +03:00
tgregerson
e74ad86f14
Don't close tags menu when toggling items ( #15098 )
...
The issue was resolved by using QAction::toggled signal instead of
QAction::triggered. In QT 5.15+ the latter signal causes a QMenu
to close, whereas the former does not. Closes #13492 .
2021-06-16 17:57:56 +03:00
Vladimir Golovnev (Glassez)
2bd2490539
Disable functions deprecated in Qt 5.14 and earlier
2021-06-16 17:56:40 +03:00
Vladimir Golovnev
5c0378a684
Merge pull request #15029 from glassez/qt-5.14
...
Raise minimum Qt version to 5.14
2021-06-14 16:48:15 +03:00
Dmitry Khlestkov
2bd5aca3a4
Keep sub-sorting order ( #15074 )
...
Fixes #15073
2021-06-14 11:57:50 +08:00
Kacper Michajłow
ccb59fbad3
Suppress C4267 conversion warnings ( #13307 )
...
- warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
Caused by mismatch between size_type of std and Qt containers. It is safe to cast to int as all of those containers hold low number of objects.
2021-06-11 08:51:06 +03:00
Vladimir Golovnev (Glassez)
6c66d02aff
Declare AbstractFileStorage destructor virtual
2021-06-10 09:19:04 +03:00
Vladimir Golovnev (Glassez)
97c7f3bc67
Raise minimum Qt version to 5.14
2021-06-03 08:56:41 +03:00
Chocobo1
2503271a45
Fix main window turns blank after restoring from tray ( #15031 )
...
When restoring from tray icon, although the window manager shows qbt
window but qbt itself didn't handle the event correctly, i.e. the
`show()` was missing and thus qbt did nothing and the window is blank.
Note that at this point the `visible` property is `false`.
After invoking `show()` qbt will start showing the contents and also
fire another showEvent where `visible` property is `true` and here is where
qbt should handle preparations for the window.
Fix #9510 .
2021-05-31 12:19:22 +08:00
LoneDev
d335f263f3
Fix comment typo in algorithm.h ( #15030 )
2021-05-29 11:30:47 +08:00
Vladimir Golovnev
1c34635016
Merge pull request #14993 from glassez/file-error
...
Provide correct error description in "upload mode"
2021-05-28 08:55:53 +03:00
Vladimir Golovnev (Glassez)
b6a35e9477
Don't log any error when "queue" file doesn't exist
2021-05-27 18:27:41 +03:00
Vladimir Golovnev (Glassez)
6aa8251b98
Provide correct error description in "upload mode"
2021-05-27 18:27:40 +03:00
Chocobo1
3b4bf90a13
Merge pull request #15017 from Chocobo1/css_formatting
...
Format and lint CSS code
2021-05-27 14:36:57 +08:00
Chocobo1
42582e21f7
Merge pull request #15016 from Chocobo1/pr_13756
...
Update Mac icons for Big Sur
2021-05-26 11:46:06 +08:00
Chocobo1
af49a4dd5a
Sort CSS properties
2021-05-25 13:20:38 +08:00
Chocobo1
b2081faf87
Remove redundant empty line
2021-05-25 13:20:37 +08:00
Chocobo1
f960934eb9
Merge same selector
2021-05-25 13:20:37 +08:00
Chocobo1
5522725f5d
Remove duplicate property
2021-05-25 13:20:37 +08:00
Chocobo1
9f3d36bab0
Remove useless property
...
The `padding` will override the former `padding-top`.
2021-05-25 13:20:37 +08:00
Chocobo1
87e7085c22
Remove empty block
2021-05-25 13:20:37 +08:00
Chocobo1
d8eac56f5e
Use stylelint for CSS linting
2021-05-25 13:20:37 +08:00
Chocobo1
c20557f690
Use cleaned icons
...
By running svgcleaner over qbittorrent_mac.svg.
2021-05-25 12:09:24 +08:00
Chocobo1
65bdc4cf43
Format CSS code with prettier
2021-05-25 11:26:58 +08:00
Chocobo1
ee79c196df
Use prettier for formatting CSS code
2021-05-25 11:21:39 +08:00
17jiangz1
41682bfcbb
Update Mac icons for Big Sur
...
Add Mac icon vector source.
2021-05-25 10:42:42 +08:00
sledgehammer999
34be8c9213
Merge pull request #14934 from sledgehammer999/translations
...
Update Qt translations and add new qbt translations
2021-05-23 21:59:29 +03:00
brvphoenix
aebb9f89d1
Remove the lockfile on exit ( #14997 )
2021-05-23 14:29:41 +08:00
Chocobo1
40f6201509
Merge pull request #14976 from Chocobo1/options
...
Add `connection_speed` to advanced settings
2021-05-23 14:27:34 +08:00
zhuangzi926
2e8e2b04a1
Announce to all trackers if IP changed ( #15001 )
...
Closes #14545 .
2021-05-23 14:26:54 +08:00
Chocobo1
c64e433a69
Remove unused parameter
2021-05-21 14:44:19 +08:00
Chocobo1
e21f46d824
Avoid data duplication
2021-05-21 14:38:06 +08:00
Chocobo1
ef79546508
Add connection_speed
to advanced settings
...
Now we follow libtorrent current default value 30.
Closes #6973 .
Also bump WebAPI version.
2021-05-21 14:37:57 +08:00
Vladimir Golovnev (Glassez)
2993fdb169
Improve "Watched folders" feature
...
Make "file system watcher" an application core component
and separate it from its presentation model.
2021-05-19 15:42:41 +03:00
Vladimir Golovnev (Glassez)
9565b695ef
Unify custom exceptions
2021-05-18 08:40:05 +03:00
Vladimir Golovnev (Glassez)
89cedd411e
Allow add torrents with relative save path
...
The relative save path will be resoloved against the default one.
2021-05-18 07:43:53 +03:00
Anton
a51742b47c
Add context menu for tabs in search widget ( #14926 )
...
In searchwidget you can close all opened tabs or selected tab using menu. Closes #5628 .
2021-05-17 11:56:21 +08:00
An0n
ea3b897d5d
Bump file pool size ( #14966 )
2021-05-14 08:57:01 +08:00
PriitUring
e432d67b3b
Fix typo "Highlited" ( #14956 )
2021-05-12 05:00:19 +03:00
Chocobo1
ff87958188
Merge pull request #14928 from Chocobo1/atomic
...
Fix potential data race
2021-05-09 11:48:18 +08:00
sledgehammer999
f308cd392b
Merge pull request #14936 from sledgehammer999/bump_grunt_dependency
...
Update grunt dependency
2021-05-08 14:16:46 +03:00
sledgehammer999
e4bea17fb8
Update grunt dependency
...
This fixes CVE-2020-7729
2021-05-07 23:34:57 +03:00
sledgehammer999
2c47cfbe25
Add new languages
...
* Mongolian
* Persian
* Thai
2021-05-07 22:53:13 +03:00
Vladimir Golovnev
511fa37c84
Merge pull request #14927 from thalieht/webui_translate
...
Make some strings in WebUI translatable
2021-05-07 21:10:27 +03:00
Chocobo1
a82ca6adb2
Fix potential data race
...
This case could be considered benign however it could still be an
undefined behavior to the compiler, so remove it.
Ref:
https://hacks.mozilla.org/2021/04/eliminating-data-races-in-firefox-a-technical-report/
2021-05-07 15:50:33 +08:00
Chocobo1
05e3e46f5a
Throw the exact (same) exception
2021-05-07 15:49:19 +08:00
Chocobo1
6d399f0303
Fix typo
2021-05-07 15:49:19 +08:00
Chocobo1
ecebfc34fa
Move initial values to header
2021-05-07 14:51:39 +08:00
thalieht
e86916a7f9
Make some strings in WebUI translatable
...
Closes #14920
2021-05-06 20:49:35 +03:00
Vladimir Golovnev
2f1ec09aef
Merge pull request #14714 from FozzeY/no-parent-priority-menu-on-add
...
Show priority menu at top level if there is no other
2021-05-03 18:11:24 +03:00
sledgehammer999
94195d5339
Sync translations from Transifex and run lupdate
2021-05-02 18:32:42 +03:00
Chocobo1
c9a552c89c
Merge pull request #14861 from Chocobo1/warnings
...
Initialize struct members by default
2021-05-02 11:26:30 +08:00
Vladimir Golovnev (Glassez)
383eaf44ac
Implement DBResumeDataStorage class
2021-05-01 12:30:53 +03:00
Chocobo1
bdf2f6c3e1
Initialize struct members by default
...
This is to suppress the following compilation warnings:
base/bittorrent/magneturi.cpp: In constructor ‘BitTorrent::MagnetUri::MagnetUri(const QString&)’:
base/bittorrent/magneturi.cpp:87:60: warning: missing initializer for member ‘BitTorrent::TrackerEntry::message’ [-Wmissing-field-initializers]
87 | m_trackers.append({QString::fromStdString(tracker)});
2021-04-27 11:48:13 +08:00
Chocobo1
fdc186c92f
Revise tag related implementations
...
Fix #12690 .
2021-04-27 11:47:52 +08:00
Chocobo1
ab6141edb7
Merge pull request #14813 from Kolcha/cmake_mac
...
Set correct minimum macOS version with CMake
2021-04-26 10:02:56 +08:00
Chocobo1
d0dcf53575
Merge pull request #14840 from jagannatharjun/pfix
...
Correctly draw progress background with stylesheet
2021-04-26 10:02:25 +08:00
jagannatharjun
ab906f17de
Correctly draw progress background with stylesheet
...
fixes #14731
2021-04-24 18:04:34 +05:30
Nick Korotysh
28ef33b0a0
Improve Info.plist generation with CMake
...
- drop configure_file() and file(GENERATE) calls
- fill missed MACOSX_DEPLOYMENT_TARGET variable
2021-04-23 20:59:09 +03:00
Vladimir Golovnev
376dedebb1
Merge pull request #14816 from glassez/tracker-entry
...
Improve "tracker entries" handling
2021-04-22 19:03:49 +03:00
Vladimir Golovnev
137c6458f7
Merge pull request #14825 from glassez/upload-mode
...
Correctly handle "no enough disk space" error
2021-04-22 18:43:43 +03:00
Vladimir Golovnev (Glassez)
75e0990eb3
Provide tracker peers count via TrackerEntry
...
Don't expose additional accessor in Torrent interface.
2021-04-21 08:46:05 +03:00
Vladimir Golovnev (Glassez)
62a6c725d6
Don't overwrite tracker message
...
Use one of the tracker endpoint messages.
2021-04-21 08:45:09 +03:00
Vladimir Golovnev (Glassez)
d4554c2e5c
Correctly handle "no enough disk space" error
...
If torrent failed to write, it stops downloading and goes to
"upload mode" instead of errored state so it just keeps seeding.
Now qBittorrent indicates this state as "errored" and allows
the user to manually bring the torrent out of this state.
2021-04-21 08:27:56 +03:00
Chocobo1
d6a398cf2c
Merge pull request #14811 from Kolcha/bundle_name
...
Don't use executable name as CFBundleName value
2021-04-21 11:46:43 +08:00
Chocobo1
6864e13e6f
Show "last activity" value under all circumstances
2021-04-20 10:03:25 +08:00
Nick Korotysh
29e6b229ac
Don't use executable name as CFBundleName value
2021-04-20 01:49:32 +03:00
Chocobo1
cb8d6a0939
Reorder peer flags
...
Now we group related flags nearby.
2021-04-18 12:46:07 +08:00
Chocobo1
e38128119c
Capitalize "peer flags" descriptions
...
And use a helper function to build the descriptions.
2021-04-18 12:45:18 +08:00
Chocobo1
b5a24fd877
Merge pull request #14794 from zhuangzi926/pr-dyndns-register-url
...
Update dyndns register url
2021-04-17 11:44:51 +08:00
Vladimir Golovnev
e1ed5b73d0
Merge pull request #14795 from glassez/file-action
...
Allow to specify file indexes in `torrents/files` API
2021-04-17 06:17:38 +03:00
FozzeY
3e47d26e44
Show priority menu at top level if there is no other
2021-04-17 00:14:18 +03:00
Vladimir Golovnev
e0d17e496a
Merge pull request #14783 from glassez/macutils
...
Don't use "Qt Mac Extras" module
2021-04-16 18:40:40 +03:00
Vladimir Golovnev (Glassez)
6cf99cd0f2
Allow to specify file indexes in torrents/files API
2021-04-16 09:30:07 +03:00
zhuangzi926
c9e2da5f53
Update dyndns register url
2021-04-15 21:41:42 +08:00
Chocobo1
53b7956968
Clean up code
...
and remove unused parameters/variables.
2021-04-15 11:29:22 +08:00
Chocobo1
d13be829c3
Fix D-Bus Notification desktop-entry
field
2021-04-15 11:24:28 +08:00
Chocobo1
e18b2ab437
Regenerate D-Bus notifications related code
2021-04-15 11:24:25 +08:00
Vladimir Golovnev (Glassez)
35032d7eed
Don't use "Qt Mac Extras" module
...
"Qt Mac Extras" module is removed in Qt6.
2021-04-14 15:41:46 +03:00
kevtechxx
7722916fad
Add "Notification timeout" option
2021-04-13 16:22:48 +02:00
Chocobo1
d82a1d7198
Merge pull request #14717 from Chocobo1/ncmp
...
Simplify natural sort classes interface
2021-04-13 14:22:25 +08:00
Chocobo1
a64bb1a990
Simplify natural sort classes interface
...
Now the comparison function/class should be constructed before usage.
This change also make it easier to plug in into various containers which
will require a compare function type (such as std::set).
2021-04-10 14:18:18 +08:00
Chocobo1
2b8e50b296
Merge pull request #14737 from jagannatharjun/revert
...
Revert "Change clamping of update interval of SpeedPlotView::Averager"
2021-04-09 11:34:03 +08:00
Vladimir Golovnev
f97aa05bdb
Merge pull request #14736 from glassez/string-compare
...
Enclose strings in QLatin1String
2021-04-08 10:32:51 +03:00
Vladimir Golovnev (Glassez)
4a68df084e
Enclose strings in QLatin1String
2021-04-08 06:56:40 +03:00
jagannatharjun
3f32b040dc
Revert "Change clamping of update interval of SpeedPlotView::Averager"
...
This reverts commit 435bb34435
.
To achieve what the reverted commit wants, the timing
would need to be taken iteratively rather that cumulatively
fixes #14735
2021-04-07 22:43:36 +05:30
sledgehammer999
21b3c61162
Merge pull request #14575 from sledgehammer999/license_clarification
...
Clarify that the license is GPLv2+
2021-04-07 14:02:59 +03:00
Chocobo1
5045fa6dcd
Merge pull request #14652 from jagannatharjun/speed-plot-view-minor
...
Minor updates to Speed plot view
2021-04-06 11:40:01 +08:00
jagannatharjun
435bb34435
Change clamping of update interval of SpeedPlotView::Averager
...
Don't clamp elapsed time of SpeedPlotView::Averager on resolution. Since
it may cause minor discrepencies across different Averagers with
different resolution for same speed update.
2021-04-04 21:49:57 +05:30
brvphoenix
bb9ca7f418
WebUI: Fix magnet url from the browser
2021-04-03 19:26:17 +08:00
Chocobo1
0b3d088782
Merge pull request #14676 from Chocobo1/watcher
...
Revise folder monitoring functions in WebUI
2021-04-03 13:19:29 +08:00
Vladimir Golovnev
6514eaf565
Merge pull request #14688 from glassez/file-prio
...
Correctly forward declare file_prio_alert
2021-04-02 11:45:50 +03:00
Vladimir Golovnev (Glassez)
f8e7602d96
Correctly forward declare file_prio_alert
2021-04-02 08:29:23 +03:00
Vladimir Golovnev
565aef9637
Merge pull request #14630 from glassez/save-resume
...
Improve ResumeDataStorage
2021-04-02 06:48:32 +03:00
Vladimir Golovnev
825bf8d61e
Merge pull request #14657 from glassez/file-prio
...
Save "resume data" once file priority is changed
2021-04-01 06:32:17 +03:00
Vladimir Golovnev (Glassez)
1344b31535
Improve ResumeDataStorage
2021-03-31 11:56:36 +03:00
Chocobo1
9b8bddf7b2
Revise folder monitoring functions in WebUI
...
Closes #14241 .
2021-03-31 12:04:22 +08:00
Chocobo1
8a087a876e
Clean up code
2021-03-31 11:27:57 +08:00
Chocobo1
f8067aa592
Merge pull request #14645 from Chocobo1/links
...
Remove unnecessary URL encoding
2021-03-31 11:16:45 +08:00
skvenders
2b837381f3
Remove contributor
...
Remove contributor as requested: https://github.com/qbittorrent/qBittorrent/pull/14637#issuecomment-808894421
2021-03-31 11:07:01 +08:00
Vladimir Golovnev (Glassez)
cd6959b712
Save "resume data" once file priority is changed
2021-03-30 19:59:05 +03:00
Vladimir Golovnev
2d1c34d8e0
Merge pull request #14593 from glassez/qt6-compat
...
Make current codebase more compatible with Qt6
2021-03-29 14:00:23 +03:00
sledgehammer999
f6336a6056
Clarify that the license is GPLv2+
...
Regarding this license clarification there are 3 commits of interest
(commits A, B, C). Before commit A the COPYING file contained only the
text of the GPLv2 license, while all source files had a license block
at the top saying that they are under the terms of "GPLv2 or later". With
commit A there was a temporary change to GPLv3. The COPYING file contained
only the text of the GPLv3 license, while all source files had a license
block at the top saying that they are under the terms of "GPLv3 or later".
Then with commit B the COPYING file and the license block of the source
files was reverted to their state before commit A. Afterwards, with
commit C a license summary(or clarification) block was put at the top of
the COPYING file. This block indicated that the license was GPLv2 without
having the "or later" clause and it also included the OpenSSL exception.
However, the license block of each source file continued to contain the
"or later" clause which was not removed. The same license block continues
to exist in all current source files. Thus it is concluded that the ommision
of the "or later" clause with commit C in the COPYING file was accidental.
OR ALTERNATIVELY (OR IN ADDITION)
At the time commit C was made Christophe Dumez was not the sole contributor.
There is no record that the other contributors agreed with the supposed
GPLv2 only change or that there was a Contributor License Agreement,
transfering their rights to him. Thus making his license change decision
invalid/void/illegal.
Commit A: 54f9375b32
Commit B: 8df61db644
Commit C: 9835af4962
2021-03-29 00:08:14 +03:00
Vladimir Golovnev (Glassez)
cd7bdc8998
Use qsizetype instead of int where required by Qt6
2021-03-28 15:08:32 +03:00
Chocobo1
2b7b3c65cc
Move cursor to the next line of end of text
...
Closes #13908 .
2021-03-28 15:41:37 +08:00
Chocobo1
98e02a8fed
Remove unnecessary URL encoding
...
Fix #14635 .
2021-03-28 13:16:34 +08:00
Vladimir Golovnev (Glassez)
a93391e247
Drop QNetworkConfigurationManager usage
2021-03-27 19:44:34 +03:00
Vladimir Golovnev (Glassez)
102cc684dd
Replace Qt Windows Extras features with native ones
2021-03-27 19:43:28 +03:00
Vladimir Golovnev (Glassez)
a230228441
Don't compare bool with int
...
In Qt6 QHash::remove() returns bool to indicate operation status.
2021-03-27 19:29:53 +03:00
Vladimir Golovnev (Glassez)
135cad576c
Don't use removed QApplication attribute
2021-03-27 19:28:00 +03:00
Vladimir Golovnev (Glassez)
561fbf2cca
Don't use removed QTextStream::setCodec()
...
QTextStream encodes as UTF-8 by default.
2021-03-27 19:25:32 +03:00
Vladimir Golovnev (Glassez)
a8127d6102
Use valid event type in QWidget::enterEvent()
2021-03-27 19:23:35 +03:00
Mike Tzou
2f28d3c7b6
Merge pull request #14624 from crackwitz/trackers-dialog-tab-fix
...
Fix tabChangesFocus attribute in "Edit trackers" dialog
2021-03-27 11:14:40 +08:00
Mike Tzou
e59c735331
Merge pull request #14590 from Chocobo1/npm
...
Add WebUI checking to CI
2021-03-26 09:52:32 +08:00
Christoph Rackwitz
e2dbfa9ace
Fix tabChangesFocus attribute in "Edit trackers" dialog
2021-03-26 00:07:09 +01:00
Chocobo1
121ff2b7be
Apply code formatting
2021-03-26 00:27:52 +08:00
Chocobo1
af85a8a340
Add necessary curly brackets
2021-03-26 00:27:52 +08:00
Chocobo1
5fe0e9395f
Don't use Object.prototypes builtins directly
...
See: https://eslint.org/docs/rules/no-prototype-builtins
2021-03-26 00:27:52 +08:00
Chocobo1
1f1cabd144
Remove unnecessary escape character
2021-03-26 00:27:51 +08:00
Chocobo1
c3bab70434
Remove extra semicolon
2021-03-26 00:27:51 +08:00
Chocobo1
1d6af22813
Add tools for js code formatting and linting
...
Due to eslint couldn't correctly resolve the context for the variables,
two eslint rules are disabled for now.
2021-03-26 00:27:12 +08:00
Chocobo1
a50798c78f
Sort invalid QDateTime values after valid values
...
Closes #14607 .
2021-03-25 23:17:06 +08:00
Vladimir Golovnev
379d41b6fb
Merge pull request #14581 from glassez/save-resume
...
Implement BencodeResumeDataStorage class
2021-03-25 07:05:08 +03:00
Vladimir Golovnev (Glassez)
09da6828b8
Use complete types in container declarations
...
Qt 6 disallows to use incomplete types in container declarations
in some cases, e.g. in parameters of signals/slots.
2021-03-24 14:31:28 +03:00
Vladimir Golovnev
9f386afe9c
Merge pull request #14586 from glassez/varhash
...
Don't cause QHash relayout while using reference to its node
2021-03-24 11:37:43 +03:00
Vladimir Golovnev (Glassez)
35dedd3d83
Implement BencodeResumeDataStorage class
...
Implement ResumeDataStorage class as base for all "resume data" storages.
Implement BencodeResumeDataStorage class and put all existing logic of
"resume data" loading/saving there.
2021-03-24 08:59:49 +03:00
Mike Tzou
45c0d5a823
Merge pull request #14587 from Chocobo1/monitor
...
Remove wrong parentheses in WebUI
2021-03-24 12:47:11 +08:00
Vladimir Golovnev
7bc5bfa140
Merge pull request #14583 from glassez/progress
...
Correctly draw progress bar in Qt 6
2021-03-24 07:23:53 +03:00
sledgehammer999
fda6def384
Sync translations from Transifex and run lupdate
2021-03-23 22:57:07 +02:00
Mike Tzou
4bf4d45389
Merge pull request #14504 from treysis/ipv6-outgoing-interfaces
...
Fix bad IPv6 address format for outgoingInterfaces
2021-03-23 18:58:22 +08:00
Mike Tzou
4e8eb2c996
Merge pull request #14570 from brvphoenix/decode
...
WebUI: Avoid decoding strings repeatedly
2021-03-23 18:58:01 +08:00
Chocobo1
e43a9de2f3
Make global functions immutable
2021-03-23 18:53:56 +08:00
Vladimir Golovnev (Glassez)
1a9e97ee3b
Don't cause QHash relayout while using reference to its node
2021-03-23 13:17:36 +03:00
Chocobo1
901fca2d12
Remove wrong parentheses
...
Fix up 87ad8a1495
.
2021-03-23 17:09:24 +08:00
Vladimir Golovnev (Glassez)
c23f8542b2
Correctly draw progress bar in Qt 6
2021-03-23 10:51:13 +03:00
treysis
0189606445
Fix bad IPv6 address format for outgoingInterfaces
...
Fixes https://github.com/qbittorrent/qBittorrent/issues/12892#issuecomment-792292336
2021-03-22 11:23:04 +01:00
Vladimir Golovnev
9b31496b22
Merge pull request #14576 from glassez/save-resume
...
Wrap "resume data" in LoadTorrentParams
2021-03-22 10:24:47 +03:00
Vladimir Golovnev
b9676ac3eb
Merge pull request #14546 from glassez/regexp
...
Use QRegularExpression instead of deprecated QRegExp
2021-03-22 10:14:02 +03:00
Vladimir Golovnev (Glassez)
764aabc459
Wrap "resume data" in LoadTorrentParams
2021-03-22 07:56:17 +03:00
Vladimir Golovnev (Glassez)
61d2ff359b
Use QRegularExpression instead of deprecated QRegExp
...
Now it follows closely the definition of wildcard for glob patterns.
The backslash (\) character is not an escape char in this context.
In order to match one of the special characters, place it in square
brackets (for example, [?]).
2021-03-22 07:50:47 +03:00
Mike Tzou
87ad8a1495
Merge pull request #14554 from thalieht/seeding_time_webui
...
Seeding time in WebUI
2021-03-22 12:08:18 +08:00
Vladimir Golovnev (Glassez)
5d889e4a8f
Drop deprecated code
2021-03-21 13:53:12 +03:00
Vladimir Golovnev (Glassez)
b65a714d17
Save resume data when torrent has done checking
2021-03-21 13:53:05 +03:00
Vladimir Golovnev
ea1c4a8fc8
Merge pull request #14567 from glassez/desktop
...
Clean up the code
2021-03-21 12:57:46 +03:00
brvphoenix
5beb1b2cd0
WebUI: Avoid decoding strings repeatedly
...
Fix #14553
2021-03-21 02:09:53 -07:00
Mike Tzou
f55e0b6775
Merge pull request #14562 from Chocobo1/disable
...
Show progress bar in disabled state for paused torrents
2021-03-21 14:56:39 +08:00
thalieht
d124041726
Allow >100 days in WebUI function "friendlyDuration"
...
Because it's not only used for ETA.
2021-03-20 15:36:08 +02:00
Vladimir Golovnev
7a26a92edd
Merge pull request #14520 from glassez/save-resume
...
Improve "save resume data" handling
2021-03-20 09:10:33 +03:00
Vladimir Golovnev (Glassez)
43c8ac0aa1
Don't use deprecated operators
2021-03-20 09:08:48 +03:00
Vladimir Golovnev (Glassez)
46e6ed480a
Use correct return statement
2021-03-20 09:05:32 +03:00
thalieht
9f30aba2b3
Fix incorrect seeding time string in WebUI General tab
2021-03-19 15:29:08 +02:00
thalieht
560ecbc6c3
Add seeding time to the active time column in WebUI
...
Closes #14526
2021-03-19 15:29:08 +02:00
Vladimir Golovnev (Glassez)
8d9b6cca63
Include missing header
2021-03-19 13:59:04 +03:00
Vladimir Golovnev (Glassez)
3972597163
Include QDesktopWidget header only when needed
2021-03-19 09:23:20 +03:00
Chocobo1
be2cdca1e9
Draw progress bar in disabled style
2021-03-19 13:34:20 +08:00
Mike Tzou
f6ab1d63e8
Merge pull request #14540 from jagannatharjun/remember
...
Remember sub sort column of transfer list
2021-03-19 13:24:24 +08:00
jagannatharjun
cf5e833898
Remember sub sort column of transfer list
2021-03-18 16:50:16 +05:30
Mike Tzou
6ed2e2694f
Merge pull request #14543 from Chocobo1/cleanup
...
Simplify progress bar painting
2021-03-18 11:38:15 +08:00
Vladimir Golovnev (Glassez)
560239c918
Improve "save resume data" handling
2021-03-17 07:31:00 +03:00
Chocobo1
a78929dadf
Simplify progress bar painting
2021-03-17 11:19:08 +08:00
Vladimir Golovnev (Glassez)
349cc54c69
Don't use deprecated QTextCodec
2021-03-16 19:10:10 +03:00
Vladimir Golovnev
a8ae97ba91
Merge pull request #14427 from glassez/qt-5.12
...
Raise minimum Qt version to 5.12
2021-03-14 20:43:39 +03:00
Chocobo1
d74df935f4
Replace parameters in one step
...
This would avoid the unwanted effect of replacing parameter coming from
another parameter.
2021-03-14 14:03:42 +08:00
Vladimir Golovnev (Glassez)
a078633a32
Don't use deprecated features
2021-03-13 15:50:53 +03:00
Vladimir Golovnev (Glassez)
f022458383
Raise minimum supported Qt version to 5.12
2021-03-13 15:33:58 +03:00
Vladimir Golovnev
6139d0d65a
Merge pull request #14525 from glassez/init-status
...
Initialize torrent status from add torrent params
2021-03-13 09:40:18 +03:00
Vladimir Golovnev
86a283b4ae
Merge pull request #14503 from glassez/torrent-id
...
Improve "info hash" handling (step 2)
2021-03-13 09:39:56 +03:00
jagannatharjun
bb39a41e9e
Update comment
2021-03-13 11:39:14 +05:30
Vladimir Golovnev (Glassez)
0c9ecd1d76
Properly show tracker status for "paused" torrents
2021-03-12 16:20:52 +03:00
Vladimir Golovnev (Glassez)
561b597031
Improve "info hash" handling
...
Define "torrent ID" concept, which is either a SHA1 hash for torrents of version 1,
or a SHA256 hash (truncated to SHA1 hash length) for torrents of version 2.
Add support for native libtorrent2 info hashes.
2021-03-12 12:43:14 +03:00
Vladimir Golovnev (Glassez)
6d6908e625
Initialize torrent status from add torrent params
2021-03-11 20:01:34 +03:00
Vladimir Golovnev
4da4fb0676
Merge pull request #14479 from glassez/trackerentry
...
Improve tracker entries handling
2021-03-11 18:51:19 +03:00
Vladimir Golovnev (Glassez)
7a8c05dc7c
Improve tracker entries handling
2021-03-10 19:54:34 +03:00
Vladimir Golovnev
d7bacdcbff
Merge pull request #14518 from glassez/speedplot
...
Don't allow speed plot buffer to overflow
2021-03-10 19:33:22 +03:00
Vladimir Golovnev (Glassez)
e2c785b2d5
Accept "share limits" when adding torrent using WebAPI
2021-03-09 20:01:15 +03:00
Vladimir Golovnev (Glassez)
20e9952d98
Don't allow speed plot buffer to overflow
2021-03-09 19:52:10 +03:00
Vladimir Golovnev
0bf36ad031
Merge pull request #14505 from glassez/stacktrace
...
Look for qbittorrent.pdb in installation directory
2021-03-08 14:57:43 +03:00
Mike Tzou
f3435c5e35
Merge pull request #14493 from Chocobo1/tos
...
Expose ToS setting from libtorrent
2021-03-08 10:24:42 +08:00
Vladimir Golovnev (Glassez)
166ec74ff9
Look for qbittorrent.pdb in installation directory
...
Pass application directory as PDB search path in SymInitialize.
Otherwise it searches in application working directory so when you
run qBittorrent with working directory other than its installation
one it can't find qbittorent.pdb file and produces broken stacktrace.
2021-03-07 17:41:51 +03:00
Vladimir Golovnev
6b3c6c12ff
Merge pull request #14466 from glassez/sha1hash
...
Improve "info hash" handling
2021-03-07 13:25:01 +03:00
Chocobo1
5161758193
Expose ToS setting from libtorrent
...
Closes #14420 .
2021-03-07 15:32:07 +08:00
Vladimir Golovnev (Glassez)
bea32cfe38
Define template for classes that represent SHA hashes
2021-03-06 12:36:08 +03:00
Vladimir Golovnev (Glassez)
8cfd803222
Drop implicit conversions between InfoHash and QString
2021-03-06 12:35:42 +03:00
Chocobo1
9a567721a8
Add missing semicolon
2021-03-06 14:44:10 +08:00
Chocobo1
12938799a6
Remove unused lambda capture
2021-03-05 22:18:08 +08:00
Mike Tzou
891a24c6ba
Merge pull request #14484 from Chocobo1/abort
...
Properly stop torrent creation if aborted
2021-03-05 14:44:41 +08:00
Chocobo1
f00f552369
Properly stop torrent creation if aborted
...
Closes #11346 .
2021-03-04 14:54:02 +08:00
Chocobo1
5c2b81d78f
Correctly draw the background of progress bar
...
Closes #12271 .
2021-03-02 21:53:46 +08:00
Vladimir Golovnev
a2b0531d5f
Merge pull request #14189 from glassez/libtorrent-1.2.12
...
Raise minimum libtorrent version to 1.2.12 (2.0.2)
2021-03-01 20:43:28 +03:00
Mike Tzou
752eb58ec0
Merge pull request #14423 from jagannatharjun/true-stable
...
Support sub-sorting in Transferlist
2021-03-01 12:26:17 +08:00
Vladimir Golovnev
7373b60522
Merge pull request #14432 from brvphoenix/rss
...
WebUI: Properly decode strings
2021-02-25 12:58:29 +03:00
brvphoenix
59f0961594
WebUI: Properly decode strings
2021-02-24 21:48:21 +03:00
jagannatharjun
b776f98df8
Support sub-sorting in Transferlist
2021-02-25 00:15:32 +05:30
Mike Tzou
7400284cff
Merge pull request #14437 from Chocobo1/mime
...
Improve detection of filename extension of audio/video files
2021-02-23 12:35:17 +08:00
Chocobo1
e1f9083c81
Improve detection of filename extension of audio/video files
2021-02-21 17:38:21 +08:00
Michał Kopeć
614376ed64
Add an option to disable icons in menus
2021-02-20 18:12:02 +01:00
Vladimir Golovnev
4ae2160372
Merge pull request #14054 from jagannatharjun/speedplotview
...
Make SpeedPlotView averager time aware
2021-02-12 06:58:45 +03:00
Mike Tzou
1df2dd9593
Merge pull request #14371 from Chocobo1/units
...
Fix potential out-of-bounds access
2021-02-11 13:15:01 +08:00
Mike Tzou
de9b43984a
Merge pull request #14368 from zzandland/revise-apply-button-options
...
Refactor apply button logics on options dialog
2021-02-10 12:35:35 +08:00
Chocobo1
4a0b36a50b
Use std::optional to return results
2021-02-10 12:25:26 +08:00
Chocobo1
fffe5e7003
Fix potential out-of-bounds access
2021-02-10 12:25:15 +08:00
Vladimir Golovnev
0bac639a04
Merge pull request #14327 from zzandland/add-category-automated-rss-downloader
...
Add category button on AutomatedRSSDownloader
2021-02-10 06:40:23 +03:00
Si Yong Kim
0d0d0a7c23
Add empty name error handling on new category dialog
2021-02-08 21:27:26 -08:00
Si Yong Kim
173f8b093f
Refactor apply button logics on options dialog
2021-02-08 09:02:12 -08:00
Chocobo1
e46c88580a
Revise getter function for torrrent queue position
...
This addresses https://github.com/qbittorrent/qBittorrent/pull/14335#issuecomment-774667836
The WebAPI is not affected as a workaround is added.
2021-02-08 14:24:16 +08:00
Mike Tzou
e6033c952e
Merge pull request #14351 from Chocobo1/avail
...
Show proper string when torrent availability is not available
2021-02-08 12:12:22 +08:00
Vladimir Golovnev
3dfd0ff3b3
Merge pull request #14354 from glassez/missing-files
...
Improve handling of "missing files" torrents
2021-02-08 06:34:15 +03:00
Chocobo1
0d550c9bce
Apply "Hide infinity values" to ETA column
2021-02-07 16:08:20 +08:00
Chocobo1
2aeb8b9390
Apply "Hide infinity values" to "Down/Up Limit" columns
2021-02-07 16:08:20 +08:00
Chocobo1
afa2fc0ba9
Apply "Hide zero values" to "Time Active" column
2021-02-07 16:08:20 +08:00
Chocobo1
6a45919b25
Clean up coding style
2021-02-07 16:08:20 +08:00
Chocobo1
e4f7d607e1
Show proper string when torrent availability is not available
2021-02-07 16:08:20 +08:00