aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2018-03-07 17:34:09 +0100
committerTobias Hunger <tobias.hunger@qt.io>2018-04-20 09:14:59 +0000
commitb9278a88d069015172f34222a36605f9a341f31a (patch)
treee0c512077ac54b7450f535fa5ded442b25c5af94 /src/libs/utils
parent95446fb6145ebf0e155afe47353e484a5388f59b (diff)
ToolChain: Use SettingsAccessor to access XML settings
This allows for use of the new SettingsAccessor infrastructure for upgrading, backups, etc. Task-number: QTCREATORBUG-20148 Change-Id: I5419c86c0fd576a59ec91c212097c8f987e01da2 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/libs/utils')
-rw-r--r--src/libs/utils/settingsaccessor.cpp17
-rw-r--r--src/libs/utils/settingsaccessor.h4
2 files changed, 15 insertions, 6 deletions
diff --git a/src/libs/utils/settingsaccessor.cpp b/src/libs/utils/settingsaccessor.cpp
index 0c41e20cbe1..ae828aff694 100644
--- a/src/libs/utils/settingsaccessor.cpp
+++ b/src/libs/utils/settingsaccessor.cpp
@@ -81,10 +81,7 @@ QVariantMap SettingsAccessor::restoreSettings(QWidget *parent) const
{
QTC_ASSERT(!m_baseFilePath.isEmpty(), return QVariantMap());
- const RestoreData result = readData(m_baseFilePath, parent);
-
- const ProceedInfo pi = result.hasIssue() ? reportIssues(result.issue.value(), result.path, parent) : ProceedInfo::Continue;
- return pi == ProceedInfo::DiscardAndContinue ? QVariantMap() : result.data;
+ return restoreSettings(m_baseFilePath, parent);
}
/*!
@@ -120,6 +117,15 @@ SettingsAccessor::writeData(const FileName &path, const QVariantMap &data, QWidg
return writeFile(path, prepareToWriteSettings(data));
}
+QVariantMap SettingsAccessor::restoreSettings(const FileName &settingsPath, QWidget *parent) const
+{
+ const RestoreData result = readData(settingsPath, parent);
+
+ const ProceedInfo pi = result.hasIssue() ? reportIssues(result.issue.value(), result.path, parent)
+ : ProceedInfo::Continue;
+ return pi == ProceedInfo::DiscardAndContinue ? QVariantMap() : result.data;
+}
+
/*!
* Read a file at \a path from disk and extract the data into a RestoreData set.
*
@@ -422,7 +428,8 @@ QVariantMap VersionUpgrader::renameKeys(const QList<Change> &changes, QVariantMa
* The UpgradingSettingsAccessor keeps version information in the settings file and will
* upgrade the settings on load to the latest supported version (if possible).
*/
-UpgradingSettingsAccessor::UpgradingSettingsAccessor(const QString &displayName,
+UpgradingSettingsAccessor::UpgradingSettingsAccessor(const QString &docType,
+ const QString &displayName,
const QString &applicationDisplayName) :
UpgradingSettingsAccessor(std::make_unique<VersionedBackUpStrategy>(this), docType,
displayName, applicationDisplayName)
diff --git a/src/libs/utils/settingsaccessor.h b/src/libs/utils/settingsaccessor.h
index be64438ec95..36b2a257ae5 100644
--- a/src/libs/utils/settingsaccessor.h
+++ b/src/libs/utils/settingsaccessor.h
@@ -129,6 +129,7 @@ public:
protected:
// Report errors:
+ QVariantMap restoreSettings(const Utils::FileName &settingsPath, QWidget *parent) const;
ProceedInfo reportIssues(const Issue &issue, const FileName &path, QWidget *parent) const;
virtual QVariantMap preprocessReadSettings(const QVariantMap &data) const;
@@ -234,7 +235,8 @@ class MergingSettingsAccessor;
class QTCREATOR_UTILS_EXPORT UpgradingSettingsAccessor : public BackingUpSettingsAccessor
{
public:
- UpgradingSettingsAccessor(const QString &displayName, const QString &applicationDisplayName);
+ UpgradingSettingsAccessor(const QString &docType,
+ const QString &displayName, const QString &applicationDisplayName);
UpgradingSettingsAccessor(std::unique_ptr<BackUpStrategy> &&strategy, const QString &docType,
const QString &displayName, const QString &appDisplayName);