From 8c7c748c810bb0f9e3b2fac930c8cca1b8e2dcfe Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Tue, 6 Jul 2021 01:09:50 -0400 Subject: [PATCH] qmk_settings: indicate which tabs have changed values --- src/main/python/qmk_settings.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/python/qmk_settings.py b/src/main/python/qmk_settings.py index c970c5a..a6c0b5f 100644 --- a/src/main/python/qmk_settings.py +++ b/src/main/python/qmk_settings.py @@ -184,9 +184,19 @@ class QmkSettings(BasicEditor): def on_change(self): changed = False qsid_values = self.prepare_settings() - for qsid, value in qsid_values.items(): - if self.keyboard.settings[qsid] != value: - changed = True + + for x, tab in enumerate(self.tabs): + tab_changed = False + for opt in tab: + if qsid_values[opt.qsid] != self.keyboard.settings[opt.qsid]: + changed = True + tab_changed = True + title = self.tabs_widget.tabText(x).rstrip("*") + if tab_changed: + self.tabs_widget.setTabText(x, title + "*") + else: + self.tabs_widget.setTabText(x, title) + self.btn_save.setEnabled(changed) self.btn_undo.setEnabled(changed) @@ -207,6 +217,7 @@ class QmkSettings(BasicEditor): qsid_values = self.prepare_settings() for qsid, value in qsid_values.items(): self.keyboard.qmk_settings_set(qsid, value) + self.on_change() def reset_settings(self): if QMessageBox.question(self.widget(), "",