Commit graph

10690 commits

Author SHA1 Message Date
Pioooooo
46eb984e31 Add feed icon to RSS downloader feed list
Also add "/" as root folder path name, set root folder default expanded.
2023-09-23 19:20:23 +08:00
Pioooooo
690563a70b Show RSS root folder in RSS downloader
This allows for applying rules to all feeds. Closes #1805.
2023-09-23 19:17:35 +08:00
Pioooooo
3ebc37d7b1 Display feeds as tree in RSS downloader
Closes #16802.
2023-09-23 19:14:25 +08: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