MantisBT - Doomseeker
View Issue Details
0003754DoomseekerUIpublic2020-01-30 15:562023-02-19 14:13
WubTheCaptain 
Zalewa 
nonetweakhave not tried
resolvedfixed 
1.3.1 
1.4.01.4.0 
0003754: Saving "custom parameters" has a confusing UX
We start with screenshot 1.
What is the dropdown menu arrow for? Clicking it doesn't do anything (yet). Why is this not a simple text box, why is this a (broken) dropdown menu?

Type anything into custom parameters and we get screenshot 2. Ah, we get a save icon.
Should I click the "save" icon or click OK in the settings at this point?

Let's just go with "OK" for global settings now.
Good, my "asdf" option becomes part of the join command line.

Back to settings, let's empty the "asdf" custom parameters line. "OK".
All works so far, the custom parameter was removed from join command line.

Next, back to custom parameters. This time I type in "--foobar" and click the save icon. Now the save icon becomes an X. (Screenshot 3)
But, now instead of clicking "OK" or "Apply" I close the window (or click "Cancel"). What happens?
Well, the --foobar option didn't become appended to join command line. But I saved, right? Did I?

Let's see back in my settings? The custom parameters option is empty, no "--foobar" there. Where's my --foobar?
Oh, it's behind this dropdown menu (arrow) which wasn't working earlier.

I'll select my --foobar from the dropdown menu and click the untitled "X" button next to it – this is one of the few buttons with no hover-over help text, by the way.
Now it's not in my dropdown menu anymore, as expected!

At this point I've already forgotten how the feature works at all with join command line, so I am amazed to rediscover that not saving my --foobar to a dropdown menu but clicking "OK" works just fine.

I go back to my settings and --foobar is waiting for me there. Why was it not waiting for me there last time? ... Oh.
  1. Start Doomseeker.
  2. Options → Configuration (F5) → any game plugin you have installed (which supports custom parameters; e.g. Zandronum).
  3. Play around with custom parameters, as described in OP.
No tags attached.
related to 0003755resolved Zalewa Saving a custom parameter jumps to the next "masterserver address" textbox instead of continuing typing on the custom parameters 
png 2020-01-30-154212_maim.png (2,584) 2020-01-30 15:57
https://zandronum.com/tracker/file_download.php?file_id=2558&type=bug
png

png 2020-01-30-154230_maim.png (3,982) 2020-01-30 15:57
https://zandronum.com/tracker/file_download.php?file_id=2559&type=bug
png

png 2020-01-30-155734_maim.png (4,140) 2020-01-30 15:57
https://zandronum.com/tracker/file_download.php?file_id=2560&type=bug
png
Issue History
2020-01-30 15:56WubTheCaptainNew Issue
2020-01-30 15:57WubTheCaptainFile Added: 2020-01-30-154212_maim.png
2020-01-30 15:57WubTheCaptainFile Added: 2020-01-30-154230_maim.png
2020-01-30 15:57WubTheCaptainFile Added: 2020-01-30-155734_maim.png
2020-01-30 16:00WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=12998#r12998
2020-01-30 16:10WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=12999#r12999
2020-01-30 16:11WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=13000#r13000
2020-01-30 16:13WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=13001#r13001
2020-01-30 16:13WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=13002#r13002
2020-01-30 16:14WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=13003#r13003
2020-01-30 16:15WubTheCaptainReproducibilityalways => have not tried
2020-01-30 16:21WubTheCaptainNote Added: 0021166
2020-01-30 16:24WubTheCaptainDescription Updatedbug_revision_view_page.php?rev_id=13004#r13004
2020-01-30 16:29WubTheCaptainNote Edited: 0021166bug_revision_view_page.php?bugnote_id=21166#r13006
2020-01-30 16:29WubTheCaptainNote Edited: 0021166bug_revision_view_page.php?bugnote_id=21166#r13007
2020-01-30 16:30WubTheCaptainNote Edited: 0021166bug_revision_view_page.php?bugnote_id=21166#r13008
2020-01-30 16:31WubTheCaptainSeveritytrivial => tweak
2022-12-17 23:35ZalewaStatusnew => acknowledged
2022-12-17 23:36ZalewaTarget Version => 1.4.0
2022-12-18 00:14ZalewaRelationship addedrelated to 0003755
2022-12-18 12:43ZalewaAssigned To => Zalewa
2022-12-18 12:43ZalewaStatusacknowledged => assigned
2022-12-18 14:19ZalewaNote Added: 0022533
2022-12-18 14:19ZalewaStatusassigned => feedback
2023-01-05 12:42ZalewaNote Added: 0022668
2023-01-05 12:42ZalewaStatusfeedback => needs testing
2023-02-19 14:13ZalewaStatusneeds testing => resolved
2023-02-19 14:13ZalewaFixed in Version => 1.4.0
2023-02-19 14:13ZalewaResolutionopen => fixed

