Commit Graph

2095 Commits

Author SHA1 Message Date
Chocobo1
22ac68152f Fix torrent content checkboxes not updated properly
And reduce emitting redundant 'data updated' signals.

Closes #17144, #17764.
2022-10-04 13:08:21 +08:00
Chocobo1
2831ad5d22 Remove unused functions 2022-10-04 13:08:21 +08:00
Chocobo1
3f15f4a44e Fix coding style 2022-10-04 13:08:21 +08:00
Nick Korotysh
26d78f6462 Open destination folders on macOS in separate thread
In some unknown way, the one line in Objective-C affects Qt's main
loop causing the crash in QApplication::exec() on processing next
event after that call.

Even crash doesn't happen exactly after this call, it will happen
on application exit. Call stack and disassembly are the same in
all cases.

But running that code in another thread solves the issue.

Original PR: #17305.
2022-07-06 13:10:38 +08:00
summer
c7daaf95fc Make working set limit available only on libtorrent 2.0.x builds
You can already control the cache size in libtorrent 1.2.x so it doesn't make sense to implement this limit for all use cases. Also there are some downsides to using working set size to limit memory usage such as unresponsive GUI when limit gets hit.
2022-07-05 12:36:07 +08:00
Vladimir Golovnev
b760f37093 Improve D-Bus notifications handling
Make notifications clickable on Linux by assigning "default" action.
Don't react to unrelated notifications clicked by keeping track of qBittorrent notifications IDs and filter out unrelated ones.
Make D-Bus Notifications interface proxy class to be maintained manually and fix coding style in it.
Closes #9084.
PR #17282.
2022-07-01 11:27:16 +03:00
Chocobo1
3f142360ed Fix wrong file names displayed in tooltip
Closes #17179.
2022-06-12 12:55:59 +08:00
thalieht
8d408ffc8b Consistently emit signal when file "ignored" state is changed
PR #17042.
Closes #17037.
2022-05-20 08:29:22 +03:00
Chocobo1
aa39c7aae5 Fix wrong GUI behavior in "Optional IP address to bind to" setting
Previously the address field got erroneously reset to "All addresses"
when the network interface is down.
2022-05-20 12:29:31 +08:00
summer
0c8220c9fd Prevent the new update box from blocking input on other dialogues
PR #16678.
2022-05-01 16:20:00 +03:00
Vladimir Golovnev
169c4991d5 Use an appropriate method to show modal dialog
PR #16809.
2022-04-06 08:39:34 +03:00
Chocobo1
c621cae43b Don't use explicit memory management
And avoid dangling pointers.
Original PR #16705.
2022-03-27 14:17:42 +08:00
Vladimir Golovnev
e5894831ec Prevent crash when open torrent destination folder
Uses the same workaround as Qt does to call ShellExecute() when you use QDesktopServices::openUrl().

PR #16670.
Closes #16423.
2022-03-20 21:54:34 +03:00
Vladimir Golovnev
11c45db2ec Allow to limit max memory working set size
PR #16485.
2022-03-12 21:40:02 +03:00
Vladimir Golovnev
5d161d2477 Correctly handle changing of global save paths 2022-03-04 14:07:58 +03:00
thalieht
b3d46ecb78 Add Select All/None buttons in new torrent dialog 2022-02-01 08:07:03 +03:00
thalieht
80035a2520 Fix "Free space on disk" in new torrent dialog
Always initialize it.
2022-02-01 08:07:03 +03:00
Chocobo1
6790335239 Fix crash when shutting down and clicked on system tray icon
Disconnect all signals of system tray icon when shutting down.

Closes #16324.
PR #16328.
2022-02-01 12:53:33 +08:00
Vladimir Golovnev
48ff494dca Open correct directory when clicked on Browse button
PR #16252.
2022-01-28 08:27:07 +03:00
thalieht
397b7b9407 Add tooltip to Automatic Torrent Management context menu action
PR #16241
2022-01-27 07:42:23 +03:00
thalieht
6e0c1e2147 Add confirmation for enabling Auto TMM from context menu
PR #16241
2022-01-27 07:42:23 +03:00
thalieht
270e2023cd Fix wrong closing brace position
Regression from 0086bf8958.
PR #16172.
2022-01-22 08:17:07 +03:00
Vladimir Golovnev
5ac858213b Don't start separate event loop for QFileDialog
It conflicts with QMenu on Qt6 that causes the crash.

PR #16158.
2022-01-22 08:17:07 +03:00
thalieht
8493e1ad64 Restore all settings to the torrent list's context menu
Set location
Category
Sequential download
Download first/Last pieces first
Automatic Torrent Management

