aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmlprojectmanager/qmlproject.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlproject.h')
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.h21
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