mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-09-09 04:42:21 +08:00
修复侧边栏上的按钮在选中时再单击会被取消选中的问题
This commit is contained in:
parent
af40213c5a
commit
908dd7d7a7
@ -66,6 +66,8 @@ namespace SpkUi
|
||||
void BindPageSwitcherButton(QAbstractButton* w)
|
||||
{
|
||||
connect(w, &QAbstractButton::toggled,
|
||||
this, &SpkSidebarSelector::ButtonToggled);
|
||||
connect(w, &QAbstractButton::pressed,
|
||||
this, &SpkSidebarSelector::ButtonPressed);
|
||||
}
|
||||
void BindCategoryWidget(QTreeWidget* w)
|
||||
@ -83,7 +85,7 @@ namespace SpkUi
|
||||
|
||||
private slots:
|
||||
// We assume the objects in interest all have the correct properties
|
||||
void ButtonPressed(bool aBtnState)
|
||||
void ButtonToggled(bool aBtnState)
|
||||
{
|
||||
auto b = qobject_cast<QPushButton*>(sender());
|
||||
if(mLastCheckedBtn)
|
||||
@ -93,8 +95,6 @@ namespace SpkUi
|
||||
mLastCheckedBtn->setChecked(false);
|
||||
mLastCheckedBtn = nullptr;
|
||||
}
|
||||
else
|
||||
b->setChecked(aBtnState);
|
||||
}
|
||||
else if(mLastSelectedItem)
|
||||
{
|
||||
@ -105,6 +105,12 @@ namespace SpkUi
|
||||
auto id = b->property("spk_pageno").toInt();
|
||||
emit SwitchToPage(static_cast<SpkStackedPages>(id));
|
||||
}
|
||||
void ButtonPressed()
|
||||
{ // Prevent a selected button from being deselected by clicking on it
|
||||
auto b = qobject_cast<QPushButton*>(sender());
|
||||
if(mLastCheckedBtn == b)
|
||||
b->setChecked(false);
|
||||
}
|
||||
void TreeItemSelected(QTreeWidgetItem *item, int column)
|
||||
{
|
||||
if(mUnusableItems.contains(item))
|
||||
|
Loading…
x
Reference in New Issue
Block a user