diff --git a/src/plugins/projectexplorer/projectconfigurationaspects.cpp b/src/plugins/projectexplorer/projectconfigurationaspects.cpp index 44e765e3c19..a52a40d4876 100644 --- a/src/plugins/projectexplorer/projectconfigurationaspects.cpp +++ b/src/plugins/projectexplorer/projectconfigurationaspects.cpp @@ -287,6 +287,14 @@ void BaseStringAspect::setMacroExpanderProvider(const MacroExpanderProvider &exp d->m_expanderProvider = expanderProvider; } +void BaseStringAspect::validateInput() +{ + if (d->m_pathChooserDisplay) + d->m_pathChooserDisplay->triggerChanged(); + if (d->m_lineEditDisplay) + d->m_lineEditDisplay->validate(); +} + void BaseStringAspect::setUncheckedSemantics(BaseStringAspect::UncheckedSemantics semantics) { d->m_uncheckedSemantics = semantics; @@ -362,6 +370,8 @@ void BaseStringAspect::addToLayout(LayoutBuilder &builder) break; } + validateInput(); + if (d->m_checker && d->m_checkBoxPlacement == CheckBoxPlacement::Right) d->m_checker->addToLayout(builder); @@ -398,6 +408,8 @@ void BaseStringAspect::update() if (!d->m_labelPixmap.isNull()) d->m_label->setPixmap(d->m_labelPixmap); } + + validateInput(); } void BaseStringAspect::makeCheckable(CheckBoxPlacement checkBoxPlacement, diff --git a/src/plugins/projectexplorer/projectconfigurationaspects.h b/src/plugins/projectexplorer/projectconfigurationaspects.h index 5d6977fa022..d18ebf5d8b5 100644 --- a/src/plugins/projectexplorer/projectconfigurationaspects.h +++ b/src/plugins/projectexplorer/projectconfigurationaspects.h @@ -132,6 +132,8 @@ public: void setReadOnly(bool readOnly); void setMacroExpanderProvider(const Utils::MacroExpanderProvider &expanderProvider); + void validateInput(); + enum class UncheckedSemantics { Disabled, ReadOnly }; enum class CheckBoxPlacement { Top, Right }; void setUncheckedSemantics(UncheckedSemantics semantics);