From fbb368431a2ca71af4a6dda17d7831376c88b829 Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@digia.com> Date: Fri, 28 Feb 2014 13:17:40 +0100 Subject: [PATCH] SettingsAccessor: Change readFile to return a QVariantMap Change-Id: Ifb886a9ff1ae89063af2ce303f28baf0e92a3ba4 Reviewed-by: Daniel Teske <daniel.teske@digia.com> --- .../projectexplorer/settingsaccessor.cpp | 28 +++++++------------ .../projectexplorer/settingsaccessor.h | 2 +- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp index 56f74f18575..86c53787555 100644 --- a/src/plugins/projectexplorer/settingsaccessor.cpp +++ b/src/plugins/projectexplorer/settingsaccessor.cpp @@ -722,7 +722,8 @@ void SettingsAccessor::backupUserFile() const { SettingsData oldSettings; oldSettings.m_fileName = FileName::fromString(defaultFileName(m_userSuffix)); - if (!readFile(&oldSettings)) + oldSettings.m_map = readFile(oldSettings.m_fileName); + if (oldSettings.m_map.isEmpty()) return; // Do we need to do a backup? @@ -811,9 +812,7 @@ QVariantMap SettingsAccessor::readSharedSettings(QWidget *parent) const SettingsData sharedSettings; QString fn = project()->projectFilePath() + m_sharedSuffix; sharedSettings.m_fileName = FileName::fromString(fn); - - if (!readFile(&sharedSettings)) - return sharedSettings.m_map; + sharedSettings.m_map = readFile(sharedSettings.m_fileName); if (versionFromMap(sharedSettings.m_map) > currentVersion()) { // The shared file version is newer than Creator... If we have valid user @@ -851,7 +850,8 @@ SettingsAccessor::SettingsData SettingsAccessorPrivate::bestSettings(const Setti foreach (const QString &file, candidates) { tmp.clear(); tmp.m_fileName = FileName::fromString(file); - if (!accessor->readFile(&tmp)) + tmp.m_map = accessor->readFile(tmp.m_fileName); + if (tmp.m_map.isEmpty()) continue; const int tmpVersion = SettingsAccessor::versionFromMap(tmp.m_map); @@ -922,21 +922,13 @@ bool SettingsAccessor::SettingsData::isValid() const return versionFromMap(m_map) > -1 && !m_fileName.isEmpty(); } -bool SettingsAccessor::readFile(SettingsData *settings) const +QVariantMap SettingsAccessor::readFile(const Utils::FileName &path) const { - if (settings->fileName().isEmpty()) { - settings->clear(); - return false; - } - - PersistentSettingsReader reader; - if (!reader.load(settings->fileName())) { - settings->clear(); - return false; - } + Utils::PersistentSettingsReader reader; + if (!reader.load(path)) + return QVariantMap(); - settings->m_map = reader.restoreValues(); - return true; + return reader.restoreValues(); } bool SettingsAccessor::writeFile(const SettingsData *settings, QWidget *parent) const diff --git a/src/plugins/projectexplorer/settingsaccessor.h b/src/plugins/projectexplorer/settingsaccessor.h index 4ae79b358a9..c06b5248840 100644 --- a/src/plugins/projectexplorer/settingsaccessor.h +++ b/src/plugins/projectexplorer/settingsaccessor.h @@ -89,7 +89,7 @@ private: QVariantMap readSharedSettings(QWidget *parent) const; QVariantMap mergeSettings(const QVariantMap &userMap, const QVariantMap &sharedMap) const; - bool readFile(SettingsData *settings) const; + QVariantMap readFile(const Utils::FileName &path) const; bool writeFile(const SettingsData *settings, QWidget *parent) const; static QByteArray environmentIdFromMap(const QVariantMap &data); -- GitLab