mirror of
https://github.com/aclist/dztui.git
synced 2026-08-26 09:47:36 +02:00
feat: toggle radio from inside Gtk.Entry
This commit is contained in:
parent
e568814a11
commit
9fa93f5938
@ -232,6 +232,7 @@ class Notebook(ScrollableMixin, Gtk.Notebook): # type: ignore
|
||||
def _on_keypress(self, widget: Gtk.Widget, event: Gdk.EventKey) -> None:
|
||||
match event.keyval:
|
||||
case Gdk.KEY_Right | Gdk.KEY_l:
|
||||
# FIXME: propagation bool
|
||||
if event.state is Gdk.ModifierType.CONTROL_MASK:
|
||||
return
|
||||
MainController.get_emitter().emit("request_button_box_focus")
|
||||
|
||||
@ -42,6 +42,7 @@ class LanPanel(Gtk.Frame):
|
||||
self.entry = PortEntry(controller)
|
||||
self.scan = Gtk.Button(label=lan_panel.scan_button)
|
||||
self.scan.connect("clicked", self._on_scan_clicked)
|
||||
|
||||
# TODO: strings
|
||||
self.early_abort = Gtk.CheckButton(label="Stop scanning on first hit")
|
||||
self.early_abort.set_active(True)
|
||||
@ -51,6 +52,7 @@ class LanPanel(Gtk.Frame):
|
||||
|
||||
self.entry.connect("activate", self._on_entry_activated)
|
||||
self.entry.connect("string_validated", self._on_port_validated)
|
||||
self.entry.connect("key-release-event", self._on_lan_keypress)
|
||||
self.emitter.connect("request_custom_port_focus", self._on_custom_port_binding)
|
||||
self.emitter.connect(
|
||||
"request_default_port_focus", lambda _: self.default_radio.set_active(True)
|
||||
@ -76,6 +78,14 @@ class LanPanel(Gtk.Frame):
|
||||
|
||||
self.entry.set_sensitive(False)
|
||||
|
||||
def _on_lan_keypress(self, widget: Gtk.Entry, event: Gdk.EventKey) -> None:
|
||||
if event.state & Gdk.ModifierType.CONTROL_MASK:
|
||||
if event.keyval == Gdk.KEY_d:
|
||||
self.default_radio.set_active(True)
|
||||
self.controller.grab_active_treeview()
|
||||
return True
|
||||
return False
|
||||
|
||||
def _on_custom_port_binding(self, emitter: "Emitter") -> None:
|
||||
self.custom_radio.set_active(True)
|
||||
self.entry.grab_focus()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user