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;