gui: make key bindings really work
This commit is contained in:
@@ -18,6 +18,14 @@ ALACRITTY_CONFIG = os.path.expanduser("~/.config/alacritty/alacritty.yml")
|
|||||||
NAME = 'Alacritty Config'
|
NAME = 'Alacritty Config'
|
||||||
|
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
# General
|
||||||
|
# visual bell
|
||||||
|
# cursor
|
||||||
|
# mouse
|
||||||
|
# mouse_bindings
|
||||||
|
|
||||||
|
|
||||||
def delete_layout_items(layout):
|
def delete_layout_items(layout):
|
||||||
while layout.count():
|
while layout.count():
|
||||||
item = layout.takeAt(0)
|
item = layout.takeAt(0)
|
||||||
@@ -373,7 +381,9 @@ class ConfigWidget(QtWidgets.QWidget):
|
|||||||
def widgets_to_state(self, widgets):
|
def widgets_to_state(self, widgets):
|
||||||
state = {}
|
state = {}
|
||||||
for name, widget in widgets.items():
|
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)
|
state[name] = self.widgets_to_state(widget)
|
||||||
else:
|
else:
|
||||||
state[name] = self.widget_value(widget)
|
state[name] = self.widget_value(widget)
|
||||||
@@ -681,7 +691,7 @@ class KeyBindings(ConfigWidget):
|
|||||||
keybindings = KeyBindingsWidget(config)
|
keybindings = KeyBindingsWidget(config)
|
||||||
|
|
||||||
self.widgets = {
|
self.widgets = {
|
||||||
'key_bindings': keybindings,
|
'': keybindings,
|
||||||
}
|
}
|
||||||
|
|
||||||
self.render_state()
|
self.render_state()
|
||||||
@@ -726,8 +736,12 @@ class Config(QtWidgets.QWidget):
|
|||||||
|
|
||||||
for idx in range(self.tabs.count()):
|
for idx in range(self.tabs.count()):
|
||||||
tab = self.tabs.widget(idx)
|
tab = self.tabs.widget(idx)
|
||||||
title = self.tabs.tabText(idx).lower()
|
title = "_".join(self.tabs.tabText(idx).lower().split(" "))
|
||||||
state[title] = {**state.get(title, {}), **tab.gather_state()}
|
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
|
return state
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user