diff options
| author | hjk <hjk@qt.io> | 2023-05-12 14:13:28 +0200 |
|---|---|---|
| committer | hjk <hjk@qt.io> | 2023-05-12 14:29:11 +0000 |
| commit | 5cf5b1ae3f94edcffab95044b9d361d5d6a28b17 (patch) | |
| tree | 5c6e8c1f6fa17d5d35ff2ee73f673bebde2cb393 /src/libs | |
| parent | ddee1c92a48dde69d236eb14570f5a03d07dbe42 (diff) | |
| download | qt-creator-5cf5b1ae3f94edcffab95044b9d361d5d6a28b17.tar.gz | |
Utils: Add an AspectContainer::changed() signal
In contrast to applied() only emitted if anything was dirty before.
Ideally, applied() would not be needed, but I am not sure about
downstream uses.
Change-Id: Ie0c293b8730c503fc4409884a33207ee9ca5f129
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Diffstat (limited to 'src/libs')
| -rw-r--r-- | src/libs/utils/aspects.cpp | 5 | ||||
| -rw-r--r-- | src/libs/utils/aspects.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index 0f75cfcbde..1eecb1de17 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -2475,10 +2475,15 @@ void AspectContainer::setSettingsGroups(const QString &groupKey, const QString & void AspectContainer::apply() { + const bool willChange = isDirty(); + for (BaseAspect *aspect : std::as_const(d->m_items)) aspect->apply(); emit applied(); + + if (willChange) + emit changed(); } void AspectContainer::cancel() diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h index 3e4bd9ca96..266a41f8ee 100644 --- a/src/libs/utils/aspects.h +++ b/src/libs/utils/aspects.h @@ -695,6 +695,7 @@ public: signals: void applied(); + void changed(); void fromMapFinished(); private: |
