diff --git a/src/plugins/qtsupport/codegensettings.cpp b/src/plugins/qtsupport/codegensettings.cpp index b2fa82d581b..df96cc8a24a 100644 --- a/src/plugins/qtsupport/codegensettings.cpp +++ b/src/plugins/qtsupport/codegensettings.cpp @@ -26,6 +26,7 @@ #include "codegensettings.h" #include +#include #include @@ -36,14 +37,20 @@ static const char INCLUDE_QT_MODULE_KEY[] = "IncludeQtModule"; static const char ADD_QT_VERSION_CHECK_KEY[] = "AddQtVersionCheck"; static const bool retranslationSupportDefault = false; +static const QtSupport::CodeGenSettings::UiClassEmbedding embeddingDefault + = QtSupport::CodeGenSettings::PointerAggregatedUiClass; +static const bool includeQtModuleDefault = false; +static const bool addQtVersionCheckDefault = false; + +using namespace Utils; namespace QtSupport { -CodeGenSettings::CodeGenSettings() : - embedding(PointerAggregatedUiClass), - retranslationSupport(retranslationSupportDefault), - includeQtModule(false), - addQtVersionCheck(false) +CodeGenSettings::CodeGenSettings() + : embedding(embeddingDefault) + , retranslationSupport(retranslationSupportDefault) + , includeQtModule(includeQtModuleDefault) + , addQtVersionCheck(addQtVersionCheckDefault) { } @@ -58,21 +65,32 @@ bool CodeGenSettings::equals(const CodeGenSettings &rhs) const void CodeGenSettings::fromSettings(const QSettings *settings) { - QString group = QLatin1String(CODE_GEN_GROUP) + QLatin1Char('/'); + QString group = QLatin1String(CODE_GEN_GROUP) + '/'; - retranslationSupport = settings->value(group + QLatin1String(TRANSLATION_KEY), retranslationSupportDefault).toBool(); - embedding = static_cast(settings->value(group + QLatin1String(EMBEDDING_KEY), int(PointerAggregatedUiClass)).toInt()); - includeQtModule = settings->value(group + QLatin1String(INCLUDE_QT_MODULE_KEY), false).toBool(); - addQtVersionCheck = settings->value(group + QLatin1String(ADD_QT_VERSION_CHECK_KEY), false).toBool(); + retranslationSupport = settings->value(group + TRANSLATION_KEY, retranslationSupportDefault) + .toBool(); + embedding = static_cast( + settings->value(group + EMBEDDING_KEY, int(embeddingDefault)).toInt()); + includeQtModule = settings->value(group + INCLUDE_QT_MODULE_KEY, includeQtModuleDefault).toBool(); + addQtVersionCheck = settings->value(group + ADD_QT_VERSION_CHECK_KEY, addQtVersionCheckDefault).toBool(); } void CodeGenSettings::toSettings(QSettings *settings) const { - settings->beginGroup(QLatin1String(CODE_GEN_GROUP)); - settings->setValue(QLatin1String(TRANSLATION_KEY), retranslationSupport); - settings->setValue(QLatin1String(EMBEDDING_KEY), embedding); - settings->setValue(QLatin1String(INCLUDE_QT_MODULE_KEY), includeQtModule); - settings->setValue(QLatin1String(ADD_QT_VERSION_CHECK_KEY), addQtVersionCheck); + settings->beginGroup(CODE_GEN_GROUP); + QtcSettings::setValueWithDefault(settings, + TRANSLATION_KEY, + retranslationSupport, + retranslationSupportDefault); + QtcSettings::setValueWithDefault(settings, EMBEDDING_KEY, int(embedding), int(embeddingDefault)); + QtcSettings::setValueWithDefault(settings, + INCLUDE_QT_MODULE_KEY, + includeQtModule, + includeQtModuleDefault); + QtcSettings::setValueWithDefault(settings, + ADD_QT_VERSION_CHECK_KEY, + addQtVersionCheck, + addQtVersionCheckDefault); settings->endGroup(); } diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp index 7a048dfa3e2..fa75520ef34 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp @@ -108,9 +108,9 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI txt->setBuddy(chooser); chooser->setExpectedKind(PathChooser::ExistingDirectory); chooser->setHistoryCompleter(QLatin1String("Qt.WritableExamplesDir.History")); - QSettings *settings = ICore::settings(); - chooser->setPath(settings->value(QString::fromLatin1(C_FALLBACK_ROOT), - DocumentManager::projectsDirectory().toString()).toString()); + const QString defaultRootDirectory = DocumentManager::projectsDirectory().toString(); + QtcSettings *settings = ICore::settings(); + chooser->setPath(settings->value(C_FALLBACK_ROOT, defaultRootDirectory).toString()); lay->addWidget(txt, 1, 0); lay->addWidget(chooser, 1, 1); enum { Copy = QDialog::Accepted + 1, Keep = QDialog::Accepted + 2 }; @@ -126,7 +126,7 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI if (code == Copy) { QString exampleDirName = proFileInfo.dir().dirName(); QString destBaseDir = chooser->filePath().toString(); - settings->setValue(QString::fromLatin1(C_FALLBACK_ROOT), destBaseDir); + settings->setValueWithDefault(C_FALLBACK_ROOT, destBaseDir, defaultRootDirectory); QDir toDirWithExamplesDir(destBaseDir); if (toDirWithExamplesDir.cd(exampleDirName)) { toDirWithExamplesDir.cdUp(); // step out, just to not be in the way diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index 20030a46ff3..d362e53020c 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -662,7 +662,7 @@ void QtVersionManager::setDocumentationSetting(const QtVersionManager::Documenta { if (setting == documentationSetting()) return; - Core::ICore::settings()->setValue(DOCUMENTATION_SETTING_KEY, int(setting)); + Core::ICore::settings()->setValueWithDefault(DOCUMENTATION_SETTING_KEY, int(setting), 0); // force re-evaluating which documentation should be registered // by claiming that all are removed and re-added const QList vs = versions();