fix #295 and tab for #296

This commit is contained in:
Sander Land committed 2020-12-26 21:12:38 +01:00
1 parent 769623973a
commit d4fd8817a2
3 files changed
+27 -11

No files matched your search

+9 -4
View File
@@ -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
+8 -2
View File
@@ -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):