aboutsummaryrefslogtreecommitdiffstats
path: root/subsurface-core/subsurface-qt
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2016-01-22 16:55:03 -0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-01-24 21:26:45 -0800
commitc3137cf07c6947b162d3fae9cb580fe1efc78ec7 (patch)
tree28b907481dd71effc0dbd266c8b920785565c062 /subsurface-core/subsurface-qt
parent15fece7da2c8e9c78fe6c61dbcea0c0b0654b6a8 (diff)
downloadsubsurface-c3137cf07c6947b162d3fae9cb580fe1efc78ec7.tar.gz
Language Settings Wrapper
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core/subsurface-qt')
-rw-r--r--subsurface-core/subsurface-qt/SettingsObjectWrapper.cpp97
-rw-r--r--subsurface-core/subsurface-qt/SettingsObjectWrapper.h41
2 files changed, 136 insertions, 2 deletions
diff --git a/subsurface-core/subsurface-qt/SettingsObjectWrapper.cpp b/subsurface-core/subsurface-qt/SettingsObjectWrapper.cpp
index 5d42d1829..ec36e069e 100644
--- a/subsurface-core/subsurface-qt/SettingsObjectWrapper.cpp
+++ b/subsurface-core/subsurface-qt/SettingsObjectWrapper.cpp
@@ -1389,3 +1389,100 @@ void DisplaySettingsObjectWrapper::setDisplayInvalidDives(short value)
prefs.display_invalid_dives = value.;
emit displayInvalidDivesChanged(value);
}
+
+LanguageSettingsObjectWrapper::LanguageSettingsObjectWrapper(QObject *parent) :
+ QObject(parent),
+ group("Language")
+{
+}
+
+QString LanguageSettingsObjectWrapper::language() const
+{
+ return prefs.locale.language;
+}
+
+QString LanguageSettingsObjectWrapper::timeFormat() const
+{
+ return prefs.time_format;
+}
+
+QString LanguageSettingsObjectWrapper::dateFormat() const
+{
+ return prefs.date_format;
+}
+
+QString LanguageSettingsObjectWrapper::dateFormatShort() const
+{
+ return prefs.date_format_short;
+}
+
+bool LanguageSettingsObjectWrapper::timeFormatOverride() const
+{
+ return prefs.time_format_override;
+}
+
+bool LanguageSettingsObjectWrapper::dateFormatOverride() const
+{
+ return prefs.date_format_override;
+}
+
+bool LanguageSettingsObjectWrapper::useSystemLanguage() const
+{
+ return prefs.locale.use_system_language;
+}
+
+void LanguageSettingsObjectWrapper::setUseSystemLanguage(bool value)
+{
+ QSettings s;
+ s.setValue("UseSystemLanguage", value);
+ prefs.locale.use_system_language = copy_string(qPrintable(value));
+ emit useSystemLanguageChanged(value);
+}
+
+void LanguageSettingsObjectWrapper::setLanguage(const QString& value)
+{
+ QSettings s;
+ s.setValue("UiLanguage", value);
+ prefs.locale.language = copy_string(qPrintable(value));
+ emit languageChanged(value);
+}
+
+void LanguageSettingsObjectWrapper::setTimeFormat(const QString& value)
+{
+ QSettings s;
+ s.setValue("time_format", value);
+ prefs.time_format = copy_string(qPrintable(value));;
+ emit timeFormatChanged(value);
+}
+
+void LanguageSettingsObjectWrapper::setDateFormat(const QString& value)
+{
+ QSettings s;
+ s.setValue("date_format", value);
+ prefs.date_format = copy_string(qPrintable(value));;
+ emit dateFormatChanged(value);
+}
+
+void LanguageSettingsObjectWrapper::setDateFormatShort(const QString& value)
+{
+ QSettings s;
+ s.setValue("date_format_short", value);
+ prefs.date_format_short = copy_string(qPrintable(value));;
+ emit dateFormatShortChanged(value);
+}
+
+void LanguageSettingsObjectWrapper::setTimeFormatOverride(bool value)
+{
+ QSettings s;
+ s.setValue("time_format_override", value);
+ prefs.time_format_override = value.;
+ emit timeFormatOverrideChanged(value);
+}
+
+void LanguageSettingsObjectWrapper::setDateFormatOverride(bool value)
+{
+ QSettings s;
+ s.setValue("date_format_override", value);
+ prefs.date_format_override = value.;
+ emit dateFormatOverrideChanged(value);
+}
diff --git a/subsurface-core/subsurface-qt/SettingsObjectWrapper.h b/subsurface-core/subsurface-qt/SettingsObjectWrapper.h
index 877a4e565..9b81456d3 100644
--- a/subsurface-core/subsurface-qt/SettingsObjectWrapper.h
+++ b/subsurface-core/subsurface-qt/SettingsObjectWrapper.h
@@ -513,13 +513,50 @@ private:
QString group;
};
-class SettingsObjectWrapper : public QObject {
+class LanguageSettingsObjectWrapper : public QObject {
Q_OBJECT
-
+ Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged)
Q_PROPERTY(QString time_format READ timeFormat WRITE setTimeFormat NOTIFY timeFormatChanged)
+ Q_PROPERTY(QString date_format READ dateFormat WRITE setDateFormat NOTIFY dateFormatChanged)
Q_PROPERTY(QString date_format_short READ dateFormatShort WRITE setDateFormatShort NOTIFY dateFormatShortChanged)
Q_PROPERTY(bool time_format_override READ timeFormatOverride WRITE setTimeFormatOverride NOTIFY timeFormatOverrideChanged)
Q_PROPERTY(bool date_format_override READ dateFormatOverride WRITE setDateFormatOverride NOTIFY dateFormatOverrideChanged)
+ Q_PROPERTY(bool use_system_language READ useSystemLanguage WRITE setUseSystemLanguage NOTIFY useSystemLanguageChanged)
+
+public:
+ LanguageSettingsObjectWrapper(QObject *parent);
+ QString language() const;
+ QString timeFormat() const;
+ QString dateFormat() const;
+ QString dateFormatShort() const;
+ bool timeFormatOverride() const;
+ bool dateFormatOverride() const;
+ bool useSystemLanguage() const;
+
+public slots:
+ void setLanguage (const QString& value);
+ void setTimeFormat (const QString& value);
+ void setDateFormat (const QString& value);
+ void setDateFormatShort (const QString& value);
+ void setTimeFormatOverride (bool value);
+ void setDateFormatOverride (bool value);
+ void setUseSystemLanguage (bool value);
+signals:
+ void languageChanged(const QString& value);
+ void timeFormatChanged(const QString& value);
+ void dateFormatChanged(const QString& value);
+ void dateFormatShortChanged(const QString& value);
+ void timeFormatOverrideChanged(bool value);
+ void dateFormatOverrideChanged(bool value);
+ void useSystemLanguageChanged(bool value);
+
+private:
+ QString group;
+};
+
+class SettingsObjectWrapper : public QObject {
+ Q_OBJECT
+
Q_PROPERTY(int animation_speed READ animationSpeed WRITE setAnimationSpeed NOTIFY animationSpeedChanged)
Q_PROPERTY(short unit_system READ unitSystem WRITE setUnitSystem NOTIFY uintSystemChanged)
Q_PROPERTY(bool coordinates_traditional READ coordinatesTraditional WRITE setCoordinatesTraditional NOTIFY coordinatesTraditionalChanged)