fix: update active maps combo on tab change

This commit is contained in:
aclist committed 2026-02-15 23:58:48 +09:00
1 parent 4d0bb2f4f8
commit c3e2f6e4b4
13 files changed
+200 -231

No files matched your search

+8 -2
View File
@@ -153,7 +153,6 @@ 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("load_maps", self._on_maps_loaded)
# TODO: break into MapsCombo class
@@ -177,6 +176,9 @@ class FilterPanel(Gtk.Box):
self.maps_combo.connect("changed", self._on_map_changed)
self.maps_combo.connect("key-press-event", self._on_combo_keypress)
# FIXME: should be a property of treeview's meta manager
self.active_map = 0
for el in (
self.filters_label,
self.keyword_entry,
@@ -194,10 +196,12 @@ class FilterPanel(Gtk.Box):
if text == row[0]:
self.maps_combo.set_active(i)
self._on_map_changed(self.maps_combo)
self.controller.set_active_map(i)
def _on_maps_loaded(self, emitter: "Emitter", store: Gtk.ListStore) -> None:
self.maps_combo.set_model(store)
self.maps_combo.set_active(0)
ind = self.controller.get_active_map()
self.maps_combo.set_active(ind)
self.button_grid.reload_filters()
# TODO: move into metamanager
@@ -259,6 +263,8 @@ class FilterPanel(Gtk.Box):
store = self.controller.get_map_store()
if len(text) >= completion.get_minimum_key_length():
completion.set_model(store)
ind = self.get_active_combo()
self.controller.set_active_map(ind)
def restore_focus_to_treeview(self) -> Literal[False]:
view = self.controller.get_active_treeview()
+3 -2
View File
@@ -44,9 +44,10 @@ class RightPanel(Gtk.Box):
state = self.controller.has_server_model()
for widget in (self.refresh_button, self.filters_vbox):
widget.set_sensitive(state)
# FIXME: may wish to reload these in place to show new data
if context in (ServerTab.RECENT, ServerTab.SAVED):
self.refresh_button.set_sensitive(False)
# 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: