config: Unify config handling under frontend_common

Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings.

As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
This commit is contained in:
t895 2023-11-12 02:03:01 -05:00
parent 8da5bd27e9
commit da14c7b8e4
57 changed files with 2546 additions and 3439 deletions

View file

@ -206,9 +206,9 @@ const char* TranslateCategory(Category category) {
case Category::UiAudio:
return "UiAudio";
case Category::UiLayout:
return "UiLayout";
return "UILayout";
case Category::UiGameList:
return "UiGameList";
return "UIGameList";
case Category::Screenshots:
return "Screenshots";
case Category::Shortcuts: