mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: activate qPrefLanguage
remove Language from SettingsObjectWrapper and reference qPrefLanguage update files using SettingsObjectWrapper/Language to use qPrefLanguage this activated qPrefLanguage and removed the similar class from SettingsObjectWrapper. Signed-off-by: Jan Iversen <jani@apache.org>
This commit is contained in:
parent
63fa532b15
commit
72d87364c0
6 changed files with 46 additions and 240 deletions
|
@ -20,6 +20,7 @@ void qPref::loadSync(bool doSync)
|
||||||
qPrefDiveComputer::instance()->loadSync(doSync);
|
qPrefDiveComputer::instance()->loadSync(doSync);
|
||||||
qPrefDivePlanner::instance()->loadSync(doSync);
|
qPrefDivePlanner::instance()->loadSync(doSync);
|
||||||
// qPrefFaceook does not use disk.
|
// qPrefFaceook does not use disk.
|
||||||
|
qPrefLanguage::instance()->loadSync(doSync);
|
||||||
qPrefLocationService::instance()->loadSync(doSync);
|
qPrefLocationService::instance()->loadSync(doSync);
|
||||||
qPrefProxy::instance()->loadSync(doSync);
|
qPrefProxy::instance()->loadSync(doSync);
|
||||||
qPrefTechnicalDetails::instance()->loadSync(doSync);
|
qPrefTechnicalDetails::instance()->loadSync(doSync);
|
||||||
|
|
|
@ -390,148 +390,6 @@ void GeneralSettingsObjectWrapper::setFfmpegExecutable(const QString &value)
|
||||||
emit ffmpegExecutableChanged(value);
|
emit ffmpegExecutableChanged(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
LanguageSettingsObjectWrapper::LanguageSettingsObjectWrapper(QObject *parent) :
|
|
||||||
QObject(parent)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString LanguageSettingsObjectWrapper::langLocale() const
|
|
||||||
{
|
|
||||||
return prefs.locale.lang_locale;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LanguageSettingsObjectWrapper::setUseSystemLanguage(bool value)
|
|
||||||
{
|
|
||||||
if (value == prefs.locale.use_system_language)
|
|
||||||
return;
|
|
||||||
QSettings s;
|
|
||||||
s.beginGroup(group);
|
|
||||||
s.setValue("UseSystemLanguage", value);
|
|
||||||
prefs.locale.use_system_language = value;
|
|
||||||
emit useSystemLanguageChanged(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LanguageSettingsObjectWrapper::setLangLocale(const QString &value)
|
|
||||||
{
|
|
||||||
if (value == prefs.locale.lang_locale)
|
|
||||||
return;
|
|
||||||
QSettings s;
|
|
||||||
s.beginGroup(group);
|
|
||||||
s.setValue("UiLangLocale", value);
|
|
||||||
free((void *)prefs.locale.lang_locale);
|
|
||||||
prefs.locale.lang_locale = copy_qstring(value);
|
|
||||||
emit langLocaleChanged(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LanguageSettingsObjectWrapper::setLanguage(const QString& value)
|
|
||||||
{
|
|
||||||
if (value == prefs.locale.language)
|
|
||||||
return;
|
|
||||||
QSettings s;
|
|
||||||
s.beginGroup(group);
|
|
||||||
s.setValue("UiLanguage", value);
|
|
||||||
free((void *)prefs.locale.language);
|
|
||||||
prefs.locale.language = copy_qstring(value);
|
|
||||||
emit languageChanged(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LanguageSettingsObjectWrapper::setTimeFormat(const QString& value)
|
|
||||||
{
|
|
||||||
if (value == prefs.time_format)
|
|
||||||
return;
|
|
||||||
QSettings s;
|
|
||||||
s.beginGroup(group);
|
|
||||||
s.setValue("time_format", value);
|
|
||||||
free((void *)prefs.time_format);
|
|
||||||
prefs.time_format = copy_qstring(value);
|
|
||||||
emit timeFormatChanged(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LanguageSettingsObjectWrapper::setDateFormat(const QString& value)
|
|
||||||
{
|
|
||||||
if (value == prefs.date_format)
|
|
||||||
return;
|
|
||||||
|
|
||||||
QSettings s;
|
|
||||||
s.beginGroup(group);
|
|
||||||
s.setValue("date_format", value);
|
|
||||||
free((void *)prefs.date_format);
|
|
||||||
prefs.date_format = copy_qstring(value);
|
|
||||||
emit dateFormatChanged(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LanguageSettingsObjectWrapper::setDateFormatShort(const QString& value)
|
|
||||||
{
|
|
||||||
if (value == prefs.date_format_short)
|
|
||||||
return;
|
|
||||||
|
|
||||||
QSettings s;
|
|
||||||
s.beginGroup(group);
|
|
||||||
s.setValue("date_format_short", value);
|
|
||||||
free((void *)prefs.date_format_short);
|
|
||||||
prefs.date_format_short = copy_qstring(value);
|
|
||||||
emit dateFormatShortChanged(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LanguageSettingsObjectWrapper::setTimeFormatOverride(bool value)
|
|
||||||
{
|
|
||||||
if (value == prefs.time_format_override)
|
|
||||||
return;
|
|
||||||
QSettings s;
|
|
||||||
s.beginGroup(group);
|
|
||||||
s.setValue("time_format_override", value);
|
|
||||||
prefs.time_format_override = value;
|
|
||||||
emit timeFormatOverrideChanged(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LanguageSettingsObjectWrapper::setDateFormatOverride(bool value)
|
|
||||||
{
|
|
||||||
if (value == prefs.date_format_override)
|
|
||||||
return;
|
|
||||||
|
|
||||||
QSettings s;
|
|
||||||
s.beginGroup(group);
|
|
||||||
s.setValue("date_format_override", value);
|
|
||||||
prefs.date_format_override = value;
|
|
||||||
emit dateFormatOverrideChanged(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
SettingsObjectWrapper::SettingsObjectWrapper(QObject* parent):
|
SettingsObjectWrapper::SettingsObjectWrapper(QObject* parent):
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
techDetails(new qPrefTechnicalDetails(this)),
|
techDetails(new qPrefTechnicalDetails(this)),
|
||||||
|
@ -544,7 +402,7 @@ QObject(parent),
|
||||||
unit_settings(new qPrefUnits(this)),
|
unit_settings(new qPrefUnits(this)),
|
||||||
general_settings(new GeneralSettingsObjectWrapper(this)),
|
general_settings(new GeneralSettingsObjectWrapper(this)),
|
||||||
display_settings(new qPrefDisplay(this)),
|
display_settings(new qPrefDisplay(this)),
|
||||||
language_settings(new LanguageSettingsObjectWrapper(this)),
|
language_settings(new qPrefLanguage(this)),
|
||||||
animation_settings(new qPrefAnimations(this)),
|
animation_settings(new qPrefAnimations(this)),
|
||||||
location_settings(new qPrefLocationService(this)),
|
location_settings(new qPrefLocationService(this)),
|
||||||
update_manager_settings(new qPrefUpdateManager(this)),
|
update_manager_settings(new qPrefUpdateManager(this)),
|
||||||
|
@ -601,16 +459,7 @@ void SettingsObjectWrapper::load()
|
||||||
qPrefDiveComputer::instance()->load();
|
qPrefDiveComputer::instance()->load();
|
||||||
qPrefUpdateManager::instance()->load();
|
qPrefUpdateManager::instance()->load();
|
||||||
|
|
||||||
s.beginGroup("Language");
|
qPrefLanguage::instance()->load();
|
||||||
GET_BOOL("UseSystemLanguage", locale.use_system_language);
|
|
||||||
GET_TXT("UiLanguage", locale.language);
|
|
||||||
GET_TXT("UiLangLocale", locale.lang_locale);
|
|
||||||
GET_TXT("time_format", time_format);
|
|
||||||
GET_TXT("date_format", date_format);
|
|
||||||
GET_TXT("date_format_short", date_format_short);
|
|
||||||
GET_BOOL("time_format_override", time_format_override);
|
|
||||||
GET_BOOL("date_format_override", date_format_override);
|
|
||||||
s.endGroup();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsObjectWrapper::sync()
|
void SettingsObjectWrapper::sync()
|
||||||
|
|
|
@ -138,51 +138,6 @@ private:
|
||||||
const QString group = QStringLiteral("GeneralSettings");
|
const QString group = QStringLiteral("GeneralSettings");
|
||||||
};
|
};
|
||||||
|
|
||||||
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(QString lang_locale READ langLocale WRITE setLangLocale NOTIFY langLocaleChanged)
|
|
||||||
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 langLocale() const;
|
|
||||||
QString timeFormat() const;
|
|
||||||
QString dateFormat() const;
|
|
||||||
QString dateFormatShort() const;
|
|
||||||
bool timeFormatOverride() const;
|
|
||||||
bool dateFormatOverride() const;
|
|
||||||
bool useSystemLanguage() const;
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void setLangLocale (const QString& value);
|
|
||||||
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 langLocaleChanged(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:
|
|
||||||
const QString group = QStringLiteral("Language");
|
|
||||||
};
|
|
||||||
|
|
||||||
class SettingsObjectWrapper : public QObject {
|
class SettingsObjectWrapper : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
@ -196,7 +151,7 @@ class SettingsObjectWrapper : public QObject {
|
||||||
Q_PROPERTY(qPrefUnits* units MEMBER unit_settings CONSTANT)
|
Q_PROPERTY(qPrefUnits* units MEMBER unit_settings CONSTANT)
|
||||||
Q_PROPERTY(GeneralSettingsObjectWrapper* general MEMBER general_settings CONSTANT)
|
Q_PROPERTY(GeneralSettingsObjectWrapper* general MEMBER general_settings CONSTANT)
|
||||||
Q_PROPERTY(qPrefDisplay* display MEMBER display_settings CONSTANT)
|
Q_PROPERTY(qPrefDisplay* display MEMBER display_settings CONSTANT)
|
||||||
Q_PROPERTY(LanguageSettingsObjectWrapper* language MEMBER language_settings CONSTANT)
|
Q_PROPERTY(qPrefLanguage* language MEMBER language_settings CONSTANT)
|
||||||
Q_PROPERTY(qPrefAnimations* animation MEMBER animation_settings CONSTANT)
|
Q_PROPERTY(qPrefAnimations* animation MEMBER animation_settings CONSTANT)
|
||||||
Q_PROPERTY(qPrefLocationService* Location MEMBER location_settings CONSTANT)
|
Q_PROPERTY(qPrefLocationService* Location MEMBER location_settings CONSTANT)
|
||||||
|
|
||||||
|
@ -215,7 +170,7 @@ public:
|
||||||
qPrefUnits *unit_settings;
|
qPrefUnits *unit_settings;
|
||||||
GeneralSettingsObjectWrapper *general_settings;
|
GeneralSettingsObjectWrapper *general_settings;
|
||||||
qPrefDisplay *display_settings;
|
qPrefDisplay *display_settings;
|
||||||
LanguageSettingsObjectWrapper *language_settings;
|
qPrefLanguage *language_settings;
|
||||||
qPrefAnimations *animation_settings;
|
qPrefAnimations *animation_settings;
|
||||||
qPrefLocationService *location_settings;
|
qPrefLocationService *location_settings;
|
||||||
qPrefUpdateManager *update_manager_settings;
|
qPrefUpdateManager *update_manager_settings;
|
||||||
|
|
|
@ -82,15 +82,15 @@ void PreferencesLanguage::syncSettings()
|
||||||
currentLocale = m->data(languages.first(),Qt::UserRole).toString();
|
currentLocale = m->data(languages.first(),Qt::UserRole).toString();
|
||||||
|
|
||||||
|
|
||||||
auto lang = SettingsObjectWrapper::instance()->language_settings;
|
auto lang = qPrefLanguage::instance();
|
||||||
lang->setLanguage(currentText);
|
lang->set_language(currentText);
|
||||||
lang->setLangLocale(currentLocale);
|
lang->set_lang_locale(currentLocale);
|
||||||
lang->setUseSystemLanguage(ui->languageSystemDefault->isChecked());
|
lang->set_use_system_language(ui->languageSystemDefault->isChecked());
|
||||||
lang->setTimeFormatOverride(!ui->timeFormatSystemDefault->isChecked());
|
lang->set_time_format_override(!ui->timeFormatSystemDefault->isChecked());
|
||||||
lang->setDateFormatOverride(!ui->dateFormatSystemDefault->isChecked());
|
lang->set_date_format_override(!ui->dateFormatSystemDefault->isChecked());
|
||||||
lang->setTimeFormat(ui->timeFormatEntry->currentText());
|
lang->set_time_format(ui->timeFormatEntry->currentText());
|
||||||
lang->setDateFormat(ui->dateFormatEntry->currentText());
|
lang->set_date_format(ui->dateFormatEntry->currentText());
|
||||||
lang->setDateFormatShort(ui->shortDateFormatEntry->text());
|
lang->set_date_format_short(ui->shortDateFormatEntry->text());
|
||||||
uiLanguage(NULL);
|
uiLanguage(NULL);
|
||||||
|
|
||||||
QString qDateTimeWeb = tr("These will be used as is. This might not be what you intended.\nSee http://doc.qt.io/qt-5/qdatetime.html#toString");
|
QString qDateTimeWeb = tr("These will be used as is. This might not be what you intended.\nSee http://doc.qt.io/qt-5/qdatetime.html#toString");
|
||||||
|
|
|
@ -162,6 +162,7 @@ void register_qml_types()
|
||||||
REGISTER_TYPE(qPrefDiveComputer, "SsrfDiveComputerPrefs");
|
REGISTER_TYPE(qPrefDiveComputer, "SsrfDiveComputerPrefs");
|
||||||
REGISTER_TYPE(qPrefDivePlanner, "SsrfDivePlannerPrefs");
|
REGISTER_TYPE(qPrefDivePlanner, "SsrfDivePlannerPrefs");
|
||||||
REGISTER_TYPE(qPrefFacebook, "SsrfFacebookPrefs");
|
REGISTER_TYPE(qPrefFacebook, "SsrfFacebookPrefs");
|
||||||
|
REGISTER_TYPE(qPrefLanguage, "SsrfLanguagePrefs");
|
||||||
REGISTER_TYPE(qPrefLocationService, "SsrfLocationServicePrefs");
|
REGISTER_TYPE(qPrefLocationService, "SsrfLocationServicePrefs");
|
||||||
REGISTER_TYPE(qPrefProxy, "SsrfProxyPrefs");
|
REGISTER_TYPE(qPrefProxy, "SsrfProxyPrefs");
|
||||||
REGISTER_TYPE(qPrefTechnicalDetails, "SsrfTechnicalDetailsPrefs");
|
REGISTER_TYPE(qPrefTechnicalDetails, "SsrfTechnicalDetailsPrefs");
|
||||||
|
|
|
@ -110,42 +110,42 @@ void TestPreferences::testPreferences()
|
||||||
TEST(general->pscrRatio(), 1);
|
TEST(general->pscrRatio(), 1);
|
||||||
TEST(general->useDefaultFile(), false);
|
TEST(general->useDefaultFile(), false);
|
||||||
|
|
||||||
auto language = pref->language_settings;
|
auto language = qPrefLanguage::instance();
|
||||||
language->setLangLocale("en_US");
|
language->set_lang_locale("en_US");
|
||||||
language->setLanguage("en");
|
language->set_language("en");
|
||||||
language->setTimeFormat("hh:mm");
|
language->set_time_format("hh:mm");
|
||||||
language->setDateFormat("dd/mm/yy");
|
language->set_date_format("dd/mm/yy");
|
||||||
language->setDateFormatShort("dd/mm");
|
language->set_date_format_short("dd/mm");
|
||||||
language->setTimeFormatOverride(false);
|
language->set_time_format_override(false);
|
||||||
language->setDateFormatOverride(false);
|
language->set_date_format_override(false);
|
||||||
language->setUseSystemLanguage(false);
|
language->set_use_system_language(false);
|
||||||
|
|
||||||
TEST(language->langLocale(), QStringLiteral("en_US"));
|
TEST(language->lang_locale(), QStringLiteral("en_US"));
|
||||||
TEST(language->language(), QStringLiteral("en"));
|
TEST(language->language(), QStringLiteral("en"));
|
||||||
TEST(language->timeFormat(), QStringLiteral("hh:mm"));
|
TEST(language->time_format(), QStringLiteral("hh:mm"));
|
||||||
TEST(language->dateFormat(), QStringLiteral("dd/mm/yy"));
|
TEST(language->date_format(), QStringLiteral("dd/mm/yy"));
|
||||||
TEST(language->dateFormatShort(), QStringLiteral("dd/mm"));
|
TEST(language->date_format_short(), QStringLiteral("dd/mm"));
|
||||||
TEST(language->timeFormatOverride(), false);
|
TEST(language->time_format_override(), false);
|
||||||
TEST(language->dateFormatOverride(), false);
|
TEST(language->date_format_override(), false);
|
||||||
TEST(language->useSystemLanguage(), false);
|
TEST(language->use_system_language(), false);
|
||||||
|
|
||||||
language->setLangLocale("en_EN");
|
language->set_lang_locale("en_EN");
|
||||||
language->setLanguage("br");
|
language->set_language("br");
|
||||||
language->setTimeFormat("mm:hh");
|
language->set_time_format("mm:hh");
|
||||||
language->setDateFormat("yy/mm/dd");
|
language->set_date_format("yy/mm/dd");
|
||||||
language->setDateFormatShort("dd/yy");
|
language->set_date_format_short("dd/yy");
|
||||||
language->setTimeFormatOverride(true);
|
language->set_time_format_override(true);
|
||||||
language->setDateFormatOverride(true);
|
language->set_date_format_override(true);
|
||||||
language->setUseSystemLanguage(true);
|
language->set_use_system_language(true);
|
||||||
|
|
||||||
TEST(language->langLocale(), QStringLiteral("en_EN"));
|
TEST(language->lang_locale(), QStringLiteral("en_EN"));
|
||||||
TEST(language->language(), QStringLiteral("br"));
|
TEST(language->language(), QStringLiteral("br"));
|
||||||
TEST(language->timeFormat(), QStringLiteral("mm:hh"));
|
TEST(language->time_format(), QStringLiteral("mm:hh"));
|
||||||
TEST(language->dateFormat(), QStringLiteral("yy/mm/dd"));
|
TEST(language->date_format(), QStringLiteral("yy/mm/dd"));
|
||||||
TEST(language->dateFormatShort(), QStringLiteral("dd/yy"));
|
TEST(language->date_format_short(), QStringLiteral("dd/yy"));
|
||||||
TEST(language->timeFormatOverride(), true);
|
TEST(language->time_format_override(), true);
|
||||||
TEST(language->dateFormatOverride(), true);
|
TEST(language->date_format_override(), true);
|
||||||
TEST(language->useSystemLanguage(), true);
|
TEST(language->use_system_language(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
QTEST_MAIN(TestPreferences)
|
QTEST_MAIN(TestPreferences)
|
||||||
|
|
Loading…
Add table
Reference in a new issue