forked from qt-creator/qt-creator
Utils: Fix SelectionAspect with radio button display
Register subwidgets to make non-autoapply work. Also delete the parent-less button group on destruction. Change-Id: If6fb306a812c8aa950535dd138a2020145d80c34 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -610,6 +610,8 @@ public:
|
|||||||
class SelectionAspectPrivate
|
class SelectionAspectPrivate
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
~SelectionAspectPrivate() { delete m_buttonGroup; }
|
||||||
|
|
||||||
SelectionAspect::DisplayStyle m_displayStyle
|
SelectionAspect::DisplayStyle m_displayStyle
|
||||||
= SelectionAspect::DisplayStyle::RadioButtons;
|
= SelectionAspect::DisplayStyle::RadioButtons;
|
||||||
struct Option { QString displayName; QString tooltip; };
|
struct Option { QString displayName; QString tooltip; };
|
||||||
@@ -1385,7 +1387,7 @@ void SelectionAspect::addToLayout(LayoutBuilder &builder)
|
|||||||
d->m_buttonGroup->setExclusive(true);
|
d->m_buttonGroup->setExclusive(true);
|
||||||
for (int i = 0, n = d->m_options.size(); i < n; ++i) {
|
for (int i = 0, n = d->m_options.size(); i < n; ++i) {
|
||||||
const Internal::SelectionAspectPrivate::Option &option = d->m_options.at(i);
|
const Internal::SelectionAspectPrivate::Option &option = d->m_options.at(i);
|
||||||
auto button = new QRadioButton(option.displayName);
|
auto button = createSubWidget<QRadioButton>(option.displayName);
|
||||||
button->setChecked(i == value());
|
button->setChecked(i == value());
|
||||||
button->setToolTip(option.tooltip);
|
button->setToolTip(option.tooltip);
|
||||||
builder.addItems({{}, button});
|
builder.addItems({{}, button});
|
||||||
|
Reference in New Issue
Block a user