From 687d6a76ec90e3580d92cedecac0cbd54f54a652 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 16 Mar 2021 06:01:09 +0100 Subject: [PATCH] Utils: Add a AspectContainer::isDirty convenience function Change-Id: I8503c715742bce8f59da9b0e6c7e7a85c5fc397b Reviewed-by: Orgad Shaneh --- src/libs/utils/aspects.cpp | 9 +++++++++ src/libs/utils/aspects.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index 49848a1c65d..8dcaac7f798 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -2081,6 +2081,15 @@ void AspectContainer::setAutoApply(bool on) aspect->setAutoApply(on); } +bool AspectContainer::isDirty() const +{ + for (BaseAspect *aspect : qAsConst(d->m_items)) { + if (aspect->isDirty()) + return true; + } + return false; +} + bool AspectContainer::equals(const AspectContainer &other) const { // FIXME: Expensive, but should not really be needed in a fully aspectified world. diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h index a742644576c..3f1ef1a5b02 100644 --- a/src/libs/utils/aspects.h +++ b/src/libs/utils/aspects.h @@ -529,6 +529,7 @@ public: bool equals(const AspectContainer &other) const; void copyFrom(const AspectContainer &other); void setAutoApply(bool on); + bool isDirty() const; void forEachAspect(const std::function &run) const;