diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index c9a2cb0c2bc..98225f44245 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -820,6 +820,7 @@ void StringAspect::setValue(const QString &val) if (BaseAspect::setValueQuietly(QVariant(processedValue))) { update(); emit changed(); + emit valueChanged(processedValue); } } @@ -1179,6 +1180,11 @@ void StringAspect::setVolatileValue(const QVariant &val) } } +void StringAspect::emitChangedValue() +{ + emit valueChanged(value()); +} + void StringAspect::update() { const QString displayedString = d->m_displayFilter ? d->m_displayFilter(value()) : value(); diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h index 5b32d082c10..ab80a89a846 100644 --- a/src/libs/utils/aspects.h +++ b/src/libs/utils/aspects.h @@ -301,6 +301,7 @@ public: QVariant volatileValue() const override; void setVolatileValue(const QVariant &val) override; + void emitChangedValue() override; // Hook between UI and StringAspect: using ValueAcceptor = std::function(const QString &, const QString &)>; @@ -354,6 +355,7 @@ public: signals: void checkedChanged(); + void valueChanged(const QString &newValue); protected: void update();