mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
Classes LanguageController and CountryController have been fused into one class LocalizationController, as they were very similar. This allows the Settings and OnBoarding apps to only keep one controller for both functions. Change-Id: Ic23f300c37122249d34caaf18a633b5815240a78
43 lines
1.4 KiB
C++
43 lines
1.4 KiB
C++
#include "global_preferences.h"
|
|
|
|
GlobalPreferences * GlobalPreferences::sharedGlobalPreferences() {
|
|
static GlobalPreferences globalPreferences;
|
|
return &globalPreferences;
|
|
}
|
|
|
|
void GlobalPreferences::setCountry(I18n::Country country) {
|
|
m_country = country;
|
|
Poincare::Preferences::sharedPreferences()->setUnitFormat(unitFormat());
|
|
}
|
|
|
|
GlobalPreferences::ExamMode GlobalPreferences::examMode() const {
|
|
if (m_examMode == ExamMode::Unknown) {
|
|
uint8_t mode = Ion::ExamMode::FetchExamMode();
|
|
assert(mode >= 0 && mode < 3); // mode can be cast in ExamMode (Off, Standard or Dutch)
|
|
m_examMode = (ExamMode)mode;
|
|
}
|
|
return m_examMode;
|
|
}
|
|
|
|
void GlobalPreferences::setExamMode(ExamMode mode) {
|
|
ExamMode currentMode = examMode();
|
|
if (currentMode == mode) {
|
|
return;
|
|
}
|
|
assert(mode != ExamMode::Unknown);
|
|
int8_t deltaMode = (int8_t)mode - (int8_t)currentMode;
|
|
deltaMode = deltaMode < 0 ? deltaMode + 3 : deltaMode;
|
|
assert(deltaMode > 0);
|
|
Ion::ExamMode::IncrementExamMode(deltaMode);
|
|
m_examMode = mode;
|
|
}
|
|
|
|
void GlobalPreferences::setBrightnessLevel(int brightnessLevel) {
|
|
if (m_brightnessLevel != brightnessLevel) {
|
|
brightnessLevel = brightnessLevel < 0 ? 0 : brightnessLevel;
|
|
brightnessLevel = brightnessLevel > Ion::Backlight::MaxBrightness ? Ion::Backlight::MaxBrightness : brightnessLevel;
|
|
m_brightnessLevel = brightnessLevel;
|
|
Ion::Backlight::setBrightness(m_brightnessLevel);
|
|
}
|
|
}
|