Add support for setting CPU compatibility + cycle-accuracy,
+ FPU type + accuracy, MMU and ST blitter options.
For now this still takes into account whether underlying Hatari
version uses WinUAE core or not. That will be removed for next
release.
Setting the socket bg isn't really necessary, so just remove it.
Otherwise fixing the deprecation warning would require changing
it to use Gtk Style context, Style provider, CSS etc.
After this the only remaining PyGTK (v3.22+) deprecation warnings
should be for Gtk Action/ActionGroup widgets i.e. menu handling.
Update TODO accordingly.
"hatariui.py" changes are from Jens Guenther, thanks!
Also update docs accordingly (while python2 may still work, it's
not tested, so don't mention it any more in README).
If config file had invalid paths for some of files, setting full
dialog's worth of options (including faulty ones from config file +
user changed ones) in a single [1] Hatari control API command line
would result in Hatari rejecting all the changes due to one invalid
option value.
Hatari option setting is currently one-way so Python UI doesn't know
about these errors and Hatari doesn't give any indication of them for
user either (except in console).
Therefore this commit will filter out invalid file name options from
the command line (given to Hatari through Python UI control socket).
Note that this is an issue only with (floppy, HD and TOS) image files
as Hatari socket / command line parsing validates those immediately.
It's not an issue with device files as Hatari will itself notify user
about invalid paths and it disabling corresponding device
functionality as result.
[1] Dialog options are given in one go to Hatari so that only one
reboot is needed for all the dialog option changes triggering one.
- If user cancels, config changes aren't discarded, so change text
to ignore
- Ask for config save/ignore/cancel before killing Hatari,
as quitting can't be canceled after Hatari is dead
- Scale config viewport with dialog resizes, otherwise viewing
larger number of changes is hard
- Improve Hatari kill dialog text
Resize handling requires GtkScrolledWindow functions that came in Gtk
v3.22, which is available in Ubuntu 16.04 and Debian 9 (current
oldstable) => update docs accordingly.
- table dialog helper supports multiple columns
- table helper for radio button group items
- use above in machine config dialog
- add CPU level & clock and Falcon DSP support to machine config dialog
and configuration handler
and simplify the display dialog code a bit
- remove support for multiple machine setups now that Hatari config
loading (after startup) works, this makes the dialog easier to use
- fix memory size setting
- other minor changes