Check MultiZim Item When Clicking Anywhere

Previously only checks when clicking Radiobutton
This commit is contained in:
ShaopengLin 2024-10-30 01:22:44 -04:00 committed by Kelson
parent f5bef3bf45
commit 85d2790b75

View File

@ -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