From d15f8fd2ae29b9fad3949e363e6e229a30194308 Mon Sep 17 00:00:00 2001 From: hellerve Date: Wed, 26 Jun 2019 13:57:29 +0200 Subject: [PATCH] gui: make key bindings really work --- alacritty_config_gui.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/alacritty_config_gui.py b/alacritty_config_gui.py index 4944eaa..8c63c34 100644 --- a/alacritty_config_gui.py +++ b/alacritty_config_gui.py @@ -18,6 +18,14 @@ ALACRITTY_CONFIG = os.path.expanduser("~/.config/alacritty/alacritty.yml") NAME = 'Alacritty Config' +# TODO +# General +# visual bell +# cursor +# mouse +# mouse_bindings + + def delete_layout_items(layout): while layout.count(): item = layout.takeAt(0) @@ -373,7 +381,9 @@ class ConfigWidget(QtWidgets.QWidget): def widgets_to_state(self, widgets): state = {} for name, widget in widgets.items(): - if type(widget) is dict: + if not name: + return self.widget_value(widget) + elif type(widget) is dict: state[name] = self.widgets_to_state(widget) else: state[name] = self.widget_value(widget) @@ -681,7 +691,7 @@ class KeyBindings(ConfigWidget): keybindings = KeyBindingsWidget(config) self.widgets = { - 'key_bindings': keybindings, + '': keybindings, } self.render_state() @@ -726,8 +736,12 @@ class Config(QtWidgets.QWidget): for idx in range(self.tabs.count()): tab = self.tabs.widget(idx) - title = self.tabs.tabText(idx).lower() - state[title] = {**state.get(title, {}), **tab.gather_state()} + title = "_".join(self.tabs.tabText(idx).lower().split(" ")) + old = state.get(title, {}) + if type(old) == list: + state[title].extend(e for e in tab.gather_state() if e not in old) + else: + state[title] = {**state.get(title, {}), **tab.gather_state()} return state