From 306d6d3ca9c9ad774d19135681a7f9805f77035f Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sun, 22 Feb 2015 14:06:29 -0500 Subject: Imported Upstream version 3.0.3 --- SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.cpp | 10 ++++++++++ SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.h | 1 + SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.cpp | 6 ++++++ SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.h | 1 + SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.cpp | 7 +++++++ SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.h | 1 + 6 files changed, 26 insertions(+) (limited to 'SQLiteStudio3/coreSQLiteStudio/config_builder') diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.cpp b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.cpp index a79e08a..1a63776 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.cpp @@ -34,6 +34,16 @@ QHash &CfgCategory::getEntries() return childs; } +void CfgCategory::translateTitle() +{ + // This needs to be "QObject::tr" and not just "tr", because this guarantees proper message context for retranslating + // titles for objects initialized in global scope (as CfgCategories are). + title = QObject::tr(title.toUtf8().constData()); + for (CfgEntry* entry : childs) + entry->translateTitle(); + +} + void CfgCategory::reset() { for (CfgEntry* entry : childs) diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.h b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.h index 2a6ccaf..45197d6 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.h +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgcategory.h @@ -23,6 +23,7 @@ class API_EXPORT CfgCategory : public QObject QString toString() const; operator QString() const; QHash& getEntries(); + void translateTitle(); void reset(); void savepoint(bool transaction = false); void restore(); diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.cpp b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.cpp index 6a5f6a4..9a91ea8 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.cpp @@ -99,6 +99,12 @@ QString CfgEntry::getTitle() const return title; } +void CfgEntry::translateTitle() +{ + // This needs to be "QObject::tr" and not just "tr". See CfgCategory::translateTitle() for details. + title = QObject::tr(title.toUtf8().constData()); +} + void CfgEntry::reset() { set(getDefultValue()); diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.h b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.h index 92b2a5f..4c1bbb0 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.h +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgentry.h @@ -29,6 +29,7 @@ class API_EXPORT CfgEntry : public QObject void defineDefaultValueFunction(DefaultValueProviderFunc func); QString getFullKey() const; QString getTitle() const; + void translateTitle(); void reset(); bool isPersistable() const; bool isPersisted() const; diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.cpp b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.cpp index 72fc0d0..480b4cc 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.cpp @@ -55,6 +55,13 @@ QHash &CfgMain::getCategories() return childs; } +void CfgMain::translateTitle() +{ + title = QObject::tr(title.toUtf8().constData()); + for (CfgCategory* ctg : childs) + ctg->translateTitle(); +} + void CfgMain::reset() { for (CfgCategory* ctg : childs) diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.h b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.h index bc9490d..d42f03b 100644 --- a/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.h +++ b/SQLiteStudio3/coreSQLiteStudio/config_builder/cfgmain.h @@ -22,6 +22,7 @@ class API_EXPORT CfgMain static QList getPersistableInstances(); QHash& getCategories(); + void translateTitle(); void reset(); void savepoint(bool transaction = false); void restore(); -- cgit v1.2.3