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