Commit graph

13 commits

Author SHA1 Message Date
t895
051afd21e7 frontend_common: config: Refactor WriteSetting to stricter types
Previously this could cause problems if a version of the template generated for WriteSetting didn't use the type you needed (e.g. floating point values). Now these are all ready without having to be used within frontend_common first.
2023-12-30 15:11:36 -05:00
t895
6b5fb2063f frontend_common: Fix settings reload bug
This clears the touch_from_button_maps array before we read new data into it because this read duplicate data on a reload otherwise.
2023-12-12 17:25:36 -05:00
liamwhite
aded28f276
Merge pull request #12204 from t895/config-migration
android: Multi directory UI
2023-11-29 12:34:09 -05:00
t895
b8f66c9412 android: Multi directory UI 2023-11-27 23:46:29 -05:00
Alexandre Bouvier
fe3702223f cmake: prefer system simpleini library 2023-11-26 03:45:10 +01:00
t895
dda187d300 frontend_common: Don't specify default value for screenshot_path 2023-11-23 00:36:45 -05:00
t895
0b8218d8eb frontend_common: Don't load config files that we fail to open 2023-11-23 00:30:49 -05:00
t895
d8f380961e frontend_common: Add option to read unsigned integers 2023-11-21 21:01:46 -05:00
t895
1654b8f9e0 frontend_common: Set config array size to 0 if the array is ended without changing its index 2023-11-21 15:14:41 -05:00
t895
14398a1cbb frontend_common: Manually handle opening config file
SimpleIni only has the ability to use ANSI strings for config paths so this breaks opening configs on paths with special characters. This ensures that we open the right path on each platform.
2023-11-21 14:53:32 -05:00
t895
f3fe362c93 frontend_common: Add special config case for unmapped windows network drives
Normally we save paths with '/' as the delimiter for each segment but when you manually select a network drive instead of using a mapped location, this would break. This ensures that if the read filesystem location starts with '//', we keep that pattern.
2023-11-21 01:58:13 -05:00
t895
eedecaef96 frontend_common: Disable UTF-8 BOM in config 2023-11-21 01:58:13 -05:00
t895
da14c7b8e4 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.
2023-11-21 01:58:13 -05:00