diff options
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlproject.h')
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlproject.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h index 0cff1528984..acd8bc1094e 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.h +++ b/src/plugins/qmlprojectmanager/qmlproject.h @@ -104,6 +104,27 @@ public: QPointer<QmlProjectItem> m_projectItem; Utils::FilePath m_canonicalProjectDir; + +private: + bool m_blockFilesUpdate = false; + friend class FilesUpdateBlocker; +}; + +class FilesUpdateBlocker { +public: + FilesUpdateBlocker(QmlBuildSystem* bs): m_bs(bs) { + if (m_bs) + m_bs->m_blockFilesUpdate = true; + } + + ~FilesUpdateBlocker() { + if (m_bs) { + m_bs->m_blockFilesUpdate = false; + m_bs->refresh(QmlBuildSystem::Everything); + } + } +private: + QPointer<QmlBuildSystem> m_bs; }; class QMLPROJECTMANAGER_EXPORT QmlProject : public ProjectExplorer::Project |