PR #16016.
2022-01-16 12:06:46 +08:00
thalieht
fe90fcef5b Update the torrent's download path field when changing category
In torrent options dialog while in Automatic Management Mode.
PR #16026.
2022-01-16 12:06:46 +08:00
sledgehammer999
e8c65388eb Bump copyright year 2022-01-04 01:39:00 +02:00
Chocobo1
01a0fff4c2 Add missing field initial value
Suppresses the following warning:
qBittorrent/src/base/bittorrent/categoryoptions.cpp: In static member function ‘static BitTorrent::CategoryOptions BitTorrent::CategoryOptions::fromJSON(const QJsonObject&)’:
qBittorrent/src/base/bittorrent/categoryoptions.cpp:44:59: warning: missing initializer for member ‘BitTorrent::CategoryOptions::DownloadPathOption::path’ [-Wmissing-field-initializers]
   44 |         options.downloadPath = {downloadPathValue.toBool()};
2022-01-03 23:42:48 +02:00
Chocobo1
bf9516d164 Simplify code
This version saves an `if` conditional.
2022-01-03 23:42:48 +02:00
Prince Gupta
7e8a176751 Support folder based UI Themes
Support folder based Themes in UIThemeManager.
Add option to select config.json as them file.

PR #15888.
2022-01-03 09:11:12 +03:00
Vladimir Golovnev
61504ae3b1 Merge pull request #15793 from glassez/save-path
Redesign "Incomplete folder" feature
2022-01-02 22:25:00 +03:00
Vladimir Golovnev (Glassez)
1c0f8b4289 Redesign "Incomplete folder" feature
Change "Incomplete/temp folder" term with "download folder".
Allow to set "download folder" per torrent (in manual mode) and per category (in automatic mode).
2022-01-01 20:58:49 +03:00
Chocobo1
63043b4927 Replace min, max, clamp functions with std counterparts 2022-01-01 15:22:07 +08:00
Chocobo1
3ea4c66d41 Replace QPair with std::pair 2022-01-01 15:22:07 +08:00
Vladimir Golovnev (Glassez)
b0e41abf5a Allow to set placeholder for FileSystemPathEdit 2021-12-20 08:56:33 +03:00
Vladimir Golovnev
5347897b7d Merge pull request #15852 from glassez/torrent-info
Improve torrent content handling
2021-12-20 08:54:46 +03:00
Vladimir Golovnev (Glassez)
6f8fae9a7b Apply selected layout to displayed torrent content 2021-12-19 16:16:16 +03:00
Vladimir Golovnev (Glassez)
62b50d1475 Make TorrentInfo immutable 2021-12-19 16:16:16 +03:00
Vladimir Golovnev
2fb0c86f1e Add "Show torrent options" double-click action
PR #15853.
Closes #15837.
2021-12-19 09:01:20 +03:00
Chocobo1
cca93c2be2 Show GUI lock icon after system tray icon is initialized 2021-12-14 14:41:17 +08:00
Chocobo1
85777ea491 Simplify tray icon related code 2021-12-13 15:56:20 +08:00
Chocobo1
b8a84dbd83 Disable system tray icon menu when app is exiting 2021-12-13 15:56:16 +08:00
Chocobo1
1fa940876f Remove redundant UI cleanups
Just exiting the application will handle all of them automatically.
2021-12-13 15:08:25 +08:00
Chocobo1
6ccc92020c Disable "add peers" menu items instead of hiding it
Menu item in disabled state can show tool tip to help user understand
why it is unavailable.
Related issue: #15785.
PR #15787.
2021-12-06 13:54:38 +08:00
Chocobo1
e3fe66d3ec Store enum type in settings directly
Affected settings will be migrated to new keys so nothing should break.

PR #15800.
2021-12-06 13:53:52 +08:00
Chocobo1
0e1849346b Avoid iterating over a temporary variable 2021-11-29 00:31:03 +08:00
Chocobo1
0f34e3bed9 Don't use deprecated Q_ENUMS
See: https://doc.qt.io/qt-5/qobject-obsolete.html#Q_ENUMS
2021-11-29 00:31:03 +08:00
Chocobo1
51469f8fa2 Store Qt6 table header states under a different key
Follow up 22abbc1d41.
PR #15774.
2021-11-23 11:02:07 +08:00
Chocobo1
b063042988 Apply download priority immediately in torrent content view
Apply the new priority after picking it via drop-down menu.

Fixes #14667, #15238.
PR #15739.

Co-authored-by: a-sum-duma <68896601+a-sum-duma@users.noreply.github.com>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2021-11-16 13:50:53 +08:00
a-sum-duma
fa1d49add5 Properly check if file priority changes
Current item priority is compared against new checkbox state. I believe the intention was to check if the priority changes before performing further actions. This PR fixes the issue - compare priority against new value that is about to be set rather then the checkbox state.

PR #15740.
2021-11-16 13:50:11 +08:00
Chocobo1
b45248bf99 Merge pull request #15452 from thalieht/autoTMM
Move some options from transfer list's context menu into "Torrent options" dialog
2021-11-10 12:39:59 +08:00