- Move various settings to `/data/settings` and `/sdcard/settings` - Fix for `Gui` and `Statusbar` errors on startup (LVGL start) - Implement Development service settings as properties file - Rename `service::findManifestId()` to `service::findManifestById()` - Renamed various classes like `BootProperties` to `BootSettings` - Renamed `settings.properties` to `system.properties`. Code was moved to `settings` namespace/folder - `DevelopmentSettings` is now in `settings` namespace/folder (moved from service)
66 lines
1.5 KiB
C++
66 lines
1.5 KiB
C++
#include <Tactility/Log.h>
|
|
#include <Tactility/settings/Language.h>
|
|
#include <utility>
|
|
#include <Tactility/settings/SystemSettings.h>
|
|
|
|
namespace tt::settings {
|
|
|
|
constexpr auto* TAG = "Language";
|
|
|
|
void setLanguage(Language newLanguage) {
|
|
SystemSettings properties;
|
|
if (!loadSystemSettings(properties)) {
|
|
return;
|
|
}
|
|
|
|
properties.language = newLanguage;
|
|
saveSystemSettings(properties);
|
|
}
|
|
|
|
Language getLanguage() {
|
|
SystemSettings properties;
|
|
if (!loadSystemSettings(properties)) {
|
|
return Language::en_US;
|
|
} else {
|
|
return properties.language;
|
|
}
|
|
}
|
|
|
|
std::string toString(Language language) {
|
|
switch (language) {
|
|
case Language::en_GB:
|
|
return "en-GB";
|
|
case Language::en_US:
|
|
return "en-US";
|
|
case Language::fr_FR:
|
|
return "fr-FR";
|
|
case Language::nl_BE:
|
|
return "nl-BE";
|
|
case Language::nl_NL:
|
|
return "nl-NL";
|
|
default:
|
|
TT_LOG_E(TAG, "Missing serialization for language %d", static_cast<int>(language));
|
|
std::unreachable();
|
|
}
|
|
}
|
|
|
|
bool fromString(const std::string& text, Language& language) {
|
|
if (text == "en-GB") {
|
|
language = Language::en_GB;
|
|
} else if (text == "en-US") {
|
|
language = Language::en_US;
|
|
} else if (text == "fr-FR") {
|
|
language = Language::fr_FR;
|
|
} else if (text == "nl-BE") {
|
|
language = Language::nl_BE;
|
|
} else if (text == "nl-NL") {
|
|
language = Language::nl_NL;
|
|
} else {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|