diff options
author | jan Iversen <jani@apache.org> | 2018-08-06 19:39:35 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-08-13 11:49:32 -0700 |
commit | 63fa532b1520bb18eff98c10ff708834939d8e59 (patch) | |
tree | af14c8c0536668f4c6784059baf41fbfe4500dcc /core/settings/qPrefLanguage.cpp | |
parent | 8603a7d826a7bcf10dea0f93d564a609aae0050a (diff) | |
download | subsurface-63fa532b1520bb18eff98c10ff708834939d8e59.tar.gz |
core: create qPrefLanguage from SettingsObjectWrapper
Update set/get functions to follow common name scheme:
- get function have same name as in struct preferences
- set function have set_<name>
- signal function have <name>_changed
one class one .h/.cpp is the C++ idiom. Having load/sync of each
variable in 1 functions (in contrast to the distributed way
SettingsObjectWrapper handles it) secures the same storage name
is used. Having the set/get/load/sync functions grouped together
makes it easier to get an overview.
REMARK: this commit only defines the class, it is not active in production
Signed-off-by: Jan Iversen <jani@apache.org>
Diffstat (limited to 'core/settings/qPrefLanguage.cpp')
-rw-r--r-- | core/settings/qPrefLanguage.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/core/settings/qPrefLanguage.cpp b/core/settings/qPrefLanguage.cpp new file mode 100644 index 000000000..1ad31a73b --- /dev/null +++ b/core/settings/qPrefLanguage.cpp @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "qPref.h" +#include "qPrefPrivate.h" + +static const QString group = QStringLiteral("Language"); + +qPrefLanguage::qPrefLanguage(QObject *parent) : QObject(parent) +{ +} + +qPrefLanguage *qPrefLanguage::instance() +{ + static qPrefLanguage *self = new qPrefLanguage; + return self; +} + +void qPrefLanguage::loadSync(bool doSync) +{ + disk_date_format(doSync); + disk_date_format_override(doSync); + disk_date_format_short(doSync); + disk_language(doSync); + disk_lang_locale(doSync); + disk_time_format(doSync); + disk_time_format_override(doSync); + disk_use_system_language(doSync); +} + +HANDLE_PREFERENCE_TXT(Language, "/date_format", date_format); + +HANDLE_PREFERENCE_BOOL(Language,"/date_format_override", date_format_override); + +HANDLE_PREFERENCE_TXT(Language, "/date_format_short", date_format_short); + +HANDLE_PREFERENCE_TXT_EXT(Language, "/UiLanguage", language, locale.); + +HANDLE_PREFERENCE_TXT_EXT(Language, "/UiLang_locale", lang_locale, locale.); + +HANDLE_PREFERENCE_TXT(Language, "/time_format", time_format); + +HANDLE_PREFERENCE_BOOL(Language, "/time_format_override", time_format_override); + +HANDLE_PREFERENCE_BOOL_EXT(Language, "/Use_system_language", use_system_language, locale.); |