From ba5f2dd2b3c52f6c1b8b4bc6d7819a907d02080b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bahad=C4=B1r=20Ya=C4=9Fan?= Date: Thu, 19 Dec 2019 10:23:30 +0300 Subject: [PATCH] preserve ui state between ops --- src/redial/redial.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/redial/redial.py b/src/redial/redial.py index abb200b..ef35f05 100644 --- a/src/redial/redial.py +++ b/src/redial/redial.py @@ -107,9 +107,11 @@ 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 @@ -117,16 +119,20 @@ def on_key_press(self, key: str, w: UITreeWidget): 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):