Open main menu

Difference between revisions of "GUI Themes/TODO"

1,333 bytes removed ,  06:46, 20 June 2010
Update with current status
m (consistency change)
(Update with current status)
Line 22: Line 22:
* EditableWidget: Let setEditString filter the string it gets
* EditableWidget: Let setEditString filter the string it gets
* EditableWidget: Right now, custom filtering requires the user to subclass; it would be nice if there was simply a "validator hook" or so. Maybe take some inspiration from Java's Swing in this matter.
* EditableWidget: Right now, custom filtering requires the user to subclass; it would be nice if there was simply a "validator hook" or so. Maybe take some inspiration from Java's Swing in this matter.
* ScrollBarWidget: Add auto-repeat: if user clicks & holds on one of the arrows, then after a brief delay, it should start to contiously scroll.
* List widget
* List widget
** get mock-up from Krest
** get mock-up from Krest
Line 36: Line 35:
** (optionally) draws a title
** (optionally) draws a title
** The ideal version of this would also support a checkbox in the title, and would automatically disable/enable all contained widgets if the checkbox gets activated (this is also demonstrated in the above Qt example)
** The ideal version of this would also support a checkbox in the title, and would automatically disable/enable all contained widgets if the checkbox gets activated (this is also demonstrated in the above Qt example)
** If we ever add radio buttons, then those could be grouped via a GroupBoxWidget, too
** Clearly this widget would be of great use for the options dialogs, for the "Override XYZ" checkboxes
** Clearly this widget would be of great use for the options dialogs, for the "Override XYZ" checkboxes
* ButtonWidget: Allow drawing the 'default' button in a visually distinct way
* ButtonWidget: Allow drawing the 'default' button in a visually distinct way


=== Dialogs ===
=== Dialogs ===
* Add a new "options" dialog which is used by all frontends: for this, we'd agree on a hotkey used in all engines to invoke that dialog; it would sport settings for the volume, graphics, paths, etc.; it would co-exist with the engines "native" option dialogs. The about dialog would be reachable from here, too, as well as a quit button. Justification: This ensures that all settings are really reachable from all of the engines, which is not the case currently. Problem: It's not fully clear to me how to "best" deal with global vs. local settings here...
* About dialog
* About dialog
** looks bad. Probably add some shadows and text padding
** looks bad. Probably add some shadows and text padding
Line 49: Line 46:
** Add a "fade" effect for the top/bottom text lines
** Add a "fade" effect for the top/bottom text lines
** Maybe prerender all of the text into another surface, and then simply compose that over the screen surface in the right way.
** Maybe prerender all of the text into another surface, and then simply compose that over the screen surface in the right way.
* Chooser aka Add game dialog
** [Classic Theme] Adjust size and position of the chooser to Launcher
* Options dialog
* Options dialog
** There is currently no way to unset/reset-to-default the path settings from the GUIsettings.
** There is currently no way to unset/reset-to-default the path settings from the GUIsettings.
Line 56: Line 51:
*** Alternatively, add "Reset to Default" buttons to each path setting, possible similar to the one used with the soundfont (which is a rather too cryptic, IMO)
*** Alternatively, add "Reset to Default" buttons to each path setting, possible similar to the one used with the soundfont (which is a rather too cryptic, IMO)
** Several texts, e.g. vcMusicText, have their alignment set to kTextAlignRight, but are still drawn as left-aligned.
** Several texts, e.g. vcMusicText, have their alignment set to kTextAlignRight, but are still drawn as left-aligned.
** [Classic Theme] Adjust size and position of the "Options" dialog to Launcher
** It would be nice if you could select theme from the GUI. The "Graphics" tab, perhaps?
* Edit game dialog
** [Classic Theme] Adjust size and position of the "Edit game" dialog to Launcher
* The sliding action of the debug console takes a lot more CPU now than it used to. On my 450 MHz P3, I don't even see it slide in 2x mode. It seems to appear/disappear all at once.
* The sliding action of the debug console takes a lot more CPU now than it used to. On my 450 MHz P3, I don't even see it slide in 2x mode. It seems to appear/disappear all at once.
* File browser dialog
* File browser dialog
Line 113: Line 104:
To this end, query the responsible engine plugin when the user hits the 'Edit Game' button. Then it returns back a structure (or just a StringMap) describing the capabilities of the game. This structure could contain:
To this end, query the responsible engine plugin when the user hits the 'Edit Game' button. Then it returns back a structure (or just a StringMap) describing the capabilities of the game. This structure could contain:


* a list of languages that game instances support (empty = unknown/any; one language; or multiple language for multi-lang games)
* the native resolution of the game (320x200, 320x240, 640x480) etc. -- this info can be used to select an appropriate default scaler (could also be used on-the-fly when starting a game)
* the native resolution of the game (320x200, 320x240, 640x480) etc. -- this info can be used to select an appropriate default scaler (could also be used on-the-fly when starting a game)
* List of supported audio/sound modes (MIDI, pcspk, adlib, digital audio, ...)
* Whether copyprotection can be toggled
* Whether copyprotection can be toggled
* Whether aspect ratio correction makes sense for that game
* Whether aspect ratio correction makes sense for that game
Line 127: Line 116:
* tempo (do we still need/want that, anyway?)
* tempo (do we still need/want that, anyway?)
** This was [http://sourceforge.net/mailarchive/message.php?msg_id=CA502952-47F2-4E65-A90D-769C4F0D6B99%40quendi.de discussed briefly] on the scummvm-devel mailing list in 2006.
** This was [http://sourceforge.net/mailarchive/message.php?msg_id=CA502952-47F2-4E65-A90D-769C4F0D6B99%40quendi.de discussed briefly] on the scummvm-devel mailing list in 2006.
* midi_gain
* copy_protection
* copy_protection
* debuglevel (could help with bug reports)
* debuglevel (could help with bug reports)
Line 153: Line 141:
* True Roland (supported only by games with MT-32 tracks)
* True Roland (supported only by games with MT-32 tracks)
* Roland GS (same as above)
* Roland GS (same as above)
* midi_gain
* current GUI theme
* GUI Language