If a savestate is passed in the command line when starting up, do a secondary check for the filename inside the defined savestates directory.
This allows for scenarios where just the filename can be passed as the parameter, instead of the full path to it as well.
* Merge latest Guisan updates from upstream
* Added drawChildren to container
Our SelectorEntry class would not draw the children otherwise
* Add 2 pixels of height to Checkboxes, to avoid font clipping
* bugfix: Fix Dropdown scrollarea would obstruct content (fixes#1476)
* bugfix: Dropdown scroll bar would still get in the way (#1476)
* bugfix: Add 1 more pixel of padding in Textfield (fixes#1478)
* bugfix: changing serial status did not check if the port was available
* bugfix: setbaud did not check if the port was available
* refactor: implementation improvements
* fixed vertical alignment of checkbox
* Fixed bug with string list model
* refactored functions in Expansion panel
Changed order of functions, to match WinUAE's mess closer
* Added Accelerator board RAM slider
* Fixed CPU board sub items dropdown list
* clear more lists when refreshing accelerator dropdowns
* Fixed StrngListModel clear
* Enable multiple RTG boards in cfgfile
* Added registry file, refactor things to use that for storing ROMs
Instead of storing the detected ROMs in the amiberry.conf file, we will switch to using the available functionality of registry -> ini file, that WinUAE already has.
This has become necessary, in order to use the same logic when storying the ROM entries (with their ID and type, not just the filename), which is used from the Expansions panel for custom board roms.
It also means changing the existing ROMs functionality to match, so it's likely some things will need fixing after this as well.
* Fixed rom scanning
* Create XDG dirs on startup, if they don't exist
This happened at least once in WSL2 + Debian, so let's make sure
* Fixed rom scanning again, ensure slash in path when needed
* enhancement: Add new GUI panel, for handling GUI Themes
* Merged preview into gui-themes
* add more widgets on panel
* replaced textfields with sliders
* refactor: optimize PanelThemes
Remove duplicate code, simplify and optimize
* refactor: further optimize PanelThemes
* enhancement: added color box in PanelThemes
* refactor: Themes are now external files, not in amiberry.conf anymore
- Move themes outside of amiberry.conf
- only the theme name remains in amiberry.conf, which points to the filename to use. The default is "default.cfg" and it will be created on startup, if it's missing, with the default theme values.
- added "themes" directory and automatic creation of it on startup, if missing. The location is under XDG_DATA_HOME (~/.local/share/amiberry/themes by default)
- refactored code, themes are now loaded during the prefs_to_gui stage
- added functions for loading/saving themes to filenames
* refactor: load a fallback font if the theme one wasn't found
- Fallback to a standard system font, if the theme one wasn't found
- Enable anti-alias for GUI font
- Create default theme file if it's missing
- Added themes dropdown in GUI
* don't need the extra slash
* refactor: rename theme extension to .theme, load one on startup
- Changed .cfg to .theme for themes
- Load the selected theme on startup
- Set the defaults if the theme is missing a font name
* refactor: rename textbox_background_color to background_color
* feat: added ability to set Global widget colors
* bugfix: SelectFile didn't work when creating new files
* refactor: rename default theme to Default.theme
* added Save As option in Themes
* doc: improved help text in Themes panel
* added some navigation for the Themes panel
Sliders are not included, as they don't have unique IDs yet
* feat: improve high-DPI rendering
Linux already works fine with scaling, but macOS works differently.
Let's see if this improves the situation
* TTF_SetFontSizeDPI is only available on SDL2 2.0.18 or newer
* Move the SDL2 version check in the right place
* Fix macos build