Commit Graph

2573 Commits

Author SHA1 Message Date
Vladimir Golovnev
25b7972f88 Initialize completer for file system path widget on demand
PR #20586.
2024-03-23 08:18:36 +03:00
Vladimir Golovnev
845f9a821e Use better icons for RSS articles (#20587) 2024-03-22 18:46:25 +03:00
Vladimir Golovnev
b489262f51 Add workaround to refresh styled controls once color scheme is changed
PR #20569.
2024-03-21 11:14:41 +03:00
tehcneko
50caa231f7 Fix invisible tray icon on Plasma 6 in Linux
PR #20529.
Closes #20367.

---------

Co-authored-by: thalieht <thalieht@users.noreply.github.com>
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2024-03-13 10:24:08 +03:00
Vladimir Golovnev
d5e41bf679 Allow torrents to override default share limit action
PR #20528.
2024-03-12 14:08:59 +03:00
Chocobo1
0967bdc715 Switch to lightweight function for filtering data
We can use this function since the columns doesn't change.

PR #20518.
2024-03-11 12:54:38 +08:00
Thomas Piccirello
c06817f4eb Add button for sending test email
This allows for easily testing whether the provided email configuration is correct.

PR #20488.
2024-03-08 21:51:44 +08:00
Vladimir Golovnev
1702b6c891 Correctly handle share limits in torrent options dialog
PR #20485.
2024-03-04 11:54:10 +03:00
sledgehammer999
8a1bc8e5fd Bump copyright year 2024-03-03 06:02:40 +02:00
Vladimir Golovnev
0114610a40 Provide torrent creation feature via WebAPI
PR #20366.
Closes #5614.

Co-authored-by: Radu Carpa <radu.carpa@cern.ch>
2024-02-27 15:57:16 +03:00
Chocobo1
15697f904d Add a small delay before processing the key input of search boxes
PR #20465.
Closes #20025.
Closes #20235.
2024-02-27 12:57:55 +08:00
Chocobo1
46e8ee50c8 Allow to set custom suffix to window title
This is to allow users to differentiate qbt instances when there are multiple running.
PR #20429.
Closes #17905.
2024-02-27 12:41:12 +08:00
Chocobo1
cffd74b62a Add support for SSL torrents
The 'SSL torrent' feature is not standardized. I.e. there are no BEP (BitTorrent Enhancement Proposals) associated with it, so we do not greatly encourage its usage as it will only work with libtorrent clients and derivatives. It will not work with other torrent clients that do not support the libtorrent specific implementation.
This PR aims to provide minimal support for those who need SSL torrents. Furthermore, it is intended that there will be no UI support (nor indication) of adding/creating SSL torrents.

* Prerequisites:
  I omit the instructions of creating those files as the intended audience (experts & advanced users) should have no problem with it. All files are as follow:
  1. Root (torrent publisher) certificate
  2. Root private key
  3. A .torrent file created with root certificate 
  5. Peer certificate (signed by the root certificate)
  6. Peer private key
  7. Diffie-Hellman parameters file
  
  All files are stored in .pem format.

* Enable SSL torrent protocol in qbt
  There are 2 hidden keys to put in qbt config file, under `[BitTorrent]` section:
  1. `Session\SSL\Enabled`: set it to `true`.
  2. `Session\SSL\Port`: set it to some unused port or omit the key entirely to let qbt pick one for you.
* Add an SSL torrent to qbt
  The only way of adding an SSL torrent is via WebAPI. The `/api/v2/torrents/add` endpoint will support 3 additional parameters. You must provide them for an SSL torrent.
  1. `ssl_certificate`: Contents of the peer certificate file (in PEM format).
  2. `ssl_private_key`: Contents of the peer private key file.
  3. `ssl_dh_params`: Contents of the Diffie-Hellman parameters file.

* Change the SSL parameters to a torrent
  In case you provided wrong SSL parameters when adding a torrent, there is a new endpoint `/api/v2/torrents/setSSLParameters` that you can update the SSL parameters. The parameters (`ssl_*`) are the same as `/api/v2/torrents/add` endpoint.

* Query the SSL parameters of a torrent
  There is a new endpoint `/api/v2/torrents/SSLParameters` that you can query the SSL parameters of a torrent.

References:
* https://www.libtorrent.org/manual-ref.html#ssl-torrents
* https://blog.libtorrent.org/2012/01/bittorrent-over-ssl/

PR #20338.
---------

Co-authored-by: Radu Carpa <radu.carpa@cern.ch>
2024-02-25 19:58:58 +08:00
Vladimir Golovnev
2755190d8e Link PowrProf library to qBittorrent base
PR #20387.
2024-02-10 11:59:14 +03:00
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
d652a10495 Add seeding limits to RSS and Watched folders options UI
PR #20324.
Closes #19605.
2024-01-27 14:30:27 +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
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
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
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
Chocobo1
cc563d9f78 Fix incorrect usage of translation functions
PR #20107.
2023-12-10 23:07:29 +08:00
Vladimir Golovnev
7a41192597 Add a class to represent a tag
PR #20028.
Closes #19744.
2023-12-05 17:01:09 +03:00
Vladimir Golovnev
bfd3ce2fca Don't forget to update filter items
PR #20030.
Closes #19905.
2023-11-29 07:05:46 +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
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
a1c78a0455 Follow the parent category options
PR #19957.
Closes #19941.
2023-11-20 20:37:17 +03:00
Vladimir Golovnev
2a20764d39 Add option to enable ".unwanted" folder
PR #19926.
2023-11-13 14:25:27 +03:00
Vladimir Golovnev
0f40fad74d Drop WebUI default credentials
PR #19777.
2023-11-10 07:18:42 +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
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
xavier2k6
0186f44bf4 Use appropriate icon for "moving" torrents in transfer list
PR #19821.
2023-11-04 12:09:47 +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
Vladimir Golovnev
e7f38ec6ce Don't forget to delete TorrentContentAdaptor instance
PR #19825.
Closes #19816.
2023-10-31 10:20:23 +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
9b924c1931 Drop support for Windows < 10 2023-10-29 17:40:02 +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
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
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
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
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
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
Chocobo1
0404ff9fb3 Migrate away from deprecated function
`QStyle::standardPixmap()` is deprecated.

PR #19660.
2023-09-30 11:43:11 +08:00