Notes
(0021166)
WubTheCaptain   
2020-01-30 16:21   
(edited on: 2020-01-30 16:30)
I get it: It's a powerful and useful feature, but I only learned how to use it through trial/misdirection and error. Once I learned something to work someway (based on misconceptions), the program would quickly re-educate me things to work differently than what I just learned. Repeat until the loop is complete and all pieces fit together again.
Perhaps populating the empty dropdown menu with an non-selectable option could be helpful to understand what the dropdown menu is for?
It could also be helpful to display a disabled (greyed out) "save" button when the custom parameters text box is empty, instead of hiding that feature. I've never known this to be a thing, since I started using Doomseeker from version 1.1!
The missing help text to the buttons should be added, obviously.

(0022533)
Zalewa   
2022-12-18 14:19   
The portion of the UX confusion comes from the fact that there are no buttons when the input is empty. Also the buttons could use some tooltips to explain how they work. This is fixed here:'https://bitbucket.org/Doomseeker/doomseeker/commits/51102af4f2cddd841bdc67ad3c103c21b0d0a1d9 [^]'

Now there are two issues remaining:

1. The dropdown arrow for an empty combo box.
2. The disconnect between the "OK/Cancel" buttons of the entire dialog box and the "Save/Remove" buttons for the parameters list.

So, ad. 1, the dropdown arrow is the element of the QComboBox. Since QComboBox is desireable in this place, because this widget should behave like a combo box when there are items saved there, I don't think we should be replacing it with some other widget like QLineEdit+QCompleter. People (on qtcentre) also offer some suggestions to either subclass QComboBox and overwrite the paint event to hide the arrow or to apply a stylesheet to hide the arrow. Neither solution seems future-proof to me, and the stylesheet one is downright hackish (and doesn't work).

Some solution would also be to make the UI toggle between the QComboBox and a QLineEdit depending on whether there are saved elements - just swap the visibility of two separate items. But this is extra complexity in the code, more difficult to maintain, and bug prone.

All of these "solutions" don't appear worthy to me, so perhaps instead of trying to hide the arrow for an empty list at all costs, it should be more apparent that this is a list ready to be filled by the user? And, now, maybe what I already did in the commit is enough? If there's a "save" button that is next to the list and that is always visible, then the user will be able to deduce that this is a list ready for elements being added to it, therefore maybe the problem is solved already?

The ok/cancel problem (ad. 2) is something that I don't necesarilly want to solve (change the behavior of). Yes, when you save the parameter list and then cancel the dialog box it may be somewhat unexpected that something got saved anyway, but this something is only an internal storage of the program. It doesn't really affect the configuration/settings of the program. The tooltips added in the commit may help reduce the confusion here, maybe?
(0022668)
Zalewa   
2023-01-05 12:42   
Beta package for Windows available at the beta auto-update channel and at:
'https://devbuilds.drdteam.org/doomseeker/doomseeker-1.3.3~beta-230105-1140_windows.zip [^]' [^]

Please test if the custom parameters in the engine config box are being saved, removed and used properly.