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::unique_ptr<PersistentSettingsWriter> m_writer;
QString m_docType;
QByteArray m_settingsId;
QString m_displayName;
QString m_applicationDisplayName;
@@ -194,10 +195,13 @@ static FileName userFilePath(const Utils::FileName &projectFilePath, const QStri
return result;
}
SettingsAccessor::SettingsAccessor(const Utils::FileName &baseFile) :
SettingsAccessor::SettingsAccessor(const Utils::FileName &baseFile, const QString &docType) :
d(new SettingsAccessorPrivate)
{
QTC_CHECK(!baseFile.isEmpty());
QTC_CHECK(!docType.isEmpty());
d->m_docType = docType;
d->m_baseFile = baseFile;
d->m_userSuffix = generateSuffix(QString::fromLocal8Bit(qgetenv("QTC_EXTENSION")), ".user");
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));
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);
}

View File

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

View File

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

View File

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