forked from qt-creator/qt-creator
SettingsAccessor: Rename BasicSettingsAccessor to SettingsAccessor
Rename BasicSettingsAccessor to SettingsAccessor, now that the name is available again. Change-Id: I49473f0c701976f992209f06d48decf047ab19de Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -45,10 +45,10 @@ const char VERSION_KEY[] = "Version";
|
|||||||
namespace Utils {
|
namespace Utils {
|
||||||
|
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
// BasicSettingsAccessor::Issue:
|
// SettingsAccessor::Issue:
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
QMessageBox::StandardButtons BasicSettingsAccessor::Issue::allButtons() const
|
QMessageBox::StandardButtons SettingsAccessor::Issue::allButtons() const
|
||||||
{
|
{
|
||||||
QMessageBox::StandardButtons result = QMessageBox::NoButton;
|
QMessageBox::StandardButtons result = QMessageBox::NoButton;
|
||||||
for (const QMessageBox::StandardButton &b : buttons.keys())
|
for (const QMessageBox::StandardButton &b : buttons.keys())
|
||||||
@@ -57,18 +57,18 @@ QMessageBox::StandardButtons BasicSettingsAccessor::Issue::allButtons() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
// BasicSettingsAccessor:
|
// SettingsAccessor:
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* The BasicSettingsAccessor can be used to read/write settings in XML format.
|
* The SettingsAccessor can be used to read/write settings in XML format.
|
||||||
*/
|
*/
|
||||||
BasicSettingsAccessor::BasicSettingsAccessor(const QString &docType,
|
SettingsAccessor::SettingsAccessor(const QString &docType,
|
||||||
const QString &displayName,
|
const QString &displayName,
|
||||||
const QString &applicationDisplayName) :
|
const QString &applicationDisplayName) :
|
||||||
docType(docType),
|
docType(docType),
|
||||||
displayName(displayName),
|
displayName(displayName),
|
||||||
applicationDisplayName(applicationDisplayName)
|
applicationDisplayName(applicationDisplayName)
|
||||||
{
|
{
|
||||||
QTC_CHECK(!docType.isEmpty());
|
QTC_CHECK(!docType.isEmpty());
|
||||||
QTC_CHECK(!displayName.isEmpty());
|
QTC_CHECK(!displayName.isEmpty());
|
||||||
@@ -78,7 +78,7 @@ BasicSettingsAccessor::BasicSettingsAccessor(const QString &docType,
|
|||||||
/*!
|
/*!
|
||||||
* Restore settings from disk and report any issues in a message box centered on \a parent.
|
* Restore settings from disk and report any issues in a message box centered on \a parent.
|
||||||
*/
|
*/
|
||||||
QVariantMap BasicSettingsAccessor::restoreSettings(QWidget *parent) const
|
QVariantMap SettingsAccessor::restoreSettings(QWidget *parent) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(!m_baseFilePath.isEmpty(), return QVariantMap());
|
QTC_ASSERT(!m_baseFilePath.isEmpty(), return QVariantMap());
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ QVariantMap BasicSettingsAccessor::restoreSettings(QWidget *parent) const
|
|||||||
/*!
|
/*!
|
||||||
* Save \a data to disk and report any issues in a message box centered on \a parent.
|
* Save \a data to disk and report any issues in a message box centered on \a parent.
|
||||||
*/
|
*/
|
||||||
bool BasicSettingsAccessor::saveSettings(const QVariantMap &data, QWidget *parent) const
|
bool SettingsAccessor::saveSettings(const QVariantMap &data, QWidget *parent) const
|
||||||
{
|
{
|
||||||
const optional<Issue> result = writeData(m_baseFilePath, data, parent);
|
const optional<Issue> result = writeData(m_baseFilePath, data, parent);
|
||||||
const ProceedInfo pi = result ? reportIssues(result.value(), m_baseFilePath, parent) : ProceedInfo::Continue;
|
const ProceedInfo pi = result ? reportIssues(result.value(), m_baseFilePath, parent) : ProceedInfo::Continue;
|
||||||
@@ -100,8 +100,7 @@ bool BasicSettingsAccessor::saveSettings(const QVariantMap &data, QWidget *paren
|
|||||||
/*!
|
/*!
|
||||||
* Read data from \a path. Do all the necessary postprocessing of the data.
|
* Read data from \a path. Do all the necessary postprocessing of the data.
|
||||||
*/
|
*/
|
||||||
BasicSettingsAccessor::RestoreData BasicSettingsAccessor::readData(const FileName &path,
|
SettingsAccessor::RestoreData SettingsAccessor::readData(const FileName &path, QWidget *parent) const
|
||||||
QWidget *parent) const
|
|
||||||
{
|
{
|
||||||
Q_UNUSED(parent);
|
Q_UNUSED(parent);
|
||||||
RestoreData result = readFile(path);
|
RestoreData result = readFile(path);
|
||||||
@@ -113,8 +112,8 @@ BasicSettingsAccessor::RestoreData BasicSettingsAccessor::readData(const FileNam
|
|||||||
/*!
|
/*!
|
||||||
* Store the \a data in \a path on disk. Do all the necessary preprocessing of the data.
|
* Store the \a data in \a path on disk. Do all the necessary preprocessing of the data.
|
||||||
*/
|
*/
|
||||||
Utils::optional<BasicSettingsAccessor::Issue>
|
Utils::optional<SettingsAccessor::Issue>
|
||||||
BasicSettingsAccessor::writeData(const FileName &path, const QVariantMap &data, QWidget *parent) const
|
SettingsAccessor::writeData(const FileName &path, const QVariantMap &data, QWidget *parent) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(parent);
|
Q_UNUSED(parent);
|
||||||
return writeFile(path, prepareToWriteSettings(data));
|
return writeFile(path, prepareToWriteSettings(data));
|
||||||
@@ -125,7 +124,7 @@ BasicSettingsAccessor::writeData(const FileName &path, const QVariantMap &data,
|
|||||||
*
|
*
|
||||||
* This method does not do *any* processing of the file contents.
|
* This method does not do *any* processing of the file contents.
|
||||||
*/
|
*/
|
||||||
BasicSettingsAccessor::RestoreData BasicSettingsAccessor::readFile(const FileName &path) const
|
SettingsAccessor::RestoreData SettingsAccessor::readFile(const FileName &path) const
|
||||||
{
|
{
|
||||||
PersistentSettingsReader reader;
|
PersistentSettingsReader reader;
|
||||||
if (!reader.load(path)) {
|
if (!reader.load(path)) {
|
||||||
@@ -142,8 +141,8 @@ BasicSettingsAccessor::RestoreData BasicSettingsAccessor::readFile(const FileNam
|
|||||||
*
|
*
|
||||||
* This method does not do *any* processing of the file contents.
|
* This method does not do *any* processing of the file contents.
|
||||||
*/
|
*/
|
||||||
Utils::optional<BasicSettingsAccessor::Issue>
|
Utils::optional<SettingsAccessor::Issue>
|
||||||
BasicSettingsAccessor::writeFile(const FileName &path, const QVariantMap &data) const
|
SettingsAccessor::writeFile(const FileName &path, const QVariantMap &data) const
|
||||||
{
|
{
|
||||||
if (data.isEmpty()) {
|
if (data.isEmpty()) {
|
||||||
return Issue(QCoreApplication::translate("Utils::SettingsAccessor", "Failed to Write File"),
|
return Issue(QCoreApplication::translate("Utils::SettingsAccessor", "Failed to Write File"),
|
||||||
@@ -162,9 +161,9 @@ BasicSettingsAccessor::writeFile(const FileName &path, const QVariantMap &data)
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
BasicSettingsAccessor::ProceedInfo
|
SettingsAccessor::ProceedInfo
|
||||||
BasicSettingsAccessor::reportIssues(const BasicSettingsAccessor::Issue &issue, const FileName &path,
|
SettingsAccessor::reportIssues(const SettingsAccessor::Issue &issue, const FileName &path,
|
||||||
QWidget *parent) const
|
QWidget *parent) const
|
||||||
{
|
{
|
||||||
if (!path.exists())
|
if (!path.exists())
|
||||||
return Continue;
|
return Continue;
|
||||||
@@ -187,7 +186,7 @@ BasicSettingsAccessor::reportIssues(const BasicSettingsAccessor::Issue &issue, c
|
|||||||
/*!
|
/*!
|
||||||
* This method is called right after reading data from disk and modifies \a data.
|
* This method is called right after reading data from disk and modifies \a data.
|
||||||
*/
|
*/
|
||||||
QVariantMap BasicSettingsAccessor::preprocessReadSettings(const QVariantMap &data) const
|
QVariantMap SettingsAccessor::preprocessReadSettings(const QVariantMap &data) const
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@@ -195,7 +194,7 @@ QVariantMap BasicSettingsAccessor::preprocessReadSettings(const QVariantMap &dat
|
|||||||
/*!
|
/*!
|
||||||
* This method is called right before writing data to disk and modifies \a data.
|
* This method is called right before writing data to disk and modifies \a data.
|
||||||
*/
|
*/
|
||||||
QVariantMap BasicSettingsAccessor::prepareToWriteSettings(const QVariantMap &data) const
|
QVariantMap SettingsAccessor::prepareToWriteSettings(const QVariantMap &data) const
|
||||||
{
|
{
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@@ -214,8 +213,8 @@ FileNameList BackUpStrategy::readFileCandidates(const FileName &baseFileName) co
|
|||||||
return Utils::transform(list, [](const QFileInfo &fi) { return FileName::fromString(fi.absoluteFilePath()); });
|
return Utils::transform(list, [](const QFileInfo &fi) { return FileName::fromString(fi.absoluteFilePath()); });
|
||||||
}
|
}
|
||||||
|
|
||||||
int BackUpStrategy::compare(const BasicSettingsAccessor::RestoreData &data1,
|
int BackUpStrategy::compare(const SettingsAccessor::RestoreData &data1,
|
||||||
const BasicSettingsAccessor::RestoreData &data2) const
|
const SettingsAccessor::RestoreData &data2) const
|
||||||
{
|
{
|
||||||
if (!data1.hasError() && !data1.data.isEmpty())
|
if (!data1.hasError() && !data1.data.isEmpty())
|
||||||
return -1;
|
return -1;
|
||||||
@@ -246,11 +245,11 @@ BackingUpSettingsAccessor::BackingUpSettingsAccessor(std::unique_ptr<BackUpStrat
|
|||||||
const QString &docType,
|
const QString &docType,
|
||||||
const QString &displayName,
|
const QString &displayName,
|
||||||
const QString &applicationDisplayName) :
|
const QString &applicationDisplayName) :
|
||||||
BasicSettingsAccessor(docType, displayName, applicationDisplayName),
|
SettingsAccessor(docType, displayName, applicationDisplayName),
|
||||||
m_strategy(std::move(strategy))
|
m_strategy(std::move(strategy))
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
BasicSettingsAccessor::RestoreData
|
SettingsAccessor::RestoreData
|
||||||
BackingUpSettingsAccessor::readData(const Utils::FileName &path, QWidget *parent) const
|
BackingUpSettingsAccessor::readData(const Utils::FileName &path, QWidget *parent) const
|
||||||
{
|
{
|
||||||
const FileNameList fileList = readFileCandidates(path);
|
const FileNameList fileList = readFileCandidates(path);
|
||||||
@@ -262,8 +261,8 @@ BackingUpSettingsAccessor::readData(const Utils::FileName &path, QWidget *parent
|
|||||||
result.path = baseFilePath().parentDir();
|
result.path = baseFilePath().parentDir();
|
||||||
|
|
||||||
if (result.data.isEmpty()) {
|
if (result.data.isEmpty()) {
|
||||||
Issue i(QApplication::translate("Utils::BasicSettingsAccessor", "No Valid Settings Found"),
|
Issue i(QApplication::translate("Utils::SettingsAccessor", "No Valid Settings Found"),
|
||||||
QApplication::translate("Utils::BasicSettingsAccessor",
|
QApplication::translate("Utils::SettingsAccessor",
|
||||||
"<p>No valid settings file could be found.</p>"
|
"<p>No valid settings file could be found.</p>"
|
||||||
"<p>All settings files found in directory \"%1\" "
|
"<p>All settings files found in directory \"%1\" "
|
||||||
"were unsuitable for the current version of %2.</p>")
|
"were unsuitable for the current version of %2.</p>")
|
||||||
@@ -275,7 +274,7 @@ BackingUpSettingsAccessor::readData(const Utils::FileName &path, QWidget *parent
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
Utils::optional<BasicSettingsAccessor::Issue>
|
Utils::optional<SettingsAccessor::Issue>
|
||||||
BackingUpSettingsAccessor::writeData(const Utils::FileName &path, const QVariantMap &data,
|
BackingUpSettingsAccessor::writeData(const Utils::FileName &path, const QVariantMap &data,
|
||||||
QWidget *parent) const
|
QWidget *parent) const
|
||||||
{
|
{
|
||||||
@@ -284,7 +283,7 @@ BackingUpSettingsAccessor::writeData(const Utils::FileName &path, const QVariant
|
|||||||
|
|
||||||
backupFile(path, data, parent);
|
backupFile(path, data, parent);
|
||||||
|
|
||||||
return BasicSettingsAccessor::writeData(path, data, parent);
|
return SettingsAccessor::writeData(path, data, parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
FileNameList BackingUpSettingsAccessor::readFileCandidates(const Utils::FileName &path) const
|
FileNameList BackingUpSettingsAccessor::readFileCandidates(const Utils::FileName &path) const
|
||||||
@@ -296,12 +295,12 @@ FileNameList BackingUpSettingsAccessor::readFileCandidates(const Utils::FileName
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
BasicSettingsAccessor::RestoreData
|
SettingsAccessor::RestoreData
|
||||||
BackingUpSettingsAccessor::bestReadFileData(const FileNameList &candidates, QWidget *parent) const
|
BackingUpSettingsAccessor::bestReadFileData(const FileNameList &candidates, QWidget *parent) const
|
||||||
{
|
{
|
||||||
BasicSettingsAccessor::RestoreData bestMatch;
|
SettingsAccessor::RestoreData bestMatch;
|
||||||
for (const FileName &c : candidates) {
|
for (const FileName &c : candidates) {
|
||||||
RestoreData cData = BasicSettingsAccessor::readData(c, parent);
|
RestoreData cData = SettingsAccessor::readData(c, parent);
|
||||||
if (m_strategy->compare(bestMatch, cData) > 0)
|
if (m_strategy->compare(bestMatch, cData) > 0)
|
||||||
bestMatch = cData;
|
bestMatch = cData;
|
||||||
}
|
}
|
||||||
@@ -311,7 +310,7 @@ BackingUpSettingsAccessor::bestReadFileData(const FileNameList &candidates, QWid
|
|||||||
void BackingUpSettingsAccessor::backupFile(const FileName &path, const QVariantMap &data,
|
void BackingUpSettingsAccessor::backupFile(const FileName &path, const QVariantMap &data,
|
||||||
QWidget *parent) const
|
QWidget *parent) const
|
||||||
{
|
{
|
||||||
RestoreData oldSettings = BasicSettingsAccessor::readData(path, parent);
|
RestoreData oldSettings = SettingsAccessor::readData(path, parent);
|
||||||
if (oldSettings.data.isEmpty())
|
if (oldSettings.data.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -332,8 +331,8 @@ VersionedBackUpStrategy::VersionedBackUpStrategy(const UpgradingSettingsAccessor
|
|||||||
QTC_CHECK(accessor);
|
QTC_CHECK(accessor);
|
||||||
}
|
}
|
||||||
|
|
||||||
int VersionedBackUpStrategy::compare(const BasicSettingsAccessor::RestoreData &data1,
|
int VersionedBackUpStrategy::compare(const SettingsAccessor::RestoreData &data1,
|
||||||
const BasicSettingsAccessor::RestoreData &data2) const
|
const SettingsAccessor::RestoreData &data2) const
|
||||||
{
|
{
|
||||||
const int origVersion = versionFromMap(data1.data);
|
const int origVersion = versionFromMap(data1.data);
|
||||||
const bool origValid = m_accessor->isValidVersionAndId(origVersion, settingsIdFromMap(data1.data));
|
const bool origValid = m_accessor->isValidVersionAndId(origVersion, settingsIdFromMap(data1.data));
|
||||||
@@ -450,8 +449,8 @@ bool UpgradingSettingsAccessor::isValidVersionAndId(const int version, const QBy
|
|||||||
&& (id == m_id || m_id.isEmpty());
|
&& (id == m_id || m_id.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
BasicSettingsAccessor::RestoreData UpgradingSettingsAccessor::readData(const FileName &path,
|
SettingsAccessor::RestoreData UpgradingSettingsAccessor::readData(const FileName &path,
|
||||||
QWidget *parent) const
|
QWidget *parent) const
|
||||||
{
|
{
|
||||||
return upgradeSettings(BackingUpSettingsAccessor::readData(path, parent), currentVersion());
|
return upgradeSettings(BackingUpSettingsAccessor::readData(path, parent), currentVersion());
|
||||||
}
|
}
|
||||||
@@ -490,7 +489,7 @@ VersionUpgrader *UpgradingSettingsAccessor::upgrader(const int version) const
|
|||||||
return upgrader;
|
return upgrader;
|
||||||
}
|
}
|
||||||
|
|
||||||
BasicSettingsAccessor::RestoreData
|
SettingsAccessor::RestoreData
|
||||||
UpgradingSettingsAccessor::upgradeSettings(const RestoreData &data, const int targetVersion) const
|
UpgradingSettingsAccessor::upgradeSettings(const RestoreData &data, const int targetVersion) const
|
||||||
{
|
{
|
||||||
if (data.hasError())
|
if (data.hasError())
|
||||||
@@ -517,7 +516,7 @@ UpgradingSettingsAccessor::upgradeSettings(const RestoreData &data, const int ta
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
BasicSettingsAccessor::RestoreData
|
SettingsAccessor::RestoreData
|
||||||
UpgradingSettingsAccessor::validateVersionRange(const RestoreData &data) const
|
UpgradingSettingsAccessor::validateVersionRange(const RestoreData &data) const
|
||||||
{
|
{
|
||||||
RestoreData result = data;
|
RestoreData result = data;
|
||||||
@@ -588,8 +587,8 @@ MergingSettingsAccessor::MergingSettingsAccessor(std::unique_ptr<BackUpStrategy>
|
|||||||
UpgradingSettingsAccessor(std::move(strategy), docType, displayName, applicationDisplayName)
|
UpgradingSettingsAccessor(std::move(strategy), docType, displayName, applicationDisplayName)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
BasicSettingsAccessor::RestoreData MergingSettingsAccessor::readData(const FileName &path,
|
SettingsAccessor::RestoreData MergingSettingsAccessor::readData(const FileName &path,
|
||||||
QWidget *parent) const
|
QWidget *parent) const
|
||||||
{
|
{
|
||||||
RestoreData mainData = UpgradingSettingsAccessor::readData(path, parent); // FULLY upgraded!
|
RestoreData mainData = UpgradingSettingsAccessor::readData(path, parent); // FULLY upgraded!
|
||||||
if (mainData.hasIssue()) {
|
if (mainData.hasIssue()) {
|
||||||
@@ -614,9 +613,9 @@ BasicSettingsAccessor::RestoreData MergingSettingsAccessor::readData(const FileN
|
|||||||
// that perfectly match corresponding user ones. If we don't have valid user
|
// that perfectly match corresponding user ones. If we don't have valid user
|
||||||
// settings to compare against, there's nothing we can do.
|
// settings to compare against, there's nothing we can do.
|
||||||
|
|
||||||
secondaryData.issue = Issue(QApplication::translate("Utils::BasicSettingsAccessor",
|
secondaryData.issue = Issue(QApplication::translate("Utils::SettingsAccessor",
|
||||||
"Unsupported Merge Settings File"),
|
"Unsupported Merge Settings File"),
|
||||||
QApplication::translate("Utils::BasicSettingsAccessor",
|
QApplication::translate("Utils::SettingsAccessor",
|
||||||
"\"%1\" is not supported by %1. "
|
"\"%1\" is not supported by %1. "
|
||||||
"Do you want to try loading it anyway?")
|
"Do you want to try loading it anyway?")
|
||||||
.arg(secondaryData.path.toUserOutput())
|
.arg(secondaryData.path.toUserOutput())
|
||||||
@@ -639,7 +638,7 @@ BasicSettingsAccessor::RestoreData MergingSettingsAccessor::readData(const FileN
|
|||||||
return mergeSettings(mainData, secondaryData);
|
return mergeSettings(mainData, secondaryData);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MergingSettingsAccessor::setSecondaryAccessor(std::unique_ptr<BasicSettingsAccessor> &&secondary)
|
void MergingSettingsAccessor::setSecondaryAccessor(std::unique_ptr<SettingsAccessor> &&secondary)
|
||||||
{
|
{
|
||||||
m_secondaryAccessor = std::move(secondary);
|
m_secondaryAccessor = std::move(secondary);
|
||||||
}
|
}
|
||||||
@@ -647,9 +646,9 @@ void MergingSettingsAccessor::setSecondaryAccessor(std::unique_ptr<BasicSettings
|
|||||||
/*!
|
/*!
|
||||||
* Merge \a secondary into \a main. Both need to be at the newest possible version.
|
* Merge \a secondary into \a main. Both need to be at the newest possible version.
|
||||||
*/
|
*/
|
||||||
BasicSettingsAccessor::RestoreData
|
SettingsAccessor::RestoreData
|
||||||
MergingSettingsAccessor::mergeSettings(const BasicSettingsAccessor::RestoreData &main,
|
MergingSettingsAccessor::mergeSettings(const SettingsAccessor::RestoreData &main,
|
||||||
const BasicSettingsAccessor::RestoreData &secondary) const
|
const SettingsAccessor::RestoreData &secondary) const
|
||||||
{
|
{
|
||||||
const int mainVersion = versionFromMap(main.data);
|
const int mainVersion = versionFromMap(main.data);
|
||||||
const int secondaryVersion = versionFromMap(secondary.data);
|
const int secondaryVersion = versionFromMap(secondary.data);
|
||||||
|
@@ -66,16 +66,16 @@ QTCREATOR_UTILS_EXPORT void setSettingsIdInMap(QVariantMap &data, const QByteArr
|
|||||||
using SettingsMergeResult = Utils::optional<QPair<QString, QVariant>>;
|
using SettingsMergeResult = Utils::optional<QPair<QString, QVariant>>;
|
||||||
|
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
// BasicSettingsAccessor:
|
// SettingsAccessor:
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
// Read/write files incl. error handling suitable for the UI:
|
// Read/write files incl. error handling suitable for the UI:
|
||||||
class QTCREATOR_UTILS_EXPORT BasicSettingsAccessor
|
class QTCREATOR_UTILS_EXPORT SettingsAccessor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BasicSettingsAccessor(const QString &docType, const QString &displayName,
|
SettingsAccessor(const QString &docType, const QString &displayName,
|
||||||
const QString &applicationDisplayName);
|
const QString &applicationDisplayName);
|
||||||
virtual ~BasicSettingsAccessor() = default;
|
virtual ~SettingsAccessor() = default;
|
||||||
|
|
||||||
enum ProceedInfo { Continue, DiscardAndContinue };
|
enum ProceedInfo { Continue, DiscardAndContinue };
|
||||||
typedef QHash<QMessageBox::StandardButton, ProceedInfo> ButtonMap;
|
typedef QHash<QMessageBox::StandardButton, ProceedInfo> ButtonMap;
|
||||||
@@ -154,14 +154,14 @@ public:
|
|||||||
virtual FileNameList readFileCandidates(const Utils::FileName &baseFileName) const;
|
virtual FileNameList readFileCandidates(const Utils::FileName &baseFileName) const;
|
||||||
// Return -1 if data1 is better that data2, 0 if both are equally worthwhile
|
// Return -1 if data1 is better that data2, 0 if both are equally worthwhile
|
||||||
// and 1 if data2 is better than data1
|
// and 1 if data2 is better than data1
|
||||||
virtual int compare(const BasicSettingsAccessor::RestoreData &data1,
|
virtual int compare(const SettingsAccessor::RestoreData &data1,
|
||||||
const BasicSettingsAccessor::RestoreData &data2) const;
|
const SettingsAccessor::RestoreData &data2) const;
|
||||||
|
|
||||||
virtual optional<FileName>
|
virtual optional<FileName>
|
||||||
backupName(const QVariantMap &oldData, const FileName &path, const QVariantMap &data) const;
|
backupName(const QVariantMap &oldData, const FileName &path, const QVariantMap &data) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class QTCREATOR_UTILS_EXPORT BackingUpSettingsAccessor : public BasicSettingsAccessor
|
class QTCREATOR_UTILS_EXPORT BackingUpSettingsAccessor : public SettingsAccessor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BackingUpSettingsAccessor(const QString &docType, const QString &displayName,
|
BackingUpSettingsAccessor(const QString &docType, const QString &displayName,
|
||||||
@@ -196,8 +196,8 @@ public:
|
|||||||
|
|
||||||
// Return -1 if data1 is better that data2, 0 if both are equally worthwhile
|
// Return -1 if data1 is better that data2, 0 if both are equally worthwhile
|
||||||
// and 1 if data2 is better than data1
|
// and 1 if data2 is better than data1
|
||||||
int compare(const BasicSettingsAccessor::RestoreData &data1,
|
int compare(const SettingsAccessor::RestoreData &data1,
|
||||||
const BasicSettingsAccessor::RestoreData &data2) const override;
|
const SettingsAccessor::RestoreData &data2) const override;
|
||||||
|
|
||||||
optional<FileName>
|
optional<FileName>
|
||||||
backupName(const QVariantMap &oldData, const FileName &path, const QVariantMap &data) const override;
|
backupName(const QVariantMap &oldData, const FileName &path, const QVariantMap &data) const override;
|
||||||
@@ -282,7 +282,7 @@ public:
|
|||||||
|
|
||||||
RestoreData readData(const Utils::FileName &path, QWidget *parent) const final;
|
RestoreData readData(const Utils::FileName &path, QWidget *parent) const final;
|
||||||
|
|
||||||
void setSecondaryAccessor(std::unique_ptr<BasicSettingsAccessor> &&secondary);
|
void setSecondaryAccessor(std::unique_ptr<SettingsAccessor> &&secondary);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@@ -296,7 +296,7 @@ protected:
|
|||||||
const QVariantMap &result) const;
|
const QVariantMap &result) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<BasicSettingsAccessor> m_secondaryAccessor;
|
std::unique_ptr<SettingsAccessor> m_secondaryAccessor;
|
||||||
};
|
};
|
||||||
|
|
||||||
using SettingsMergeFunction = std::function<SettingsMergeResult(const MergingSettingsAccessor::SettingsMergeData &,
|
using SettingsMergeFunction = std::function<SettingsMergeResult(const MergingSettingsAccessor::SettingsMergeData &,
|
||||||
|
@@ -451,7 +451,7 @@ UserFileAccessor::UserFileAccessor(Project *project) :
|
|||||||
setBaseFilePath(externalUser.isEmpty() ? projectUser : externalUser);
|
setBaseFilePath(externalUser.isEmpty() ? projectUser : externalUser);
|
||||||
|
|
||||||
auto secondary
|
auto secondary
|
||||||
= std::make_unique<BasicSettingsAccessor>(docType, displayName, applicationDisplayName);
|
= std::make_unique<SettingsAccessor>(docType, displayName, applicationDisplayName);
|
||||||
secondary->setBaseFilePath(sharedFile());
|
secondary->setBaseFilePath(sharedFile());
|
||||||
setSecondaryAccessor(std::move(secondary));
|
setSecondaryAccessor(std::move(secondary));
|
||||||
|
|
||||||
|
@@ -111,8 +111,8 @@ protected:
|
|||||||
Utils::optional<Issue> writeFile(const Utils::FileName &path, const QVariantMap &data) const override
|
Utils::optional<Issue> writeFile(const Utils::FileName &path, const QVariantMap &data) const override
|
||||||
{
|
{
|
||||||
if (data.isEmpty()) {
|
if (data.isEmpty()) {
|
||||||
return Issue(QCoreApplication::translate("Utils::BasicSettingsAccessor", "Failed to Write File"),
|
return Issue(QCoreApplication::translate("Utils::SettingsAccessor", "Failed to Write File"),
|
||||||
QCoreApplication::translate("Utils::BasicSettingsAccessor", "There was nothing to write."),
|
QCoreApplication::translate("Utils::SettingsAccessor", "There was nothing to write."),
|
||||||
Issue::Type::WARNING);
|
Issue::Type::WARNING);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -235,14 +235,14 @@ static QVariantMap versionedMap(int version, const QByteArray &id = QByteArray()
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Utils::BasicSettingsAccessor::RestoreData restoreData(const Utils::FileName &path,
|
static Utils::SettingsAccessor::RestoreData restoreData(const Utils::FileName &path,
|
||||||
const QVariantMap &data)
|
const QVariantMap &data)
|
||||||
{
|
{
|
||||||
return Utils::BasicSettingsAccessor::RestoreData(path, data);
|
return Utils::SettingsAccessor::RestoreData(path, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Utils::BasicSettingsAccessor::RestoreData restoreData(const QByteArray &path,
|
static Utils::SettingsAccessor::RestoreData restoreData(const QByteArray &path,
|
||||||
const QVariantMap &data)
|
const QVariantMap &data)
|
||||||
{
|
{
|
||||||
return restoreData(Utils::FileName::fromUtf8(path), data);
|
return restoreData(Utils::FileName::fromUtf8(path), data);
|
||||||
}
|
}
|
||||||
@@ -344,8 +344,8 @@ void tst_SettingsAccessor::RestoreDataCompare()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
|
|
||||||
Utils::BasicSettingsAccessor::RestoreData a = restoreData("/foo/bar", versionedMap(5, TESTACCESSOR_DEFAULT_ID));
|
Utils::SettingsAccessor::RestoreData a = restoreData("/foo/bar", versionedMap(5, TESTACCESSOR_DEFAULT_ID));
|
||||||
Utils::BasicSettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(6, TESTACCESSOR_DEFAULT_ID));
|
Utils::SettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(6, TESTACCESSOR_DEFAULT_ID));
|
||||||
|
|
||||||
QCOMPARE(accessor.strategy()->compare(a, a), 0);
|
QCOMPARE(accessor.strategy()->compare(a, a), 0);
|
||||||
QCOMPARE(accessor.strategy()->compare(a, b), 1);
|
QCOMPARE(accessor.strategy()->compare(a, b), 1);
|
||||||
@@ -356,8 +356,8 @@ void tst_SettingsAccessor::RestoreDataCompare_idMismatch()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
|
|
||||||
Utils::BasicSettingsAccessor::RestoreData a = restoreData("/foo/bar", versionedMap(5, TESTACCESSOR_DEFAULT_ID));
|
Utils::SettingsAccessor::RestoreData a = restoreData("/foo/bar", versionedMap(5, TESTACCESSOR_DEFAULT_ID));
|
||||||
Utils::BasicSettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(6, "foo"));
|
Utils::SettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(6, "foo"));
|
||||||
|
|
||||||
QCOMPARE(accessor.strategy()->compare(a, b), -1);
|
QCOMPARE(accessor.strategy()->compare(a, b), -1);
|
||||||
QCOMPARE(accessor.strategy()->compare(b, a), 1);
|
QCOMPARE(accessor.strategy()->compare(b, a), 1);
|
||||||
@@ -367,8 +367,8 @@ void tst_SettingsAccessor::RestoreDataCompare_noId()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor(Utils::FileName::fromString("/foo/baz"), QByteArray());
|
const TestSettingsAccessor accessor(Utils::FileName::fromString("/foo/baz"), QByteArray());
|
||||||
|
|
||||||
Utils::BasicSettingsAccessor::RestoreData a = restoreData("/foo/bar", versionedMap(5, TESTACCESSOR_DEFAULT_ID));
|
Utils::SettingsAccessor::RestoreData a = restoreData("/foo/bar", versionedMap(5, TESTACCESSOR_DEFAULT_ID));
|
||||||
Utils::BasicSettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(6, "foo"));
|
Utils::SettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(6, "foo"));
|
||||||
|
|
||||||
QCOMPARE(accessor.strategy()->compare(a, b), 1);
|
QCOMPARE(accessor.strategy()->compare(a, b), 1);
|
||||||
QCOMPARE(accessor.strategy()->compare(b, a), -1);
|
QCOMPARE(accessor.strategy()->compare(b, a), -1);
|
||||||
@@ -378,8 +378,8 @@ void tst_SettingsAccessor::RestoreDataCompare_sameVersion()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
|
|
||||||
Utils::BasicSettingsAccessor::RestoreData a = restoreData("/foo/bar", versionedMap(7, TESTACCESSOR_DEFAULT_ID));
|
Utils::SettingsAccessor::RestoreData a = restoreData("/foo/bar", versionedMap(7, TESTACCESSOR_DEFAULT_ID));
|
||||||
Utils::BasicSettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(7, TESTACCESSOR_DEFAULT_ID));
|
Utils::SettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(7, TESTACCESSOR_DEFAULT_ID));
|
||||||
|
|
||||||
QCOMPARE(accessor.strategy()->compare(a, b), 0);
|
QCOMPARE(accessor.strategy()->compare(a, b), 0);
|
||||||
QCOMPARE(accessor.strategy()->compare(b, a), 0);
|
QCOMPARE(accessor.strategy()->compare(b, a), 0);
|
||||||
@@ -389,8 +389,8 @@ void tst_SettingsAccessor::RestoreDataCompare_emptyMap()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
|
|
||||||
Utils::BasicSettingsAccessor::RestoreData a = restoreData("/foo/bar", QVariantMap());
|
Utils::SettingsAccessor::RestoreData a = restoreData("/foo/bar", QVariantMap());
|
||||||
Utils::BasicSettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(7, TESTACCESSOR_DEFAULT_ID));
|
Utils::SettingsAccessor::RestoreData b = restoreData("/foo/baz", versionedMap(7, TESTACCESSOR_DEFAULT_ID));
|
||||||
|
|
||||||
QCOMPARE(accessor.strategy()->compare(a, b), 1);
|
QCOMPARE(accessor.strategy()->compare(a, b), 1);
|
||||||
QCOMPARE(accessor.strategy()->compare(b, a), -1);
|
QCOMPARE(accessor.strategy()->compare(b, a), -1);
|
||||||
@@ -400,8 +400,8 @@ void tst_SettingsAccessor::RestoreDataCompare_twoEmptyMaps()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
|
|
||||||
Utils::BasicSettingsAccessor::RestoreData a = restoreData("/foo/bar", QVariantMap());
|
Utils::SettingsAccessor::RestoreData a = restoreData("/foo/bar", QVariantMap());
|
||||||
Utils::BasicSettingsAccessor::RestoreData b = restoreData("/foo/baz", QVariantMap());
|
Utils::SettingsAccessor::RestoreData b = restoreData("/foo/baz", QVariantMap());
|
||||||
|
|
||||||
QCOMPARE(accessor.strategy()->compare(a, b), 0);
|
QCOMPARE(accessor.strategy()->compare(a, b), 0);
|
||||||
QCOMPARE(accessor.strategy()->compare(b, a), 0);
|
QCOMPARE(accessor.strategy()->compare(b, a), 0);
|
||||||
@@ -411,11 +411,11 @@ void tst_SettingsAccessor::upgradeSettings_noUpgradeNecessary()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
const int startVersion = 8;
|
const int startVersion = 8;
|
||||||
const Utils::BasicSettingsAccessor::RestoreData input
|
const Utils::SettingsAccessor::RestoreData input
|
||||||
= restoreData(accessor.baseFilePath(),
|
= restoreData(accessor.baseFilePath(),
|
||||||
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
||||||
|
|
||||||
const Utils::BasicSettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
const Utils::SettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
||||||
|
|
||||||
QVERIFY(!result.hasIssue());
|
QVERIFY(!result.hasIssue());
|
||||||
for (auto it = result.data.cbegin(); it != result.data.cend(); ++it) {
|
for (auto it = result.data.cbegin(); it != result.data.cend(); ++it) {
|
||||||
@@ -433,12 +433,12 @@ void tst_SettingsAccessor::upgradeSettings_invalidId()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
const int startVersion = 8;
|
const int startVersion = 8;
|
||||||
const Utils::BasicSettingsAccessor::RestoreData input
|
const Utils::SettingsAccessor::RestoreData input
|
||||||
= restoreData(accessor.baseFilePath(),
|
= restoreData(accessor.baseFilePath(),
|
||||||
versionedMap(startVersion, "foo", generateExtraData()));
|
versionedMap(startVersion, "foo", generateExtraData()));
|
||||||
|
|
||||||
|
|
||||||
const Utils::BasicSettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
const Utils::SettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
||||||
|
|
||||||
// Data is unchanged
|
// Data is unchanged
|
||||||
QVERIFY(result.hasWarning());
|
QVERIFY(result.hasWarning());
|
||||||
@@ -457,11 +457,11 @@ void tst_SettingsAccessor::upgradeSettings_tooOld()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
const int startVersion = 1;
|
const int startVersion = 1;
|
||||||
const Utils::BasicSettingsAccessor::RestoreData input
|
const Utils::SettingsAccessor::RestoreData input
|
||||||
= restoreData(accessor.baseFilePath(),
|
= restoreData(accessor.baseFilePath(),
|
||||||
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
||||||
|
|
||||||
const Utils::BasicSettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
const Utils::SettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
||||||
|
|
||||||
// Data is unchanged
|
// Data is unchanged
|
||||||
QVERIFY(result.hasIssue());
|
QVERIFY(result.hasIssue());
|
||||||
@@ -472,11 +472,11 @@ void tst_SettingsAccessor::upgradeSettings_tooNew()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
const int startVersion = 42;
|
const int startVersion = 42;
|
||||||
const Utils::BasicSettingsAccessor::RestoreData input
|
const Utils::SettingsAccessor::RestoreData input
|
||||||
= restoreData(accessor.baseFilePath(),
|
= restoreData(accessor.baseFilePath(),
|
||||||
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
||||||
|
|
||||||
const Utils::BasicSettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
const Utils::SettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
||||||
|
|
||||||
// Data is unchanged
|
// Data is unchanged
|
||||||
QVERIFY(result.hasIssue());
|
QVERIFY(result.hasIssue());
|
||||||
@@ -487,11 +487,11 @@ void tst_SettingsAccessor::upgradeSettings_oneStep()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
const int startVersion = 7;
|
const int startVersion = 7;
|
||||||
const Utils::BasicSettingsAccessor::RestoreData input
|
const Utils::SettingsAccessor::RestoreData input
|
||||||
= restoreData(accessor.baseFilePath(),
|
= restoreData(accessor.baseFilePath(),
|
||||||
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
||||||
|
|
||||||
const Utils::BasicSettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
const Utils::SettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
||||||
|
|
||||||
QVERIFY(!result.hasIssue());
|
QVERIFY(!result.hasIssue());
|
||||||
for (auto it = result.data.cbegin(); it != result.data.cend(); ++it) {
|
for (auto it = result.data.cbegin(); it != result.data.cend(); ++it) {
|
||||||
@@ -513,12 +513,12 @@ void tst_SettingsAccessor::upgradeSettings_twoSteps()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
const int startVersion = 6;
|
const int startVersion = 6;
|
||||||
const Utils::BasicSettingsAccessor::RestoreData input
|
const Utils::SettingsAccessor::RestoreData input
|
||||||
= restoreData(accessor.baseFilePath(),
|
= restoreData(accessor.baseFilePath(),
|
||||||
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
||||||
|
|
||||||
|
|
||||||
const Utils::BasicSettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
const Utils::SettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 8);
|
||||||
|
|
||||||
QVERIFY(!result.hasIssue());
|
QVERIFY(!result.hasIssue());
|
||||||
for (auto it = result.data.cbegin(); it != result.data.cend(); ++it) {
|
for (auto it = result.data.cbegin(); it != result.data.cend(); ++it) {
|
||||||
@@ -542,11 +542,11 @@ void tst_SettingsAccessor::upgradeSettings_partialUpdate()
|
|||||||
{
|
{
|
||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
const int startVersion = 6;
|
const int startVersion = 6;
|
||||||
const Utils::BasicSettingsAccessor::RestoreData input
|
const Utils::SettingsAccessor::RestoreData input
|
||||||
= restoreData(accessor.baseFilePath(),
|
= restoreData(accessor.baseFilePath(),
|
||||||
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, generateExtraData()));
|
||||||
|
|
||||||
const Utils::BasicSettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 7);
|
const Utils::SettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 7);
|
||||||
|
|
||||||
QVERIFY(!result.hasIssue());
|
QVERIFY(!result.hasIssue());
|
||||||
for (auto it = result.data.cbegin(); it != result.data.cend(); ++it) {
|
for (auto it = result.data.cbegin(); it != result.data.cend(); ++it) {
|
||||||
@@ -569,11 +569,11 @@ void tst_SettingsAccessor::upgradeSettings_targetVersionTooOld()
|
|||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
const QVariantMap extra = generateExtraData();
|
const QVariantMap extra = generateExtraData();
|
||||||
const int startVersion = 6;
|
const int startVersion = 6;
|
||||||
const Utils::BasicSettingsAccessor::RestoreData input
|
const Utils::SettingsAccessor::RestoreData input
|
||||||
= restoreData(accessor.baseFilePath(),
|
= restoreData(accessor.baseFilePath(),
|
||||||
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, extra));
|
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, extra));
|
||||||
|
|
||||||
const Utils::BasicSettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 2);
|
const Utils::SettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 2);
|
||||||
|
|
||||||
// result is unchanged!
|
// result is unchanged!
|
||||||
QVERIFY(!result.hasIssue());
|
QVERIFY(!result.hasIssue());
|
||||||
@@ -585,11 +585,11 @@ void tst_SettingsAccessor::upgradeSettings_targetVersionTooNew()
|
|||||||
const TestSettingsAccessor accessor;
|
const TestSettingsAccessor accessor;
|
||||||
const QVariantMap extra = generateExtraData();
|
const QVariantMap extra = generateExtraData();
|
||||||
const int startVersion = 6;
|
const int startVersion = 6;
|
||||||
const Utils::BasicSettingsAccessor::RestoreData input
|
const Utils::SettingsAccessor::RestoreData input
|
||||||
= restoreData(accessor.baseFilePath(),
|
= restoreData(accessor.baseFilePath(),
|
||||||
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, extra));
|
versionedMap(startVersion, TESTACCESSOR_DEFAULT_ID, extra));
|
||||||
|
|
||||||
const Utils::BasicSettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 42);
|
const Utils::SettingsAccessor::RestoreData result = accessor.upgradeSettings(input, 42);
|
||||||
|
|
||||||
// result is unchanged!
|
// result is unchanged!
|
||||||
QVERIFY(!result.hasIssue());
|
QVERIFY(!result.hasIssue());
|
||||||
|
Reference in New Issue
Block a user