forked from qt-creator/qt-creator
Utils: Collapse the two SettingsAccessor constructor hierarchies
Change-Id: I7b659c9e3c66700cfc92f9cfbd9df0535a1ca655 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -223,14 +223,8 @@ std::optional<FilePath> BackUpStrategy::backupName(const QVariantMap &oldData,
|
|||||||
|
|
||||||
BackingUpSettingsAccessor::BackingUpSettingsAccessor(const QString &docType,
|
BackingUpSettingsAccessor::BackingUpSettingsAccessor(const QString &docType,
|
||||||
const QString &applicationDisplayName) :
|
const QString &applicationDisplayName) :
|
||||||
BackingUpSettingsAccessor(std::make_unique<BackUpStrategy>(), docType, applicationDisplayName)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
BackingUpSettingsAccessor::BackingUpSettingsAccessor(std::unique_ptr<BackUpStrategy> &&strategy,
|
|
||||||
const QString &docType,
|
|
||||||
const QString &applicationDisplayName) :
|
|
||||||
SettingsAccessor(docType, applicationDisplayName),
|
SettingsAccessor(docType, applicationDisplayName),
|
||||||
m_strategy(std::move(strategy))
|
m_strategy(std::make_unique<BackUpStrategy>())
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
SettingsAccessor::RestoreData
|
SettingsAccessor::RestoreData
|
||||||
@@ -272,6 +266,11 @@ std::optional<SettingsAccessor::Issue> BackingUpSettingsAccessor::writeData(cons
|
|||||||
return SettingsAccessor::writeData(path, data, parent);
|
return SettingsAccessor::writeData(path, data, parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BackingUpSettingsAccessor::setStrategy(std::unique_ptr<BackUpStrategy> &&strategy)
|
||||||
|
{
|
||||||
|
m_strategy = std::move(strategy);
|
||||||
|
}
|
||||||
|
|
||||||
FilePaths BackingUpSettingsAccessor::readFileCandidates(const FilePath &path) const
|
FilePaths BackingUpSettingsAccessor::readFileCandidates(const FilePath &path) const
|
||||||
{
|
{
|
||||||
FilePaths result = filteredUnique(m_strategy->readFileCandidates(path));
|
FilePaths result = filteredUnique(m_strategy->readFileCandidates(path));
|
||||||
@@ -405,15 +404,10 @@ QVariantMap VersionUpgrader::renameKeys(const QList<Change> &changes, QVariantMa
|
|||||||
*/
|
*/
|
||||||
UpgradingSettingsAccessor::UpgradingSettingsAccessor(const QString &docType,
|
UpgradingSettingsAccessor::UpgradingSettingsAccessor(const QString &docType,
|
||||||
const QString &applicationDisplayName) :
|
const QString &applicationDisplayName) :
|
||||||
UpgradingSettingsAccessor(std::make_unique<VersionedBackUpStrategy>(this), docType,
|
BackingUpSettingsAccessor(docType, applicationDisplayName)
|
||||||
applicationDisplayName)
|
{
|
||||||
{ }
|
setStrategy(std::make_unique<VersionedBackUpStrategy>(this));
|
||||||
|
}
|
||||||
UpgradingSettingsAccessor::UpgradingSettingsAccessor(std::unique_ptr<BackUpStrategy> &&strategy,
|
|
||||||
const QString &docType,
|
|
||||||
const QString &applicationDisplayName) :
|
|
||||||
BackingUpSettingsAccessor(std::move(strategy), docType, applicationDisplayName)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
int UpgradingSettingsAccessor::currentVersion() const
|
int UpgradingSettingsAccessor::currentVersion() const
|
||||||
{
|
{
|
||||||
@@ -568,10 +562,9 @@ UpgradingSettingsAccessor::validateVersionRange(const RestoreData &data) const
|
|||||||
* MergingSettingsAccessor allows to merge secondary settings into the main settings.
|
* MergingSettingsAccessor allows to merge secondary settings into the main settings.
|
||||||
* This is useful to e.g. handle .shared files together with .user files.
|
* This is useful to e.g. handle .shared files together with .user files.
|
||||||
*/
|
*/
|
||||||
MergingSettingsAccessor::MergingSettingsAccessor(std::unique_ptr<BackUpStrategy> &&strategy,
|
MergingSettingsAccessor::MergingSettingsAccessor(const QString &docType,
|
||||||
const QString &docType,
|
|
||||||
const QString &applicationDisplayName) :
|
const QString &applicationDisplayName) :
|
||||||
UpgradingSettingsAccessor(std::move(strategy), docType, applicationDisplayName)
|
UpgradingSettingsAccessor(docType, applicationDisplayName)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
SettingsAccessor::RestoreData MergingSettingsAccessor::readData(const FilePath &path,
|
SettingsAccessor::RestoreData MergingSettingsAccessor::readData(const FilePath &path,
|
||||||
|
|||||||
@@ -147,8 +147,6 @@ class QTCREATOR_UTILS_EXPORT BackingUpSettingsAccessor : public SettingsAccessor
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BackingUpSettingsAccessor(const QString &docType, const QString &applicationDisplayName);
|
BackingUpSettingsAccessor(const QString &docType, const QString &applicationDisplayName);
|
||||||
BackingUpSettingsAccessor(std::unique_ptr<BackUpStrategy> &&strategy, const QString &docType,
|
|
||||||
const QString &applicationDisplayName);
|
|
||||||
|
|
||||||
RestoreData readData(const FilePath &path, QWidget *parent) const override;
|
RestoreData readData(const FilePath &path, QWidget *parent) const override;
|
||||||
std::optional<Issue> writeData(const FilePath &path,
|
std::optional<Issue> writeData(const FilePath &path,
|
||||||
@@ -156,6 +154,7 @@ public:
|
|||||||
QWidget *parent) const override;
|
QWidget *parent) const override;
|
||||||
|
|
||||||
BackUpStrategy *strategy() const { return m_strategy.get(); }
|
BackUpStrategy *strategy() const { return m_strategy.get(); }
|
||||||
|
void setStrategy(std::unique_ptr<BackUpStrategy> &&strategy);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
FilePaths readFileCandidates(const FilePath &path) const;
|
FilePaths readFileCandidates(const FilePath &path) const;
|
||||||
@@ -218,8 +217,6 @@ class QTCREATOR_UTILS_EXPORT UpgradingSettingsAccessor : public BackingUpSetting
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
UpgradingSettingsAccessor(const QString &docType, const QString &applicationDisplayName);
|
UpgradingSettingsAccessor(const QString &docType, const QString &applicationDisplayName);
|
||||||
UpgradingSettingsAccessor(std::unique_ptr<BackUpStrategy> &&strategy, const QString &docType,
|
|
||||||
const QString &appDisplayName);
|
|
||||||
|
|
||||||
int currentVersion() const;
|
int currentVersion() const;
|
||||||
int firstSupportedVersion() const;
|
int firstSupportedVersion() const;
|
||||||
@@ -259,9 +256,7 @@ public:
|
|||||||
QString key;
|
QString key;
|
||||||
};
|
};
|
||||||
|
|
||||||
MergingSettingsAccessor(std::unique_ptr<BackUpStrategy> &&strategy,
|
MergingSettingsAccessor(const QString &docType, const QString &applicationDisplayName);
|
||||||
const QString &docType,
|
|
||||||
const QString &applicationDisplayName);
|
|
||||||
|
|
||||||
RestoreData readData(const FilePath &path, QWidget *parent) const final;
|
RestoreData readData(const FilePath &path, QWidget *parent) const final;
|
||||||
|
|
||||||
|
|||||||
@@ -284,11 +284,11 @@ FilePaths UserFileBackUpStrategy::readFileCandidates(const FilePath &baseFileNam
|
|||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
UserFileAccessor::UserFileAccessor(Project *project) :
|
UserFileAccessor::UserFileAccessor(Project *project) :
|
||||||
MergingSettingsAccessor(std::make_unique<VersionedBackUpStrategy>(this),
|
MergingSettingsAccessor("QtCreatorProject", Core::Constants::IDE_DISPLAY_NAME),
|
||||||
"QtCreatorProject",
|
|
||||||
Core::Constants::IDE_DISPLAY_NAME),
|
|
||||||
m_project(project)
|
m_project(project)
|
||||||
{
|
{
|
||||||
|
setStrategy(std::make_unique<VersionedBackUpStrategy>(this));
|
||||||
|
|
||||||
// Setup:
|
// Setup:
|
||||||
const FilePath externalUser = externalUserFile();
|
const FilePath externalUser = externalUserFile();
|
||||||
const FilePath projectUser = projectUserFile();
|
const FilePath projectUser = projectUserFile();
|
||||||
|
|||||||
@@ -143,9 +143,9 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
BasicTestSettingsAccessor::BasicTestSettingsAccessor(const FilePath &baseName, const QByteArray &id) :
|
BasicTestSettingsAccessor::BasicTestSettingsAccessor(const FilePath &baseName, const QByteArray &id) :
|
||||||
Utils::MergingSettingsAccessor(std::make_unique<TestBackUpStrategy>(this),
|
Utils::MergingSettingsAccessor("TestData", TESTACCESSOR_APPLICATION_DN)
|
||||||
"TestData", TESTACCESSOR_APPLICATION_DN)
|
|
||||||
{
|
{
|
||||||
|
setStrategy(std::make_unique<TestBackUpStrategy>(this));
|
||||||
setSettingsId(id);
|
setSettingsId(id);
|
||||||
setBaseFilePath(baseName);
|
setBaseFilePath(baseName);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user