diff --git a/dzgui/controllers/mc.py b/dzgui/controllers/mc.py index f1f07e1..2f98ca6 100644 --- a/dzgui/controllers/mc.py +++ b/dzgui/controllers/mc.py @@ -87,24 +87,29 @@ class Emitter(GObject.GObject): def __init__(self) -> None: super().__init__() - @GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=(object,)) - def widget_changed(self, widget: GObject) -> None: - pass - @GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=()) def request_keyword_focus(self) -> None: + """User invoked Ctrl-f keybinding from ServerTreeView""" pass @GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=()) def request_maps_focus(self) -> None: + """User invoked Ctrl-m keybinding from ServerTreeView""" pass @GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=()) def request_ip_entry_focus(self) -> None: + """User invoked Ctrl-i keybinding from ServerTreeView""" pass @GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=()) def request_lan_entry_focus(self) -> None: + """User invoked Ctrl-p keybinding from ServerTreeView""" + pass + + @GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=()) + def request_button_box_focus(self) -> None: + """User invoked right movement keybinding from ServerTreeView""" pass @@ -120,16 +125,10 @@ class Controller(GObject.GObject): self.loaded = False self.emitter = Emitter() - self.emitter.connect("widget_changed", self.test_emitter) def get_emitter(self) -> Emitter: return self.emitter - def test_emitter(self, widget: GObject, emitter: Emitter) -> None: - print(type(widget)) - print(type(signal)) - print(f"caught signal from widget: {widget}") - def call_on_thread(func: Callable) -> Callable: def wrapper(*args, **kwargs): self = args[0] @@ -800,7 +799,7 @@ class Controller(GObject.GObject): def populate_model(self) -> None: treeview = self.get_active_treeview() - if treeview.get_loaded() is True: + if treeview.is_loaded() is True: self.mediator.statusbar.emit("server_page_changed", treeview.get_enum()) return diff --git a/dzgui/views/components/right_panel.py b/dzgui/views/components/right_panel.py index 0344e85..de994e2 100644 --- a/dzgui/views/components/right_panel.py +++ b/dzgui/views/components/right_panel.py @@ -21,6 +21,9 @@ class RightPanel(Gtk.Box): self.controller = controller self.controller.register_widget("right_panel", self) + self.emitter = controller.get_emitter() + + emitter.connect("request_button_box_focus", self.focus_button_box) self.button_vbox = ButtonBox(controller) self.filters_vbox = FilterPanel(controller) diff --git a/dzgui/views/components/statusbar.py b/dzgui/views/components/statusbar.py index c66f213..e4a220c 100644 --- a/dzgui/views/components/statusbar.py +++ b/dzgui/views/components/statusbar.py @@ -49,6 +49,7 @@ class Statusbar(Gtk.Grid): self.connect("server_page_changed", self._on_server_page_changed) self.connect("distcalc_ended", self._on_distcalc_ended) + # TODO: move to emitter @GObject.Signal(flags=GObject.SignalFlags.RUN_LAST, arg_types=(object,)) def server_page_changed(self, tab: ServerTab) -> None: pass diff --git a/dzgui/views/trees/tree_servers.py b/dzgui/views/trees/tree_servers.py index e69b721..6b3a5f5 100644 --- a/dzgui/views/trees/tree_servers.py +++ b/dzgui/views/trees/tree_servers.py @@ -254,17 +254,16 @@ class ServerTreeView(TreeView): case Gdk.KEY_m: self.emitter.emit("request_maps_focus") case Gdk.KEY_i: - # TODO: self.emitter.emit("request_ip_entry_focus") case Gdk.KEY_p: if self.enum is ServerTab.LAN: - self.emitter.emit("request_lan_entry_focus") + self.emitter.emit("request_lan_entry_focus", self.enum) case Gdk.KEY_c: print("UNIMPLEMENTED: copy to clipboard") else: match event.keyval: case Gdk.KEY_l | Gdk.KEY_Right: - self.controller.mediator.right_panel.focus_button_box() + self.emitter.emit("request_button_box_focus") case _: self.controller.toggle_check(event) @@ -359,7 +358,7 @@ class ServerTreeView(TreeView): gameport = int(addr.split(":")[1]) return Record(ip, gameport, qport) - def get_loaded(self) -> bool: + def is_loaded(self) -> bool: return self.loaded def set_loaded(self, status: bool) -> None: