From 4fb584b6c34d51f0069a99ecf5cfe621738e1d77 Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Sun, 14 Mar 2021 17:04:16 -0400 Subject: [PATCH] Remember last selected keyboard layout (qwerty/etc) setting --- src/main/python/keymap_editor.py | 8 +++----- src/main/python/main_window.py | 8 +++++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/python/keymap_editor.py b/src/main/python/keymap_editor.py index 8fb206a..536b958 100644 --- a/src/main/python/keymap_editor.py +++ b/src/main/python/keymap_editor.py @@ -138,11 +138,9 @@ class KeymapEditor(BasicEditor): self.container.update_layout() - for btn in self.layer_buttons: - btn.setEnabled(True) - btn.setChecked(False) - self.layer_buttons[self.current_layer].setEnabled(False) - self.layer_buttons[self.current_layer].setChecked(True) + for idx, btn in enumerate(self.layer_buttons): + btn.setEnabled(idx != self.current_layer) + btn.setChecked(idx == self.current_layer) for widget in self.container.widgets: if widget.desc.row is not None: diff --git a/src/main/python/main_window.py b/src/main/python/main_window.py index b0dcb70..cebfc63 100644 --- a/src/main/python/main_window.py +++ b/src/main/python/main_window.py @@ -132,14 +132,19 @@ class MainWindow(QMainWindow): keyboard_layout_menu = self.menuBar().addMenu(tr("Menu", "Keyboard layout")) keymap_group = QActionGroup(self) + selected_keymap = self.settings.value("keymap") for idx, keymap in enumerate(KEYMAPS): act = QAction(tr("KeyboardLayout", keymap[0]), self) act.triggered.connect(lambda checked, x=idx: self.change_keyboard_layout(x)) act.setCheckable(True) - if idx == 0: + if selected_keymap == keymap[0]: + self.change_keyboard_layout(idx) act.setChecked(True) keymap_group.addAction(act) keyboard_layout_menu.addAction(act) + # check "QWERTY" if nothing else is selected + if keymap_group.checkedAction() is None: + keymap_group.actions()[0].setChecked(True) self.security_menu = self.menuBar().addMenu(tr("Menu", "Security")) self.security_menu.addAction(keyboard_unlock_act) @@ -294,6 +299,7 @@ class MainWindow(QMainWindow): self.current_device.keyboard.reset() def change_keyboard_layout(self, index): + self.settings.setValue("keymap", KEYMAPS[index][0]) self.keymap_editor.set_keymap_override(KEYMAPS[index][1]) def set_theme(self, theme):