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.
* Improvement in Directory Path Detection for Shortcuts
This pull request updates how the directory path for shortcuts is determined. The main changes are:
1. Replaced the use of environment variables to determine the path of the desktop and applications menu with `QStandardPaths::writableLocation`. This change addresses an issue where the desktop path was not correctly identified when its location was customized, as shown in the attached screenshot.
2. Added conversion from `QString` to `std::string` using `toUtf8()`, which correctly handles non-ASCII characters in directory paths. This change ensures that directory paths containing Portuguese words like "Área de trabalho" are supported.
3. Replaced directory checking using `Common::FS::IsDir()` with `QDir::exists()`.
These changes should improve cross-platform compatibility and code robustness. Because it couldn't locate my desktop, which wasn't on the C drive, but on the F, and even though localization wouldn't work because it was setting it to find the 'Desktop' folder and in the computer's language it says 'Área de trabalho', that will fix for other languages too.
* Update main.cpp
* formatting
* Update src/yuzu/main.cpp
Co-authored-by: Tobias <thm.frey@gmail.com>
* Update src/yuzu/main.cpp
Co-authored-by: Tobias <thm.frey@gmail.com>
* Update main.cpp
* Update main.cpp
* Update main.cpp
desktopPath > desktop_Path
applicationsPath > applications_Path
* Update main.cpp
* formatting
* Update main.cpp
This code will attempt to use QStandardPaths to find the applications directory. If that fails, it will resort to using the ~/.local/share/applications directory, which is a common location for application shortcuts in Linux.
* Update main.cpp
* formatting
---------
Co-authored-by: Tobias <thm.frey@gmail.com>