1 parent
769623973a
commit
d4fd8817a2
3 files changed
+27
-11
No files matched your search
@@ -24,9 +24,9 @@ class PlayAnalyzeSelect(MDFloatLayout):
|
||||
self.katrain._config["ui_state"] = self.katrain._config.get("ui_state", {})
|
||||
self.katrain._config["ui_state"][self.mode] = {
|
||||
"analysis_controls": {
|
||||
id: checkbox.active
|
||||
for id, checkbox in self.katrain.analysis_controls.ids.items()
|
||||
if isinstance(checkbox, AnalysisToggle)
|
||||
id: toggle.active if not toggle.checkbox.slashed else None # troolean ftw
|
||||
for id, toggle in self.katrain.analysis_controls.ids.items()
|
||||
if isinstance(toggle, AnalysisToggle)
|
||||
},
|
||||
"panels": {
|
||||
id: (panel.state, panel.option_state)
|
||||
@@ -39,7 +39,12 @@ class PlayAnalyzeSelect(MDFloatLayout):
|
||||
def load_ui_state(self, _dt=None):
|
||||
state = self.katrain.config(f"ui_state/{self.mode}", {})
|
||||
for id, active in state.get("analysis_controls", {}).items():
|
||||
self.katrain.analysis_controls.ids[id].checkbox.active = active
|
||||
cb = self.katrain.analysis_controls.ids[id].checkbox
|
||||
cb.active = bool(active)
|
||||
print(cb,cb.tri_state,active)
|
||||
if cb.tri_state:
|
||||
cb.slashed = active is None
|
||||
cb.set_icon()
|
||||
for id, (panel_state, button_state) in state.get("panels", {}).items():
|
||||
self.katrain.controls.ids[id].set_option_state(button_state)
|
||||
self.katrain.controls.ids[id].state = panel_state
|
||||
|
||||
@@ -392,15 +392,21 @@ class TriStateMDCheckbox(MDCheckbox):
|
||||
if self.slashed:
|
||||
self.state = "normal"
|
||||
self.slashed = False
|
||||
self.icon = "checkbox-blank-outline"
|
||||
elif self.state == "down":
|
||||
self.state = "normal"
|
||||
self.slashed = True
|
||||
self.icon = "checkbox-blank-off-outline"
|
||||
else:
|
||||
self.state = "down"
|
||||
self.slashed = False
|
||||
self.set_icon()
|
||||
|
||||
def set_icon(self):
|
||||
if self.slashed:
|
||||
self.icon = "checkbox-blank-off-outline"
|
||||
elif self.state == "down":
|
||||
self.icon = "checkbox-marked-outline"
|
||||
else:
|
||||
self.icon = "checkbox-blank-outline"
|
||||
|
||||
|
||||
class AnalysisToggle(MDBoxLayout):
|
||||
|
||||
Reference in new issue
Block a user