Commit Graph

2474 Commits

Author SHA1 Message Date
Chocobo1
0404ff9fb3 Migrate away from deprecated function
`QStyle::standardPixmap()` is deprecated.

PR #19660.
2023-09-30 11:43:11 +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
Chocobo1
b3fda76027 Allow users to specify Python executable path
Closes #19195.
PR #19644.
2023-09-28 01:27:48 +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
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
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
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
sledgehammer999
e434812cda Bump copyright year 2023-08-29 00:17:23 +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
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
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
Vladimir Golovnev
56ba5e5182 Correctly load colors from custom themes
PR #19448.
Closes #19447.
2023-08-12 18:57:34 +03:00
Victor Chernyakin
850da9dd83 Replace Q_UNLIKELY with [[unlikely]] attribute
PR #19445.
2023-08-11 08:54:26 +03: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
Victor Chernyakin
f2b4aa6570 Remove unused parameter in Utils::Gui::scaledPixmap()
PR #19426.
2023-08-09 20:34:12 +08: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
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
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
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
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
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