|Re: [hatari-devel] Hatari UI with Qt?|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
Le 26/11/2012 14:36, Eero Tamminen a écrit :
Are you proposing that UI plugins would be dynamically loaded instead
of one of them being selected at built time and being statically
compiling into Hatari (like now)?
no, not dynamically loaded, that would be a hell to maintain with little
benefit. Statically linked at compiled time, using some ifdef and config
option for cmake, but at least the user can choose which UI he wants to
add (SDL or QT for now)
Then SDL or QT UI would manipulate only these structures (either
directly, or using some set/get functions with some flags to indicate if
the option was changed in the UI or not).
Hatari already has such structures. They're accessible through
the ConfigureParams global variable. See configuration.h.
I agree, I was just describing the global model. Of course as config
structs are already there, it would be better to adapt them when needed
instead of re-inventing the wheel.
Normal UI interaction is modal, and it's Hatari that invokes the UI.
Emulation is stopped while user changes the options, and all the changes
are applied at the same time before emulation continues. The UI part will
next time get the changed settings.
Not always modal ; consider a button in the UI that would allow to go to
fast forward mode when pressed (as in Steem). In that case, emulation is
not stopped, it's immediatly updated.
Currently SDLGui_FileSelect() is called only for from "change floppy"
shortcut in shortcuts.c.
If you want to make a generic file selector wrapper, we need to
drop the support for selecting disk images in zip archives, that's
not supported by any GUI toolkit file selector that I know of.
(I would actually be happy about dropping zip support from the SDL
UI too. Zip archive support just complicates more the already complicated
SDL file selector code while Gzip, which doesn't have this problem,
compresses the disk images better than zip.)
Maybe we can loose zip support when using the QT UI, but IMO we should
keep it for the SDL UI.
Like it or not, but most/all games/demos you can download on various
site are zip file. Being able to download a zip file and use it directly
is really handy (the gain of gzip compared to zip on a 700 K floppy is
neglictable) and also many users on Windows/Mac are not always used to
unzip their files (in the Atari emulation world, zip support is standard
amongst major emulator)