Chocobo1
f87ea1b5d3
Sort languages combobox by language code
...
* Avoid creating redundant file lists
* Sort languages combobox by language code
PR #20365 .
2024-02-05 13:44:18 +08:00
Vladimir Golovnev
88a4990435
Don't use iterator after erase
...
PR #20357 .
Closes #20356 .
2024-02-03 08:10:14 +03:00
Chocobo1
9bfb447dd3
Improve WebUI responsiveness
...
This migrates Category and Tag to `Map` type from `Object` type. And done some algorithm and data structure optimization.
PR #20297 .
2024-01-27 22:04:39 +08:00
Vladimir Golovnev
d652a10495
Add seeding limits to RSS and Watched folders options UI
...
PR #20324 .
Closes #19605 .
2024-01-27 14:30:27 +03:00
jNullj
df41940ebc
Fix typo in preferences.html
...
PR #20326 .
2024-01-26 10:58:57 +03:00
Chocobo1
94e80d01a8
Clean up code
...
* Use compiler generated comparison function
* Use designated initializers
* Convert to proper type
* Use reference
* Remove redundant text
The `msg` already contain the text `Reason:` so it isn't needed.
PR #20312 .
2024-01-25 02:56:12 +08:00
Vladimir Golovnev
bab9c15913
Revamp handling of getting resume data from libtorrent
...
PR #20310 .
2024-01-24 15:40:08 +03:00
jNullj
c5d7b62473
Delay subsequent requests to the same host
...
PR #19801 .
Closes #8350 .
2024-01-19 20:38:16 +03:00
Vladimir Golovnev
8ec3db1807
Change "metadata received" stop condition behavior
...
PR #20283 .
Closes #20122 .
2024-01-19 20:34:40 +03:00
Vladimir Golovnev
05572a7317
Add missing comparison case
...
Closes #20290 .
2024-01-19 10:13:34 +03:00
Chocobo1
00372dd559
Use natural sorting in WebUI
...
Also change case sensitivity to the default of 'sort' mode.
PR #20264 .
2024-01-15 13:12:36 +08:00
Chocobo1
6918316a3d
Switch to new method for checking own properties
...
The new method is an intended replacement for previous one as suggested by MDN:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn
2024-01-15 13:12:12 +08:00
Chocobo1
2edb1a0765
Improve WebUI responsiveness
...
Related: #20249 .
2024-01-15 13:12:12 +08:00
sledgehammer999
582e4dcb59
Sync translations from Transifex and run lupdate
2024-01-15 00:28:06 +02:00
Vladimir Golovnev
14513d051d
Don't stuck loading on mismatching info-hashes in resume data
...
PR #20262 .
Closes #20251 .
2024-01-13 18:08:16 +03:00
Vladimir Golovnev
97c0abcbf0
Improve Download Manager subsystem
...
PR #20257 .
2024-01-13 08:55:40 +03:00
Chocobo1
ad22237a2f
Provide safe helper for converting to 'seconds since epoch'
2024-01-08 15:13:02 +08:00
Chocobo1
8bdb83d973
Use initialization form for variable
2024-01-08 15:13:02 +08:00
Chocobo1
54bcabeca4
Leave the fields empty when value is invalid
...
This follows GUI behavior.
2024-01-08 15:13:02 +08:00
Chocobo1
114652205c
Fix wrong time stamp values in WebAPI
...
The wrong values are observed when encountered an invalid QDateTime data.
2024-01-08 15:13:02 +08:00
Chocobo1
5b3b56c918
Improve natural sort algorithm
...
1. Use proper case folding function instead of `toLower()`.
2. Use locale aware comparison instead of comparing unicode code points.
Now `a` comes before `A` which is the same as the result from QCollator. A nice side effect
is now it properly compares locale specific characters (for example `C`, `Č`).
3. Improve testing. Now the test is runnable and stable on all platforms.
PR #20208 .
2024-01-08 14:47:00 +08:00
David
e69f857828
Allow to remember torrent content files deletion in WebUI
...
Add a 'remember choice' button to the WebUI Torrent Deletion dialog that sets the default file deletion setting. The setting is shared with GUI, so if you set it in WebUI and open the Qt app, the 'delete files' checkbox will match WebUI (checked or unchecked).
PR #20150 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2024-01-08 14:39:51 +08:00
Vladimir Golovnev
0b6d785e87
Show URL seeds for torrents that have no metadata
...
PR #20233 .
Closes #20198 .
2024-01-06 15:51:19 +03:00
Vladimir Golovnev
f3d45327e1
Apply inactive seeding time limit set on new torrents
...
PR #20231 .
Closes #20224 .
2024-01-05 18:25:29 +03:00
Vladimir Golovnev
9bf7f3b181
Show correctly decoded filename in log
...
PR #20214 .
Closes #20186 .
2024-01-02 16:03:12 +03:00
Chocobo1
d5bf0358cb
Revise conditional for when to use QCollator
...
According to https://doc.qt.io/qt-6/qcollator.html#posix-fallback-implementation
The 'POSIX fallback implementation' is only used when ICU is not available. So the correct way is to detect ICU directly and not depend on the OS. The exceptions are macOS and Windows since they support the required functionalities natively.
Closes #20205 .
PR #20207 .
2024-01-02 16:58:12 +08:00
Chocobo1
fc56fdade7
Specify a locale if none is set
...
Sometimes users had not properly configured their system locale and thus
qbt will specify a default locale just in case.
Closes #16127 .
Closes #19609 .
Closes #19834 .
PR #20203 .
2024-01-02 16:49:40 +08:00
thalieht
8dcc734df5
Enable Ctrl+F hotkey for more inputs
...
PR #20131 .
2023-12-19 20:52:47 +03:00
Chocobo1
073ca4267c
Introduce helper function to join values as string
...
PR #20130 .
2023-12-19 00:08:37 +08:00
d47081
9d90141c29
Add dark theme for WebUI
...
Closes #19844 .
PR #19901 .
---------
Co-authored-by: d47081 <localhost>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2023-12-12 12:23:40 +08:00
Chocobo1
cc563d9f78
Fix incorrect usage of translation functions
...
PR #20107 .
2023-12-10 23:07:29 +08:00
Chocobo1
88ef8a51dd
Move local functions into anonymous namespace
...
PR #20106 .
2023-12-10 22:51:33 +08:00
Victor Chernyakin
0297f0f34b
Allow relative profile paths
...
PR #19558 .
2023-12-07 09:20:37 +03:00
Vladimir Golovnev
7a41192597
Add a class to represent a tag
...
PR #20028 .
Closes #19744 .
2023-12-05 17:01:09 +03:00
Chocobo1
65771d66fc
Update Readme for WebUI
...
PR #20077 .
2023-12-05 03:34:40 +08:00
Chocobo1
0dbac78e17
Revise legal notice
...
For GUI and non-daemon console, the legal notice won't ask for user acceptance anymore and only
provide an OK button (or Enter key in console) from now on.
For daemon mode, qbt will print the legal notice and continue to run. It will also notify user
to use command line option `--confirm-legal-notice` to suppress the message. The message will be
printed on every start up unless user specify the command line option once.
PR #20080 .
2023-12-05 03:13:37 +08:00
Vladimir Golovnev
4ba8eaf4b4
Don't forget to store Stop condition
...
PR #20045 .
Closes #20043 .
2023-11-30 08:58:41 +03:00
Vladimir Golovnev
bfd3ce2fca
Don't forget to update filter items
...
PR #20030 .
Closes #19905 .
2023-11-29 07:05:46 +03:00
Chocobo1
86d5d13ce6
Migrate away from deprecated functions
...
Those functions are deprecated in mootools.
2023-11-27 13:29:54 +08:00
Chocobo1
8f230bc2e6
Remove unused icon provider singleton
2023-11-27 13:29:54 +08:00
Chocobo1
6d0ad62632
Remove Qt5 remnants
...
The env variable was added in 51cf05c1bd
And `QNetworkConfigurationManager` is deprecated in Qt5 and not available in Qt6.
https://doc.qt.io/qt-5.15/qnetworkconfigurationmanager.html
2023-11-27 13:29:54 +08:00
Chocobo1
c165131c3f
Disable stdout buffering for qbt-nox
...
The messages printed out via stdout is usually important and short so
there is no reason to buffer them.
Closes #19984 .
PR #20018 .
2023-11-26 15:36:50 +08:00
brvphoenix
9fde5634f1
Fix JS memory leak
...
The memory leak can be reproduced easily by opening two web pages of qbittorrent so that the WebUI pages are updated with full_update = true. If you have a large number of torrents, such as 100 torrents, you can observe a rapid increase in memory usage.
This is caused by the incorrect usage of dispose and empty methods in the js codes and none of them garbage collect the elements. If event listeners are added to the DOM elements, those DOM elements will not be garbage collected at all event if they are not referenced or out of the scope, which will cause memory leaks. If some elements are expected to be removed, the correct way is to use destroy method instead.
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-dispose-elementdispose
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-empty-elementempty
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-destroy-elementdestroy
Closes #19034 .
PR #19969 .
2023-11-25 13:50:45 +08:00
Vladimir Golovnev
60eaff9fcb
Simplify share ratio limits processing code
...
PR #19971 .
2023-11-21 22:14:27 +03:00
Vladimir Golovnev
c3adc90f7e
Show Add new torrent dialog on main window screen
...
PR #19963 .
Closes #19774 .
2023-11-21 22:13:22 +03:00
Chocobo1
6f7f418ec1
Improve error message when daemonizing failed
...
PR #19959 .
2023-11-21 14:05:32 +08:00
Vlad Zahorodnii
ce34245aaf
Fix parent widget of "Lock qBittorrent" submenu
...
The parent widget of lockMenu is going to be used to derive the
transient parent window. Currently the parent widget of lockMenu is
the main window, therefore the main window is also going to be the
transient parent for lockMenu's window handle.
In other words, the "View" menu and "Lock qBittorrent" menu are
going to be considered as siblings by the window manager even though
the latter is nested inside the former.
On platforms like wayland, such popup hierarchies are illegal, popups
must be properly nested. qtwayland works around it, but it also prints
warning messages.
This change makes lockMenu a child of the view menu so they are
properly nested from the window manager point of view.
PR #19967 .
Closes #19955 .
2023-11-20 20:39:21 +03:00
Vladimir Golovnev
ef06be63bf
Remove incorrect assertions
...
PR #19964 .
2023-11-20 20:37:55 +03:00
Vladimir Golovnev
a1c78a0455
Follow the parent category options
...
PR #19957 .
Closes #19941 .
2023-11-20 20:37:17 +03:00
Vladimir Golovnev
75c638e2f8
Add timeouts to network requests
...
PR #19947 .
2023-11-18 09:55:33 +03:00
sledgehammer999
20bfd392ff
Sync translations from Transifex and run lupdate
2023-11-14 03:05:55 +02:00
Vladimir Golovnev
8cc8ffabb0
Improve Torrent files watcher internals
...
PR #19924 .
2023-11-13 14:27:04 +03:00
Vladimir Golovnev
2a20764d39
Add option to enable ".unwanted" folder
...
PR #19926 .
2023-11-13 14:25:27 +03:00
Chocobo1
9d6d3a30eb
Improve performance of getting torrent numbers via WebAPI
...
PR #19919 .
2023-11-12 17:12:02 +08:00
Chocobo1
b67da4bebe
Use natural sort for categories
...
PR #19920 .
2023-11-12 17:11:39 +08:00
sledgehammer999
8e39ac7efd
Merge pull request #19918 from sledgehammer999/webui_opt
...
WebUI: Minor optimizations to the login page
2023-11-11 16:00:26 +02:00
Vladimir Golovnev
fb497f3410
WebUI: Correctly set save path in RSS rules
...
PR #19916 .
Closes #19915 .
2023-11-11 16:04:13 +03:00
sledgehammer999
5d1d3fcf57
WebUI: Minor optimizations to the login page
2023-11-10 16:22:52 +02:00
Vladimir Golovnev
0f40fad74d
Drop WebUI default credentials
...
PR #19777 .
2023-11-10 07:18:42 +03:00
vik
28b5d7230c
WebUI: Remove extra ')' in QBT_TR macro
...
PR #19894 .
2023-11-08 08:32:25 +03:00
Vladimir Golovnev
c88bd7cb3f
Improve free disk space checking for WebAPI
...
Use single free disk space checker instance for all the web sessions.
PR #19855 .
Closes #19732 .
2023-11-07 12:44:27 +03:00
thalieht
30d9978c97
Add copy comment functionality to the torrent list's context menu
...
PR #19846 .
Closes #18890 .
2023-11-07 12:42:31 +03:00
xavier2k6
f067ab1692
WebUI: Add "Moving" filter to side panel
...
PR #19870 .
2023-11-06 16:23:59 +03:00
Chocobo1
f49507cb58
Exclude identical strings
...
This gives slightly smaller final binary.
https://doc.qt.io/qt-6/linguist-lrelease.html#lrelease-options
>If the translated text is the same as the source text, exclude the
>message.
2023-11-06 14:10:27 +08:00
Chocobo1
7c0e3baf5f
Drop support for 32-bit Windows
...
PR #19865 .
2023-11-06 14:10:01 +08:00
Chocobo1
6cfbc02d8f
Expose Mark-of-the-Web setting in Options
2023-11-06 14:09:34 +08:00
Chocobo1
794cce38f3
Move some functions into Utils::OS namespace
...
Also remove `Utils::Misc::getUserIDString()` since there are no use of
it.
2023-11-06 14:09:34 +08:00
sledgehammer999
f20f009b78
Sync translations from Transifex and run lupdate
2023-11-05 21:57:07 +02:00
Vladimir Golovnev
e216a9cf53
Keep unwanted files in separate folder
...
PR #19842 .
Closes #13531 .
2023-11-05 11:00:06 +03:00
xavier2k6
0186f44bf4
Use appropriate icon for "moving" torrents in transfer list
...
PR #19821 .
2023-11-04 12:09:47 +03:00
Bartu Özen
5db2c2c2be
WebUI: Fix incorrect subcategory sorting
...
PR #19833 .
Closes #19756 .
2023-11-02 11:35:42 +03:00
Vladimir Golovnev
cecbb44a03
Allow to request torrents count via WebAPI
...
PR #19831 .
Closes #19731 .
2023-11-02 11:12:32 +03:00
Vladimir Golovnev
4a20a1660e
Correctly handle changing save path of torrent w/o metadata
...
PR #19829 .
Closes #19824 .
2023-11-01 09:22:32 +03:00
Vladimir Golovnev
eddfaedc4d
Update size of selected files when selection is changed
...
PR #19827 .
Closes #19818 .
2023-11-01 09:21:39 +03:00
Vitaly Cheptsov
e42d3f38cc
Fix .torrent file upload on iPadOS
...
Mobile Safari on iOS does report `ios` platform, but iPadOS reports `mac`
instead. It is common sense to check for touch points when this happens
to differentiate Mac and iPad.
PR #19822 .
Closes #19057 .
---------
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2023-11-01 09:19:52 +03:00
Vladimir Golovnev
e7f38ec6ce
Don't forget to delete TorrentContentAdaptor instance
...
PR #19825 .
Closes #19816 .
2023-10-31 10:20:23 +03:00
iomezk
a689ccf798
Add missing main window icon
...
PR #19815 .
---
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2023-10-31 10:18:35 +03:00
Chocobo1
7bd8f262db
Disable "limit virtual memory" routine on macOS
...
This has no effect on macOS.
https://stackoverflow.com/questions/3274385/how-to-limit-memory-of-a-os-x-program-ulimit-v-neither-m-are-working
Closes #18656 .
PR #19805 .
2023-10-29 17:41:38 +08:00
Chocobo1
98576dacae
Add support for quarantine on macOS
2023-10-29 17:41:08 +08:00
Chocobo1
b4642ca9d3
Use proper fallback value for Mark-of-the-Web URL
...
References:
https://chromium.googlesource.com/chromium/src.git/+/refs/heads/main/components/services/quarantine/quarantine_win.cc#211
https://hg.mozilla.org/mozilla-central/file/bd568ad893882d37f094d43cba3f62c78982cd05/toolkit/components/downloads/DownloadIntegration.sys.mjs#l537
2023-10-29 17:41:08 +08:00
Chocobo1
9b924c1931
Drop support for Windows < 10
2023-10-29 17:40:02 +08:00
Chocobo1
c671b7059e
Drop unsupported keys
2023-10-29 17:40:02 +08:00
Chocobo1
347124812e
Migrate away from deprecated functions
2023-10-29 17:40:02 +08:00
AgentConDier
bf95eb50da
WebUI: Fix duplicate scrollbar on Transfer List
...
The overlay scrollbars introduced in Firefox 100 take up no space,
breaking the existing overflow detection.
Add an extra check for `scrollHeight != clientHeight` which is able to
detect an overflow independent of scrollbar style.
PR #19779 .
---------
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2023-10-29 17:39:30 +08:00
Vladimir Golovnev
ee9390fecd
Fix Enter key behavior when add new torrent
...
PR #19787 .
Closes #19760 .
2023-10-28 10:42:37 +03:00
Vladimir Golovnev
12674d2990
Prevent crash due to race condition when adding magnet link
...
PR #19792 .
2023-10-28 10:41:53 +03:00
Hanabishi
35e4b35d12
Make WebUI error non-fatal
...
* Do not exit the app when WebUI is failed for start.
* Print the error to stdout.
PR #19697 .
Closes #19695 .
Closes #19469 .
2023-10-24 13:32:21 +03:00
Vladimir Golovnev
6860c0d60d
Allow to set qBittorrent as default program
...
Register qBittorrent as possible default program for .torrent files and
magnet links during install.
PR #19446 .
2023-10-24 13:31:01 +03:00
Chocobo1
8d5022c715
Combine CSS properties
...
PR #19730 .
2023-10-19 12:07:36 +08:00
Vladimir Golovnev
116b05009d
CI: Use dynamic MSVC run-time library
...
Otherwise, there is a conflict of run-time libraries used (since Qt DLLs are still use dynamic MSVCRT) that leads to strange errors.
PR #19718 .
Closes #19701 .
2023-10-17 21:31:55 +03:00
Chocobo1
63499511cb
Forward declare "Add torrent manager" type
...
PR #19713 .
2023-10-16 14:52:09 +08:00
Chocobo1
cba433823f
Improve .torrent associate handling
...
* Use correct pointer type in NSIS scripts
* Only remove qbt specific registry keys when uninstalling or disassociating
* Set .torrent Content Type when associating .torrent format
* Move ".torrent association" functions to Utils::OS class
PR #19709 .
2023-10-16 14:51:17 +08:00
Hanabishi
90e023f138
Fix WebUI greeting for qbittorrent-nox
...
* Check if WebUI is enabled and print an appropriate message otherwise.
* Print an actual runtime server scheme, address and port.
PR #19696 .
2023-10-16 14:48:32 +08:00
Nick Korotysh
e6ec3d0c2b
Display download/upload speed in dock icon
...
Implementation is based on Transmission sources.
Closes #2761
Closes #3671
Closes #7098
Closes #11350
Closes #18527
PR #19595
2023-10-16 14:45:24 +08:00
thalieht
a3888811f6
Add I2P settings to WebUI
...
PR #19700 .
2023-10-13 21:30:25 +03:00
Vladimir Golovnev
30189ae943
Allow to remove tracker from tracker filter widget menu
...
PR #19681 .
Closes #11100 .
2023-10-11 21:58:05 +03:00
Vladimir Golovnev
3ca0939411
Add separate filter item for tracker errors
...
* Add separate filter item for tracker errors
* Rename "Error" filter item to "Other error"
PR #19672 .
2023-10-07 15:41:05 +03:00
Chocobo1
34f7b75f12
Add support for Mark-of-the-Web
...
https://redcanary.com/threat-detection-report/techniques/mark-of-the-web-bypass/
https://mikehadlow.blogspot.com/2011/07/detecting-and-changing-files-internet.html
https://textslashplain.com/2016/04/04/downloads-and-the-mark-of-the-web/
Closes #19648 .
PR #19675 .
2023-10-07 12:28:07 +08:00
Vladimir Golovnev
c051ee9409
Revamp tracker list widget
...
Internally redesign tracker list widget using Qt Model/View architecture.
Make tracker list sortable by any column.
PR #19633 .
Closes #261 .
2023-10-03 08:42:05 +03:00
Vladimir Golovnev
70b438e6d9
Improve GUI behavior when adding multiple torrents
...
Allows you to bring the main window to the front when one or more "Add new torrent" dialogs are open.
Also allows you to minimize/maximize the "Add new torrent" dialog.
PR #19670 .
Closes #17919 .
2023-10-03 08:40:25 +03:00
Vladimir Golovnev
73028f9930
Double check whether database needs to be updated
...
Prevents qBittorrent from being failed to start after torrents database metadata is corrupted by one of the first releases of v4.5.x series.
PR #19668 .
Closes #19622 .
2023-10-01 20:59:27 +03:00
Chocobo1
bda18ad29b
Add logging for some alerts
...
Specifically these alerts:
* i2p_alert
* session_error_alert
PR #19662 .
2023-09-30 11:43:44 +08:00
Chocobo1
0404ff9fb3
Migrate away from deprecated function
...
`QStyle::standardPixmap()` is deprecated.
PR #19660 .
2023-09-30 11:43:11 +08:00
Chocobo1
47439a7efd
Use reference when parsing URL query
...
PR #19659 .
2023-09-30 11:42:35 +08:00
Vladimir Golovnev
16111496ca
Improve handling the case when torrent enters/leaves trackerless state
...
PR #19658 .
2023-09-29 07:34:21 +03:00
Vladimir Golovnev
43e9403a4c
Filter out duplicate trackers when replacing
...
PR #19656 .
2023-09-29 07:33:19 +03:00
Vladimir Golovnev
7ab90cfc40
Don't forget to delete worker thread object
...
PR #19655 .
2023-09-29 07:32:09 +03:00
Chocobo1
b3fda76027
Allow users to specify Python executable path
...
Closes #19195 .
PR #19644 .
2023-09-28 01:27:48 +08:00
Chocobo1
529e49aea7
Fix performance regression
...
Follow up #19417 .
PR #19652 .
2023-09-28 01:26:57 +08:00
Vladimir Golovnev
46c1c9de65
Fix memory leaks
...
* Fixes a couple of memory leaks (although not dangerous in practice, since we are talking about objects with a lifetime up to the end of the application)
* Fixes heap use after free
PR #19650 .
Closes #19632 .
2023-09-27 08:00:20 +03:00
Jay
f3b688217e
Show RSS feed title in HTML browser
...
RSS feed title will be displayed on top of the HTML browser when 'Unread' is selected in feed list.
PR #19604 .
2023-09-20 13:15:08 +03:00
Vladimir Golovnev
5e5c6aa7d8
Don't show outdated tracker message
...
PR #19616 .
Closes #19612 .
2023-09-20 13:12:54 +03:00
Priit Uring
1537f1e703
Sync flag icons with upstream
...
* Includes all 268 flags.
* Upstream commit `a7b7c3c55560cb39d96e70324876e1bb5b1c625b` - (Release v6.11.0)
* Flags source from (zip): https://github.com/lipis/flag-icons/releases/tag/v6.11.0
PR #19518 .
2023-09-18 19:13:16 +03:00
Trim21
30badbf36e
WebUI: fix missing error icon
...
PR #19610 .
Closes #18737 .
2023-09-18 16:42:03 +03:00
Vladimir Golovnev
5a334175a8
Use Fusion style on Windows 10+
...
PR #19051 .
2023-09-18 08:38:35 +03:00
Chocobo1
dcba9eda00
Expose 'DHT bootstrap nodes' setting
...
This allows user to select DHT bootstrap nodes. Or even use their own bootstrap nodes.
PR #19594 .
2023-09-14 13:57:34 +08:00
Vladimir Golovnev
633167a6da
Prevent torrent from being started unexpectedly
...
Improves "Metadata received" stop condition handling by "Add new torrent" dialog.
The problem is when "Metadata received" stop condition is set the metadata can still be received 0.1 sec before clicking the "OK" button so torrent is actually added with metadata and therefore it cannot respect "Metadata received" stop condition.
The solution is to uncheck "Start torrent" checkbox once metadata is received.
PR #19597 .
Closes #19583 .
2023-09-13 15:48:13 +03:00
Hanabishi
c394868f87
Implement Reannounce In
column
...
PR #19571 .
2023-09-09 08:12:43 +03:00
Vladimir Golovnev
2deb7eb3d9
Don't limit max RSS feed file size
...
PR #19576 .
2023-09-08 09:19:16 +03:00
Vladimir Golovnev
7cd2445a49
Improve tracker entries handling
...
PR #19496 .
* Add torrent entry status to represent tracker error
* Add torrent entry status to represent unreachable endpoint
* Display tracker entry next/min announce time
* Reset tracker entries when torrent is stopped
2023-09-07 08:58:13 +03:00
Chocobo1
39efd0e9ff
Remove thin space
...
Generally qbt doesn't put a space before percentage symbol.
This change makes the UI elements consistent.
2023-09-04 13:10:12 +08:00
Chocobo1
ff80e0ce66
Use Qt built-in non-breaking space variable
2023-09-04 13:10:12 +08:00
Victor Chernyakin
65930ddf94
Use std::pair
instead of QPair
...
PR #19548 .
2023-09-03 09:39:34 +03:00
Chocobo1
4d2015cfed
Support creating .torrent with larger piece size
...
Warning: users are at their own discretion to create .torrent with >= 64 MiB piece size as not
every torrent client supports it.
Larger piece sizes are only available when using libtorrent 2.x. libtorrent 1.x is not
efficient with memory usage and in order to avoid user complaints it is limited to 128 MiB.
Also note that, as of this writing, libtorrent 2.0.9 has an internal limitation that only
allows loading maximum 256 MiB piece size. And therefore > 256 MiB size options are forbidden
for now.
Closes #19527 .
PR #19535 .
2023-09-03 14:31:32 +08:00
Matic Babnik
145971b915
Add "Add Tags" field for RSS rules in WebUI
...
PR #19519 .
2023-09-02 21:37:53 +03:00
Chocobo1
43e3d0b4b2
Make the title label selectable
...
And therefore its text is copyable.
2023-09-01 00:18:25 +08:00
Chocobo1
0fdb1b3f53
Add button to copy library versions to clipboard
...
Closes #18702 .
2023-09-01 00:18:25 +08:00
Chocobo1
24da51ffa0
Perform type conversion properly
...
Closes #19521 .
PR #19525 .
2023-09-01 00:18:03 +08:00
sledgehammer999
e434812cda
Bump copyright year
2023-08-29 00:17:23 +03:00
sledgehammer999
9a1df0c595
Pull translations from Transifex
2023-08-29 00:05:14 +03:00
Xu Chao
9a73a21f3f
Don't set parent of "Add new torrent dialog" on macOS
...
PR #19494 .
Closes #12849 .
Closes #12852 .
Closes #19072 .
---------
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2023-08-28 13:50:36 +03:00
Victor Chernyakin
e045b4678d
Use std::clamp()
instead of various custom implementations
...
PR #19501 .
2023-08-27 21:55:08 +03:00
Chocobo1
d8a03cd8d8
Use atomic primitives from standard library
...
QAtomicInteger underlying is using std::atomic structures, so
using std::atomic directly should not be a problem for us.
PR #19507 .
2023-08-28 02:08:40 +08:00
Xu Chao
270c63d64c
Open "Save path" if torrent has no metadata
...
PR #19495 .
Closes #18738 .
2023-08-27 08:38:59 +03:00
rcarpa
bbac94cc95
Use QThreadPool for torrent creation
...
The change is in preparation for adding the possibility to create
torrent files via the API.
Rework TorrentCreatorThread to be a more lightweight QRunnable class.
The parameters are now defined on construction time and are fixed
throughout the lifecycle of the TorrentCreator. The lifecycle of the
object is not bound to the one of QDialog anymore; it is now handled
by the QThreadPool. This will enable easier queueing of multiple torrent
creation jobs without risk of spawning many threads.
PR #19500 .
2023-08-27 00:27:11 +08:00
Vladimir Golovnev
9ab8203c8a
Don't overwrite tracker entry of unrelated protocol
...
PR #19493 .
2023-08-23 12:38:18 +03:00
Vladimir Golovnev
c805606524
Improve tracker entries handling
...
PR #19468 .
* Use QHash to map tracker endpoints
* Don't clear numPeers unexpectedly
* Remove outdated tracker entry endpoints
* Move presentation logic from Core to GUI code
* Show all endpoints per tracker in tree structure
---------
Co-authored-by: Kacper Michajłow <kasper93@gmail.com>
2023-08-21 10:27:19 +03:00
Victor Chernyakin
34d30ed031
Replace Q_UNUSED
with [[maybe_unused]]
attribute
...
PR #19471 .
2023-08-18 07:09:40 +03:00
Victor Chernyakin
f3f4610ba4
Convert Windows header names to lowercase
...
PR #19465 .
2023-08-16 10:29:13 +03:00
Vladimir Golovnev
dcf3e97291
Implement gateway for adding new torrents
...
PR #19355 .
2023-08-14 18:17:56 +03:00
Victor Chernyakin
e4313d6651
Use using declarations instead of typedef
...
PR #19458 .
2023-08-14 18:14:36 +03:00
Victor Chernyakin
52fbb774a2
Disable clang-tidy for 3rd-party code
...
PR #19459 .
2023-08-14 18:13:28 +03:00
Vladimir Golovnev
a0e41a11de
Display error message when unrecoverable error occurred
...
PR #19462 .
2023-08-14 16:03:57 +03:00
Vladimir Golovnev
cab5edb721
Add more precondition checks when handle async operation result
...
PR #19460 .
2023-08-14 16:02:50 +03:00
Vladimir Golovnev
7a9a102b6f
Check returned Bundle ID for NULL
...
PR #19463 .
2023-08-14 16:01:54 +03:00
Omar Abdul Azeez
6ba561dea2
Fix overwriting feeds.json with an incomplete load of it
...
PR #19444 .
Closes #19439 .
---------
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2023-08-12 18:59:24 +03:00
Vladimir Golovnev
56ba5e5182
Correctly load colors from custom themes
...
PR #19448 .
Closes #19447 .
2023-08-12 18:57:34 +03:00
Chocobo1
69d60b5f1c
Specify interface requirements as an C++ concept
...
PR #19440 .
2023-08-12 20:53:03 +08:00
Victor Chernyakin
850da9dd83
Replace Q_UNLIKELY with [[unlikely]] attribute
...
PR #19445 .
2023-08-11 08:54:26 +03:00
Chocobo1
502b3d3228
Merge pull request #19427 from Chocobo1/cleanup
...
Remove unused include
2023-08-11 13:49:35 +08:00
Chocobo1
31fe327763
Move to separate headers
...
Hopefully this can speed up compilation times.
https://doc.qt.io/qt-6/qtglobal.html#details
PR #19430 .
2023-08-11 13:47:55 +08:00
Chocobo1
870bcc7a19
Switch to QHash
2023-08-09 20:36:41 +08:00
Victor Chernyakin
f2b4aa6570
Remove unused parameter in Utils::Gui::scaledPixmap()
...
PR #19426 .
2023-08-09 20:34:12 +08:00
Chocobo1
5c06d0aa75
Replace template conditionals with C++20 requires
clause
...
Related: https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-constraints.html
PR #19424 .
2023-08-09 20:33:19 +08:00
Vladimir Golovnev
33d767b765
Disable using Qt functions deprecated up to Qt 6.5
...
* Disable using Qt functions deprecated up to Qt 6.5
* Utilize QSet::removeIf()
PR #19419 .
2023-08-08 08:52:13 +03:00
Vladimir Golovnev
06581636a1
Utilize QByteArrayView
...
PR #19417 .
2023-08-07 11:21:32 +03:00
Vladimir Golovnev
a0fa1709d5
Raise minimum supported Qt version to 6.5
...
PR #19394 .
2023-08-07 07:19:43 +03:00
Chocobo1
699dc1689a
Remove column span
...
The property widget already has scroll bars and thus we don't need this span.
Closes #15000 .
PR #19404 .
2023-08-04 13:01:08 +08:00
Chocobo1
a427b9228d
Ensure file name is valid when exporting torrents
...
Closes #19275 .
Closes #19329 .
PR #19403 .
2023-08-04 13:00:48 +08:00
Jimmy Axenhus
c4ed40b82f
Set property instead of set attribute
...
This commit resolves an issue with Safari not properly selecting an `<option>`.
Closes #17866 .
PR #19024 .
2023-08-03 13:34:24 +08:00
Chocobo1
e68cf87f05
Merge pull request #19396 from Chocobo1/ci
...
GHA CI: specify a category for CodeQL analysis
2023-08-03 11:41:40 +08:00
Vladimir Golovnev
fccdeb4e78
Don't use variable after it is moved
...
PR #19397 .
2023-08-02 15:04:15 +03:00
Chocobo1
6c16a09385
Guard against potential negative number
2023-08-01 15:27:04 +08:00
Chocobo1
b35c2bca5d
Merge pull request #19390 from Chocobo1/openssl
...
Remove unused conditional
2023-08-01 12:57:12 +08:00
Chocobo1
852927bf50
Use qreal
type whenever feasible
...
The idea is follow Qt and use `qreal` instead of `double` for generic code.
2023-07-31 03:50:49 +08:00
Chocobo1
a5a4ea9ba0
Remove unused conditional
2023-07-31 03:03:02 +08:00
Vladimir Golovnev
11efd26acc
Fix crash on application exit (Qt 6.5)
...
PR #19169 .
2023-07-27 15:09:14 +03:00
Vladimir Golovnev
006ad23d0d
Map selected indexes to source before modify the data
...
Changing the data may affect the layout of the sort/filter model, which in turn may invalidate the indexes previously obtained from selection model before we process them all. Therefore, we must map all the selected indexes to source before start processing them.
PR #19372 .
Closes #19359 .
2023-07-26 18:19:32 +03:00
Peter Dave Hello
9975230dea
Update Transifex link in TRANSLATION_INSTRUCTIONS
...
PR #19366 .
2023-07-25 15:28:56 +03:00
Chocobo1
e31c3376bd
Use library provided erase_if()
...
`Algorithm::removeIf()` is still valuable as `QHash::removeIf()` predicate require an
iterator or a `std::pair`, which both require more code to unpack the variable and therefore
cumbersome to use.
PR #19353 .
2023-07-24 20:29:02 +08:00
Chocobo1
9898901236
Merge pull request #19349 from Chocobo1/c++20
...
Use default operators generated/synthesized by compiler
2023-07-23 12:54:44 +08:00
Chocobo1
56c52af124
Mark override
for virtual destructors
...
PR #19348 .
2023-07-22 12:46:21 +08:00
Chocobo1
c20a77aa77
Merge pull request #19346 from Chocobo1/powerMgt
...
Avoid excessive power management updates
2023-07-22 12:45:55 +08:00
Chocobo1
d6adebe4c0
Switch to efficient algorithm
2023-07-22 04:11:39 +08:00
Chocobo1
c58aa58cba
Use C++20 designated initializers
2023-07-22 02:25:44 +08:00
Chocobo1
7612d5d0ef
Use default operators generated/synthesized by compiler
2023-07-22 02:25:44 +08:00
Chocobo1
1874fd7f93
Fix incorrect state
...
Fix up f3f9cfe44e
.
2023-07-22 01:59:36 +08:00
Chocobo1
0bcc1cf4a0
Fix indentation
2023-07-21 20:41:00 +08:00
Chocobo1
cffcf5783f
Avoid excessive power management updates
2023-07-21 20:39:25 +08:00
Vladimir Golovnev
10ee1ab7a2
Switch to C++20
...
PR #19336 .
2023-07-21 15:38:49 +03:00
Vladimir Golovnev
f27f2c20e0
Add unified class to represent parsed torrent metadata
...
* Add unified class to represent parsed torrent metadata
* Unify startup logic of "Add new torrent dialog"
PR #19301 .
2023-07-21 08:40:16 +03:00
Vladimir Golovnev
d554f4d44a
Always use QStyledItemDelegate as base of delegate classes
...
PR #19340 .
2023-07-21 08:37:11 +03:00
Chocobo1
d357cdd5f9
Set power state to idle when deconstructing class
2023-07-21 12:19:29 +08:00
Chocobo1
0f862fcf9f
Use efficient algorithm for removing entries
...
PR #19345 .
2023-07-21 12:18:26 +08:00
Chocobo1
6bd56478fd
Merge pull request #19344 from Chocobo1/systemd
...
Add support for systemd power management
2023-07-21 12:17:49 +08:00
Chocobo1
76b5ca6b8b
Remove debugging messages
...
As requested in https://github.com/qbittorrent/qBittorrent/pull/19344#discussion_r1269156895
2023-07-20 18:05:40 +08:00
Chocobo1
dbb1b1e9bb
Use default timeout
2023-07-20 18:05:39 +08:00
Chocobo1
b5fbfdf106
Use correct type
...
https://doc.qt.io/qt-6/qdbustypesystem.html
https://dbus.freedesktop.org/doc/dbus-specification.html#id-1.3.8
2023-07-20 18:05:39 +08:00
Chocobo1
f3f9cfe44e
Add support for systemd power management
2023-07-20 18:05:39 +08:00
Vladimir Golovnev
dbe79484d2
Drop support of Qt 5
...
Also remove usage of some deprecated stuff.
PR #19338 .
2023-07-20 11:17:27 +03:00
Vladimir Golovnev
5e610cfdcf
Drop support of Autoconf/Automake and QMake
...
PR #19335 .
2023-07-20 11:15:46 +03:00
Chocobo1
15b46259f3
Add logging
2023-07-19 00:50:01 +08:00
Chocobo1
d569eaa991
Revise message
2023-07-19 00:49:58 +08:00
Chocobo1
64c3845a7c
Detect D-Bus interface
2023-07-18 22:31:52 +08:00
Chocobo1
79afa0b84d
Clean up coding style
2023-07-18 20:41:21 +08:00
Chocobo1
38d773ca46
Change default power management to Gnome Session Manager
...
As seen on https://www.freedesktop.org/wiki/Specifications/power-management-spec/ ,
the `org.freedesktop.PowerManagement` is obsolete.
2023-07-18 20:41:19 +08:00
axet
9194f60ac0
Inhibit suspend instead of screen idle
...
PR #19316 .
Closes #19312 .
2023-07-18 15:40:17 +03:00
Vladimir Golovnev
4a217dc42f
Don't initialize Properties widget size until window is shown
...
PR #19328 .
Closes #19322 .
2023-07-18 15:06:27 +03:00
Vladimir Golovnev
9171b73edb
WebUI: use new format of RSS rules
...
PR #19326 .
Fixes regression of #18824 .
Closes #19323 .
2023-07-18 15:05:17 +03:00
sledgehammer999
0f0de5e4f8
Bump to v5.0.0alpha1
2023-07-17 09:25:50 +03:00