mirror of
https://github.com/RedDeadDepresso/KKAFIO.git
synced 2025-12-22 17:30:01 +00:00
fix: checkboxes changes saved
This commit is contained in:
@@ -6,13 +6,16 @@ from qfluentwidgets import ToolButton, CheckBox
|
||||
from qfluentwidgets.common.icon import FluentIcon as FIF
|
||||
|
||||
from app.common.signal_bus import signalBus
|
||||
from app.common.config import cfg
|
||||
|
||||
|
||||
class NavigationCheckBox(QWidget):
|
||||
def __init__(self, text, settingGroup) -> None:
|
||||
def __init__(self, text, configItem, settingGroup) -> None:
|
||||
super().__init__()
|
||||
self.layout = QHBoxLayout()
|
||||
self.checkBox = CheckBox(text)
|
||||
self.configItem = configItem
|
||||
self.loadCheckState()
|
||||
self.toolButton = ToolButton(FIF.SETTING)
|
||||
self.settingGroup = settingGroup
|
||||
|
||||
@@ -25,10 +28,22 @@ class NavigationCheckBox(QWidget):
|
||||
self.setLayout(self.layout)
|
||||
|
||||
def __connectSignalToSlot(self):
|
||||
self.checkBox.stateChanged.connect(self.saveCheckState)
|
||||
self.toolButton.clicked.connect(lambda: signalBus.switchToSettingGroup.emit(self.settingGroup))
|
||||
signalBus.selectAllClicked.connect(lambda: self.checkBox.setChecked(True))
|
||||
signalBus.clearAllClicked.connect(lambda: self.checkBox.setChecked(False))
|
||||
|
||||
def loadCheckState(self):
|
||||
value = cfg.get(self.configItem)
|
||||
if value:
|
||||
self.checkBox.setCheckState(Qt.CheckState.Checked)
|
||||
else:
|
||||
self.checkBox.setCheckState(Qt.CheckState.Unchecked)
|
||||
|
||||
def saveCheckState(self, state):
|
||||
isChecked = state > 0
|
||||
cfg.set(self.configItem, isChecked)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user