From d5cadcfa599c4b523c28204552fe0a9d52742404 Mon Sep 17 00:00:00 2001 From: Tapani Mattila Date: Mon, 3 May 2021 14:47:13 +0300 Subject: ProjectExplorer: Enable to easily check if a project has dirty files Task-number: QDS-4241 Change-Id: I2fec5f411cdff9fabfa31bbd73971c0308df0783 Reviewed-by: Michael Winkelmann Reviewed-by: Christian Kandeler --- src/plugins/projectexplorer/project.cpp | 18 ++++++++++++++++++ src/plugins/projectexplorer/project.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index 908438b862..bbf35c342a 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -49,6 +49,7 @@ #include #include #include +#include #include #include @@ -1061,6 +1062,23 @@ QStringList Project::availableQmlPreviewTranslations(QString *errorMessage) }); } +QList Project::modifiedDocuments() const +{ + QList modifiedProjectDocuments; + + for (Core::IDocument *doc : Core::DocumentModel::openedDocuments()) { + if (doc->isModified() && isKnownFile(doc->filePath())) + modifiedProjectDocuments.append(doc); + } + + return modifiedProjectDocuments; +} + +bool Project::isModified() const +{ + return !modifiedDocuments().isEmpty(); +} + #if defined(WITH_TESTS) } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index e91fec8e7c..317d8bdc19 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -182,6 +182,9 @@ public: QStringList availableQmlPreviewTranslations(QString *errorMessage); + QList modifiedDocuments() const; + bool isModified() const; + signals: void projectFileIsDirty(const Utils::FilePath &path); -- cgit v1.2.1