From bc97b104886c2b0e00a993344af2a47ec7b929e4 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 22 Mar 2021 17:59:39 +0100 Subject: [PATCH] Utils: Only set SelectionAspect value automatically if requested This is in line with what the other aspects do. Without this, non-auto-apply aspects behave as auto-apply, even if marked with setAutoApply(false). Change-Id: I39192f63bb3b6e47ee181527938c19ee5044a5ec Reviewed-by: David Schulz --- src/libs/utils/aspects.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index a102aaf3c51..e535e8467f8 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -1391,9 +1391,11 @@ void SelectionAspect::addToLayout(LayoutBuilder &builder) builder.addItems({{}, button}); d->m_buttons.append(button); d->m_buttonGroup->addButton(button, i); - connect(button, &QAbstractButton::clicked, this, [this, i] { - setValue(i); - }); + if (isAutoApply()) { + connect(button, &QAbstractButton::clicked, this, [this, i] { + setValue(i); + }); + } } break; case DisplayStyle::ComboBox: @@ -1401,8 +1403,10 @@ void SelectionAspect::addToLayout(LayoutBuilder &builder) d->m_comboBox = createSubWidget(); for (int i = 0, n = d->m_options.size(); i < n; ++i) d->m_comboBox->addItem(d->m_options.at(i).displayName); - connect(d->m_comboBox.data(), QOverload::of(&QComboBox::activated), - this, &SelectionAspect::setValue); + if (isAutoApply()) { + connect(d->m_comboBox.data(), QOverload::of(&QComboBox::activated), + this, &SelectionAspect::setValue); + } d->m_comboBox->setCurrentIndex(value()); addLabeledItem(builder, d->m_comboBox); break;