diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2018-05-06 10:55:49 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2018-05-08 07:56:20 +0000 |
commit | 1678e9eb1e4dfcdd518218ca89455f6b667316d1 (patch) | |
tree | 9a8d4aaac2e92d18637a20b41f20645c9485a2e5 /src/libs/utils | |
parent | 4ce6438b3400fca01803753f36b8e242bded6156 (diff) |
ProjectExplorer: Do not overwrite shared project settings
Change-Id: Iecf684677599975e6f44df0d354ce7cd8c7aeeb9
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/libs/utils')
-rw-r--r-- | src/libs/utils/settingsaccessor.cpp | 4 | ||||
-rw-r--r-- | src/libs/utils/settingsaccessor.h | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/libs/utils/settingsaccessor.cpp b/src/libs/utils/settingsaccessor.cpp index ae828aff694..cab3a348a82 100644 --- a/src/libs/utils/settingsaccessor.cpp +++ b/src/libs/utils/settingsaccessor.cpp @@ -141,7 +141,7 @@ SettingsAccessor::RestoreData SettingsAccessor::readFile(const FileName &path) c } const QVariantMap data = reader.restoreValues(); - if (path == m_baseFilePath) { + if (!m_readOnly && path == m_baseFilePath) { if (!m_writer) m_writer = std::make_unique<PersistentSettingsWriter>(m_baseFilePath, docType); m_writer->setContents(data); @@ -165,7 +165,7 @@ SettingsAccessor::writeFile(const FileName &path, const QVariantMap &data) const } QString errorMessage; - if (!m_writer || m_writer->fileName() != path) + if (!m_readOnly && (!m_writer || m_writer->fileName() != path)) m_writer = std::make_unique<PersistentSettingsWriter>(path, docType); if (!m_writer->save(data, &errorMessage)) { diff --git a/src/libs/utils/settingsaccessor.h b/src/libs/utils/settingsaccessor.h index 36b2a257ae5..355a942761e 100644 --- a/src/libs/utils/settingsaccessor.h +++ b/src/libs/utils/settingsaccessor.h @@ -122,6 +122,7 @@ public: const QString applicationDisplayName; void setBaseFilePath(const Utils::FileName &baseFilePath) { m_baseFilePath = baseFilePath; } + void setReadOnly() { m_readOnly = true; } Utils::FileName baseFilePath() const { return m_baseFilePath; } virtual RestoreData readData(const Utils::FileName &path, QWidget *parent) const; @@ -141,6 +142,7 @@ protected: private: Utils::FileName m_baseFilePath; mutable std::unique_ptr<PersistentSettingsWriter> m_writer; + bool m_readOnly = false; }; // -------------------------------------------------------------------- |