From 85d2790b7548b6475949c1e3a6975cd6c89d8ec3 Mon Sep 17 00:00:00 2001 From: ShaopengLin Date: Wed, 30 Oct 2024 01:22:44 -0400 Subject: [PATCH] Check MultiZim Item When Clicking Anywhere Previously only checks when clicking Radiobutton --- src/multizimbutton.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/multizimbutton.cpp b/src/multizimbutton.cpp index be7761b..9d7c5e5 100644 --- a/src/multizimbutton.cpp +++ b/src/multizimbutton.cpp @@ -19,6 +19,11 @@ MultiZimButton::MultiZimButton(QWidget *parent) : const auto popupAction = new QWidgetAction(menu()); popupAction->setDefaultWidget(mp_buttonList); menu()->addAction(popupAction); + + connect(mp_buttonList, &QListWidget::currentRowChanged, this, [=](int row){ + if (const auto widget = getZimWidget(row)) + widget->getRadioButton()->setChecked(true); + }); } void MultiZimButton::updateDisplay() @@ -72,8 +77,7 @@ void MultiZimButton::updateDisplay() setDisabled(mp_buttonList->model()->rowCount() == 0); mp_buttonList->scrollToTop(); - if (const auto firstWidget = getZimWidget(0)) - firstWidget->getRadioButton()->setChecked(true); + mp_buttonList->setCurrentRow(0); } QStringList MultiZimButton::getZimIds() const