Remember last selected keyboard layout (qwerty/etc) setting

main
Ilya Zhuravlev 2021-03-14 17:04:16 -04:00
parent 193d691c85
commit 4fb584b6c3
2 changed files with 10 additions and 6 deletions

View File

@ -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:

View File

@ -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):