oleksis / youtube-dl-gui

A cross platform front-end GUI of the popular youtube-dl written in wxPython.
https://oleksis.github.io/youtube-dl-gui/
The Unlicense
1.71k stars 113 forks source link

Button arrangement on Options dialog is cumbersome #129

Open InteXX opened 1 year ago

InteXX commented 1 year ago

Prerequisites


What is the purpose of your issue?


Feature request (request for a new functionality)


What operating system do you use?

Windows 11


Issue description

Could you move the Reset button over to the left-hand corner, change the Close button caption to OK and add an Apply/Cancel button set? The gold standard for dialogs features an OK/Apply/Cancel button set with the following ruleset: OK saves changes and exits; Apply saves changes but doesn't exit; Cancel exits without saving changes.

With the Reset button currently in the normal OK position, it's far too easy to click it by mistake and lose a whole host of painstakingly-crafted settings. Force of habit is powerful, and owing to the standard we've become very much accustomed to clicking the leftmost button in the lower right-hand corner in order to save changes. Unfortunately, however, yt-dlg's current button arrangement far too often leads to the exact opposite result.

Please consider moving the destructive Reset button to the lower left-hand corner and implementing an OK/Apply/Cancel button set in the lower right-hand corner.


oleksis commented 1 year ago

Can share the mockup how will look for the OS running?

InteXX commented 1 year ago

I expect it might look something like this:

image

OK would be the dialog's Accept button (initiated when Enter is pressed), and Cancel would be the dialog's Cancel button (initiated when Esc is pressed). The underlined hotkeys would initiate when their corresponding key combinations are pressed (Alt+R, Alt+O, etc).

The hotkeys are a good choice for accessibility design (keyboard only users, etc).

That's generally the ruleset.

InteXX commented 1 year ago

I'd give it a stab myself, but I've not written a lick of Python.

I see Python is now supported in Visual Studio, so at least there's that.

oleksis commented 1 year ago

We will need the consensus for the legacy behavior. Need design a Dialog keep the actual behavior and follow the general guidelines

InteXX commented 1 year ago

Sure, makes sense. You could skip the Apply button and swap the order of the OK/Cancel buttons.

But the Reset button is still best moved to an area all its own, its functionality perhaps even wrapped in a warning: "Are you sure you want to reset your configuration to the defaults?"