qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
26.84k stars 3.87k forks source link

Add Forced state in addition to Start or Stop #11684

Open Marabon opened 4 years ago

Marabon commented 4 years ago

Currently you can configure download rule to either start or not the torrent after adding. "Forced" option isn't available when you add torrent (across all the app).

As described here #11589 this feature would also allow us to set Forced as status on RSS items, in addition to when creating/adding a torrent to the client.

Medvedishce commented 4 years ago

I will mention #11659 here as well. I really want to have Forced start option be added to dialogs because I use it frequently.

Personally I don't think that global (application level) setting for Forced Start have any meaning because this will stop all queuing, but may be someone really needed to turn off queuing at all?

At this time we have 3 places for individual settings suggested:

BUT!! Application level option will have perfect connection with @glassez suggested feature Inheriting Torrent Settings #9939. Topic perfectly aligns with this feature scope.

So before Inherited Torrent Settings will be implemented globally we can add application level option to Options -> Downloads -> When adding torrent -> "Force start the download". In RSS Downloader we already have two options with inheritance and so we need to add a third one for "Force start: Use global settings/Always/Never". In Add new torrent dialog we need simple checkbox which will listen future inheritance from application and category but now simply acts individually and take on/off state from application setting.

This two will not be problematic to implement currently as small changes. And also this controls could be used in future by Inheritance feature so doing them will not be double work.

On other hand Category implementation is not clear at all without Inheritance and from my opinion let it be postponed till later stages.

Summing my suggestion: let split this feature into two stages: Stage 1) Small GUI changes: Addition Forced start options to Download options, Add new torrent and RSS Downloader dialogs. Stage 2) Integration of Forced start setting in the Inheriting Torrent Settings #9939 feature as one of supported inherited features. At 2-nd stage will also be done category implementation.

Marabon commented 4 years ago

Thanks, that sums it up pretty well as the suggestion by @glassez was to get this implemented "across all the app" first, which means torrent creation, etc.

Let's hope this makes it in fairly soon!

glassez commented 4 years ago

To eliminate possible misunderstanding, I will describe how such settings work (at least I try to bring their behavior to uniformity, but some old ones may not follow this yet). You can set Default value for some setting (usually in Options dialog). It will be shown to you during some interactive processes so you can either use it or change. Also it will be used in automated processes, e.g. when you add torrent without dialog (really everytime you don't redefine it explicitly).

"Forced run" is some kind of "exceptional" features so there's no meaning to allow to set its default value (it should be always false). But we can allow to change it when you add torrent (either explicitly or using some kind of automation, e.g. RSS Auto Downloader).

When I said about "application level" I just mean that we need to allow this option in "add torrent" code so all application components can use it then (i.e. it's not RSS only related issue).

glassez commented 4 years ago

One more addition. There shouldn't be two settings "Add torrent paused/resumed" and "Add torrent forced/managed" since their intersection gives 4 values but only 3 of them have meaning. So there should be only one setting with 3 options "Add torrent paused/resumed/force resumed".

Medvedishce commented 4 years ago

One more addition. There shouldn't be two settings "Add torrent paused/resumed" and "Add torrent forced/managed" since their intersection gives 4 values but only 3 of them have meaning. So there should be only one setting with 3 options "Add torrent paused/resumed/force resumed".

Totally agree with this.

And with this there no necessity to quarrel about Default value for "Forced": in Options user can select only first two values "Add torrent paused/resumed", force resumed not available for selection. Then at the lover levels he can.

Marabon commented 4 years ago

Any news on this, @glassez ?