gui: make key bindings really work

This commit is contained in:
2019-06-26 13:57:29 +02:00
parent 59ec9f6abf
commit d15f8fd2ae

View File

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