GUI: Improve PopupWidget rendering / theme layouting
|Reported by:||fingolfin||Owned by:||sev-|
The following is a partial excerpt from a mail I sent to scummvm-devel some months ago. It lists some feedback on our current GUI, esp. in 1x scaler mode (so at 320x200 or 320x240)
Launcher options dialog: * Audio tab: the "Subtitle speed:" and "Text and Speech:" should IMO be aligned along the ":" with the other two labels. * Volume tab: Align the three labels along their colon? (probably means setting them to be right aligned) * Misc tab: The rendered popup is not wide enough to display the full renderer name. But we could grow it a bit, by moving the label more to the left, that might be sufficient.
Launcher game edit dialog: * On the audio tab, if the Override checkbox is *not* active, all items are supposed to be grayed out. The popup button, however, is not. * Volume tab: See options dialog
GMM (global main menu), triggered right now via F6 in SCUMM and other games: * I would consider right-aligning the widget labels, along the colon.
Now, the conclusion I draw from this is the following: Right now, our popup widgets are "special" in that they include their label, as do e.g. checkboxes. On the other hand, edit widgets or slides do not. This makes it inherently difficult to nicely align labels, as can be seen in our option dialogs.
One way to solve this is the following: First, get rid of the built-in label of the popup widgets. Next, introduce a new themelayout, GridLayout (or maybe just a special case: TwoColumLayout). Then, to create a typical options dialog, we add a layout with two columns. The left column contains the labels and is set to "right align" (resp. the labels in it are; this is really an implementation detail, and I don't care about the specifics). The right column contains the popups, sliders, buttons, checkboxes, editfields etc., and is left aligned.
With this it would be very easy to give those option dialogs a nice uniform layout.
BTW, one reason our popupwidgets have the label "built-in" is that this allows the user to click on the label to trigger the popup. But this is maybe not a very important feature.
Ticket imported from: #2507667. Ticket imported from: feature-requests/495.