SettingsAccessor: Do not hard-code document type

Change-Id: Ied886eac9fcb4a9c58f088c32ee5ba0646b94fbc
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
Tobias Hunger
2017-11-20 15:19:56 +01:00
parent 1aaed7477e
commit 2e62690dcd
4 changed files with 9 additions and 5 deletions

View File

@@ -112,6 +112,7 @@ public:
std::vector<std::unique_ptr<VersionUpgrader>> m_upgraders; std::vector<std::unique_ptr<VersionUpgrader>> m_upgraders;
std::unique_ptr<PersistentSettingsWriter> m_writer; std::unique_ptr<PersistentSettingsWriter> m_writer;
QString m_docType;
QByteArray m_settingsId; QByteArray m_settingsId;
QString m_displayName; QString m_displayName;
QString m_applicationDisplayName; QString m_applicationDisplayName;
@@ -194,10 +195,13 @@ static FileName userFilePath(const Utils::FileName &projectFilePath, const QStri
return result; return result;
} }
SettingsAccessor::SettingsAccessor(const Utils::FileName &baseFile) : SettingsAccessor::SettingsAccessor(const Utils::FileName &baseFile, const QString &docType) :
d(new SettingsAccessorPrivate) d(new SettingsAccessorPrivate)
{ {
QTC_CHECK(!baseFile.isEmpty()); QTC_CHECK(!baseFile.isEmpty());
QTC_CHECK(!docType.isEmpty());
d->m_docType = docType;
d->m_baseFile = baseFile; d->m_baseFile = baseFile;
d->m_userSuffix = generateSuffix(QString::fromLocal8Bit(qgetenv("QTC_EXTENSION")), ".user"); d->m_userSuffix = generateSuffix(QString::fromLocal8Bit(qgetenv("QTC_EXTENSION")), ".user");
d->m_sharedSuffix = generateSuffix(QString::fromLocal8Bit(qgetenv("QTC_SHARED_EXTENSION")), ".shared"); d->m_sharedSuffix = generateSuffix(QString::fromLocal8Bit(qgetenv("QTC_SHARED_EXTENSION")), ".shared");
@@ -579,7 +583,7 @@ bool SettingsAccessor::saveSettings(const QVariantMap &map, QWidget *parent) con
FileName path = FileName::fromString(defaultFileName(d->m_userSuffix)); FileName path = FileName::fromString(defaultFileName(d->m_userSuffix));
if (!d->m_writer || d->m_writer->fileName() != path) if (!d->m_writer || d->m_writer->fileName() != path)
d->m_writer = std::make_unique<PersistentSettingsWriter>(path, "QtCreatorProject"); d->m_writer = std::make_unique<PersistentSettingsWriter>(path, d->m_docType);
return d->m_writer->save(data, parent); return d->m_writer->save(data, parent);
} }

View File

@@ -61,7 +61,7 @@ class SettingsAccessorPrivate;
class QTCREATOR_UTILS_EXPORT SettingsAccessor class QTCREATOR_UTILS_EXPORT SettingsAccessor
{ {
public: public:
explicit SettingsAccessor(const Utils::FileName &baseFile); explicit SettingsAccessor(const Utils::FileName &baseFile, const QString &docType);
virtual ~SettingsAccessor(); virtual ~SettingsAccessor();
QVariantMap restoreSettings(QWidget *parent) const; QVariantMap restoreSettings(QWidget *parent) const;

View File

@@ -348,7 +348,7 @@ static QVariantMap processHandlerNodes(const HandlerNode &node, const QVariantMa
// UserFileAccessor: // UserFileAccessor:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
UserFileAccessor::UserFileAccessor(Project *project) : UserFileAccessor::UserFileAccessor(Project *project) :
SettingsAccessor(project->projectFilePath()), SettingsAccessor(project->projectFilePath(), "QtCreatorProject"),
m_project(project) m_project(project)
{ {
setSettingsId(ProjectExplorerPlugin::projectExplorerSettings().environmentId.toByteArray()); setSettingsId(ProjectExplorerPlugin::projectExplorerSettings().environmentId.toByteArray());

View File

@@ -75,7 +75,7 @@ class BasicTestSettingsAccessor : public Utils::SettingsAccessor
public: public:
BasicTestSettingsAccessor(const Utils::FileName &baseName = Utils::FileName::fromString("/foo/bar"), BasicTestSettingsAccessor(const Utils::FileName &baseName = Utils::FileName::fromString("/foo/bar"),
const QByteArray &id = QByteArray(TESTACCESSOR_DEFAULT_ID)) : const QByteArray &id = QByteArray(TESTACCESSOR_DEFAULT_ID)) :
Utils::SettingsAccessor(baseName) Utils::SettingsAccessor(baseName, "TestData")
{ {
setDisplayName(TESTACCESSOR_DN); setDisplayName(TESTACCESSOR_DN);
setApplicationDisplayName(TESTACCESSOR_APPLICATION_DN); setApplicationDisplayName(TESTACCESSOR_APPLICATION_DN);