Skip to content

Commit

Permalink
preserve ui state between ops
Browse files Browse the repository at this point in the history
Bahadır Yağan committed Dec 19, 2019
1 parent 0dd4d30 commit ba5f2dd
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/redial/redial.py
Original file line number Diff line number Diff line change
@@ -107,26 +107,32 @@ def on_key_press(self, key: str, w: UITreeWidget):
if i == len(parent_node.children) - 1: return # at bottom
parent_node.children[i], parent_node.children[i + 1] = parent_node.children[i + 1], parent_node.children[i]

save_ui_state(self.listbox)
Config.save_to_file(self.sessions)
self.walker.set_focus(UIParentNode(self.sessions, key_handler=self.on_key_press))
self.listbox.set_focus_to_node(this_node)
restore_ui_state(self.listbox, self.sessions)

elif key in ["meta up", "ctrl up"]:
if parent_node is None: return
i = parent_node.children.index(this_node)
if i == 0: return # at top
parent_node.children[i], parent_node.children[i - 1] = parent_node.children[i - 1], parent_node.children[i]

save_ui_state(self.listbox)
Config.save_to_file(self.sessions)
self.walker.set_focus(UIParentNode(self.sessions, key_handler=self.on_key_press))
self.listbox.set_focus_to_node(this_node)
restore_ui_state(self.listbox, self.sessions)
else:
return key

def save_and_focus(self, focus: Node):
save_ui_state(self.listbox)
Config().save_to_file(self.sessions)
self.walker.set_focus(UIParentNode(self.sessions, key_handler=self.on_key_press))
self.listbox.set_focus_to_node(focus)
restore_ui_state(self.listbox, self.sessions)
self.loop.widget = self.view

def close_dialog(self):

0 comments on commit ba5f2dd

Please sign in to comment.