fix: lan panel sensitivity

This commit is contained in:
aclist committed 2026-02-14 16:46:44 +09:00
1 parent d4b346006d
commit 2c8e722d8a
8 files changed
+41 -26

No files matched your search

+7 -4
View File
@@ -25,7 +25,6 @@ class LanPanel(Gtk.Frame):
def __init__(self, controller: "Controller") -> None:
super().__init__(margin_top=10, margin_bottom=5)
# TODO: hide lan panel on other tabs
self.controller = controller
self.emitter = controller.get_emitter()
@@ -56,9 +55,14 @@ class LanPanel(Gtk.Frame):
self.add(self.grid)
self.entry.set_sensitive(False)
def _on_radio_toggled(self, button: Gtk.RadioButton) -> None:
self.entry.set_sensitive(not button.get_active())
if len(self.entry.get_text()) < 1:
state = button.get_active()
self.entry.set_sensitive(not state)
if state:
self.scan.set_sensitive(True)
elif len(self.entry.get_text()) < 1:
self.scan.set_sensitive(False)
def _on_port_validated(self, entry: Gtk.Entry, state: bool) -> None:
@@ -76,7 +80,6 @@ class FavPanel(Gtk.Frame):
emitter = self.controller.get_emitter()
emitter.connect("fav_server_changed", self._on_fav_server_changed)
# TODO: improve upon this, cache fav ip when changed globally
self.server_name, self.server_ip = self.controller.get_favorite()
server_name = (
f"{self.server_name} ({self.server_ip})"
+1 -6
View File
@@ -172,7 +172,7 @@ class FilterPanel(Gtk.Box):
"request_maps_focus", lambda _: self.maps_entry.grab_focus()
)
self.emitter.connect("check_button_pressed", self.toggle_check_by_key)
self.emitter.connect("servers_loaded", self._on_servers_loaded)
# self.emitter.connect("servers_loaded", self._on_servers_loaded)
self.emitter.connect("load_maps", self._on_maps_loaded)
# TODO: break into MapsCombo class
@@ -214,11 +214,6 @@ class FilterPanel(Gtk.Box):
self.maps_combo.set_active(i)
self._on_map_changed(self.maps_combo)
def _on_servers_loaded(self, emitter: "Emitter", tab: "ServerTab") -> None:
state = self.controller.has_server_model()
for widget in (self.keyword_entry, self.maps_combo, self.button_grid):
widget.set_sensitive(state)
def _on_maps_loaded(self, emitter: "Emitter", store: Gtk.ListStore) -> None:
self.maps_combo.set_model(store)
self.maps_combo.set_active(0)
+2 -2
View File
@@ -71,10 +71,10 @@ class ModSelectionPanel(Gtk.Box):
def swap_sensitive(self, state: bool) -> None:
for child in self.stale_panel.get_children():
child.set_sensitive(state)
for child in self.main_panel.get_children():
if child.enum == ModButton.HIGHLIGHT_STALE:
child.set_sensitive(not state)
else:
child.set_sensitive(state)
def _on_button_clicked(self, button: EnumeratedModButton) -> None:
match button.enum:
+7 -10
View File
@@ -25,7 +25,7 @@ class RightPanel(Gtk.Box):
self.controller.register_widget("right_panel", self)
emitter = controller.get_emitter()
emitter.connect("servers_loaded", self.toggle_refresh_button)
emitter.connect("servers_loaded", self._on_servers_loaded)
self.button_vbox = ButtonBox(controller)
self.filters_vbox = FilterPanel(controller)
@@ -40,15 +40,12 @@ class RightPanel(Gtk.Box):
self.pack_start(self.sel_panel, NO_EXPAND, NO_FILL, NO_PADDING)
def toggle_refresh_button(self, emitter: "Emitter", context: "ServerTab") -> None:
# TODO: when a row is added to a previously empty table,
# make sure "servers_loaded" signal is emitted
self.refresh_button.set_sensitive(True)
model = self.controller.get_active_treeview().get_model()
# NOTE: if saved servers or history are empty, there is nothing to refresh
if model is None:
if context in (ServerTab.RECENT, ServerTab.SAVED):
self.refresh_button.set_sensitive(False)
def _on_servers_loaded(self, emitter: "Emitter", context: "ServerTab") -> None:
state = self.controller.has_server_model()
for widget in (self.refresh_button, self.filters_vbox):
widget.set_sensitive(state)
if context in (ServerTab.RECENT, ServerTab.SAVED):
self.refresh_button.set_sensitive(False)
# TODO: reference for ping pass
# def _on_ping_clicked(self, button: Gtk.Button) -> None: