mirror of
https://github.com/aclist/dztui.git
synced 2026-11-06 01:54:49 +01:00
feat: add emitter
This commit is contained in:
1 parent
8205559f2e
commit
bb94fbf51b
5 files changed
+66
-5
No files matched your search
@@ -20,6 +20,9 @@ class LanPanel(Gtk.Frame):
|
||||
super().__init__(margin_top=10, margin_bottom=5)
|
||||
|
||||
# TODO: hide lan panel on other tabs
|
||||
self.controller = controller
|
||||
self.emitter = controller.get_emitter()
|
||||
|
||||
label = BoldLabel(lan_panel.heading)
|
||||
self.set_label_widget(label)
|
||||
|
||||
@@ -30,6 +33,7 @@ class LanPanel(Gtk.Frame):
|
||||
self.scan = Gtk.Button(label=lan_panel.scan_button)
|
||||
|
||||
self.entry.connect("string_validated", self._on_port_validated)
|
||||
self.emitter.connect("request_lan_entry_focus", lambda _: self.entry.grab_focus())
|
||||
radio1.connect("toggled", self._on_radio_toggled)
|
||||
|
||||
self.grid = Gtk.Grid(margin=10, vexpand=False, column_spacing=15, row_spacing=5)
|
||||
@@ -91,6 +95,7 @@ class AddPanel(Gtk.Frame):
|
||||
super().__init__(margin_top=10, margin_bottom=5)
|
||||
|
||||
self.controller = controller
|
||||
self.emitter = controller.get_emitter()
|
||||
self.classname = "invalid-entry"
|
||||
|
||||
label = BoldLabel("Connect")
|
||||
@@ -103,6 +108,7 @@ class AddPanel(Gtk.Frame):
|
||||
|
||||
self.entry = IpEntry(controller)
|
||||
self.entry.connect("string_validated", self._on_ip_validated)
|
||||
self.emitter.connect("request_ip_entry_focus", lambda _: self.entry.grab_focus())
|
||||
|
||||
self.grid = Gtk.Grid(margin=10, vexpand=False, column_spacing=15, row_spacing=5)
|
||||
self.grid.attach(self.entry, 0, 0, COLS, ROWS)
|
||||
|
||||
@@ -47,6 +47,8 @@ class ValidatedEntry(Gtk.Entry):
|
||||
self.set_validation_func(func)
|
||||
self.controller = controller
|
||||
|
||||
self.emitter = self.controller.get_emitter()
|
||||
|
||||
self.classname = "invalid-entry"
|
||||
self.connect("key-press-event", self._on_entry_keypress)
|
||||
self.connect("changed", self._on_text_changed)
|
||||
@@ -57,6 +59,7 @@ class ValidatedEntry(Gtk.Entry):
|
||||
|
||||
def mark_valid(self) -> None:
|
||||
self.emit("string_validated", True)
|
||||
self.emitter.emit("widget_changed", self)
|
||||
remove_class(self, self.classname)
|
||||
|
||||
def mark_invalid(self) -> None:
|
||||
|
||||
@@ -36,6 +36,7 @@ class FilterPanel(Gtk.Box):
|
||||
|
||||
self.controller = controller
|
||||
self.controller.register_widget("filters", self)
|
||||
self.emitter = self.controller.get_emitter()
|
||||
|
||||
map_store = self.controller.get_map_store()
|
||||
|
||||
@@ -84,6 +85,9 @@ class FilterPanel(Gtk.Box):
|
||||
self.keyword_entry.connect("activate", self._on_keyword_enter)
|
||||
self.keyword_entry.connect("key-press-event", self._on_keyword_keypress)
|
||||
|
||||
self.emitter.connect("request_keyword_focus", lambda _: self.keyword_entry.grab_focus())
|
||||
self.emitter.connect("request_maps_focus", lambda _: self.maps_entry.grab_focus())
|
||||
|
||||
completion = Gtk.EntryCompletion(inline_completion=True)
|
||||
completion.set_text_column(0)
|
||||
completion.set_minimum_key_length(1)
|
||||
|
||||
Reference in new issue
Block a user