chore: register filter panel

This commit is contained in:
aclist committed 2026-01-19 17:09:19 +09:00
1 parent 83d78e74de
commit 2f9000ee80
4 files changed
+15 -18

No files matched your search

+10 -15
View File
@@ -61,14 +61,15 @@ if TYPE_CHECKING:
from dzgui.util.dist import Haversine from dzgui.util.dist import Haversine
from dzgui.views.base import Notebook, Grid, OuterWindow from dzgui.views.base import Notebook, Grid, OuterWindow
from dzgui.views.components.buttonbox import ContextualButton from dzgui.views.components.buttonbox import ContextualButton
from dzgui.views.components.statusbar import Statusbar from dzgui.views.components.filter_panel import FilterPanel
from dzgui.views.components.right_panel import RightPanel from dzgui.views.components.right_panel import RightPanel
from dzgui.views.components.statusbar import Statusbar
from dzgui.views.pages.servers import ServerNotebook from dzgui.views.pages.servers import ServerNotebook
from dzgui.views.trees.tree_base import TreeView from dzgui.views.trees.tree_base import TreeView
from dzgui.views.trees.tree_log import LogTreeView
from dzgui.views.trees.tree_menu import MenuTreeView from dzgui.views.trees.tree_menu import MenuTreeView
from dzgui.views.trees.tree_mods import ModTreeView from dzgui.views.trees.tree_mods import ModTreeView
from dzgui.views.trees.tree_servers import ServerTreeView from dzgui.views.trees.tree_servers import ServerTreeView
from dzgui.views.trees.tree_log import LogTreeView
class AppNavigation: class AppNavigation:
window: "OuterWindow" window: "OuterWindow"
@@ -84,6 +85,7 @@ class AppNavigation:
recent: "ServerTreeView" recent: "ServerTreeView"
lan: "ServerTreeView" lan: "ServerTreeView"
logtreeview: "LogTreeView" logtreeview: "LogTreeView"
filters: "FilterPanel"
class Controller: class Controller:
def __init__(self) -> None: def __init__(self) -> None:
@@ -152,8 +154,8 @@ class Controller:
def block_signals(self, state: bool = True) -> None: def block_signals(self, state: bool = True) -> None:
self.suppress_signal( self.suppress_signal(
self.mediator.grid.right_panel.filters_vbox, self.mediator.filters,
self.mediator.grid.right_panel.filters_vbox.maps_combo, self.mediator.filters.maps_combo,
"_on_map_changed", "_on_map_changed",
state, state,
) )
@@ -164,9 +166,9 @@ class Controller:
state, state,
) )
self.suppress_signal(self.mediator.menu, self.mediator.menu, "_on_keypress", state) self.suppress_signal(self.mediator.menu, self.mediator.menu, "_on_keypress", state)
for check in self.mediator.grid.right_panel.filters_vbox.checks: for check in self.mediator.filters.checks:
self.suppress_signal( self.suppress_signal(
self.mediator.grid.right_panel.filters_vbox, self.mediator.filters,
check, check,
"_on_check_toggled", "_on_check_toggled",
state, state,
@@ -315,6 +317,7 @@ class Controller:
self.mediator.statusbar.refresh(row) self.mediator.statusbar.refresh(row)
def toggle_server_panels(self, state: bool) -> None: def toggle_server_panels(self, state: bool) -> None:
# TODO: this is going to be signal dependent now
self.mediator.grid.toggle_filter_panel(state) self.mediator.grid.toggle_filter_panel(state)
self.mediator.grid.toggle_connect_panel(state) self.mediator.grid.toggle_connect_panel(state)
self.mediator.grid.toggle_refresh_button(state) self.mediator.grid.toggle_refresh_button(state)
@@ -551,14 +554,6 @@ class Controller:
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False], ["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False], ["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False], ["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
) )
# TODO: refer to prior implementation--should need to load data into model while in thread # TODO: refer to prior implementation--should need to load data into model while in thread
self.get_func_data() self.get_func_data()
@@ -745,7 +740,7 @@ class Controller:
return False return False
index = mappings[event.keyval] index = mappings[event.keyval]
# TODO: register filter panel widget # TODO: register filter panel widget
self.mediator.grid.right_panel.filters_vbox.toggle_check(index) self.mediator.filters.toggle_check(index)
def get_favorite(self) -> tuple[str, str] | tuple[None, None]: def get_favorite(self) -> tuple[str, str] | tuple[None, None]:
fav = str(self.query_config(Preferences.FAV_LBL)) fav = str(self.query_config(Preferences.FAV_LBL))
+2 -1
View File
@@ -164,7 +164,8 @@ ping_tooltip = (
"Available once per unique filter context" "Available once per unique filter context"
) )
statusbar_helptext = "Select a row to see its detailed description" # statusbar_helptext = "Select a row to see its detailed description"
statusbar_helptext = "No server metadata to list."
# use e.g. filters.1pp # use e.g. filters.1pp
filter_1pp = "1PP" filter_1pp = "1PP"
+1
View File
@@ -33,6 +33,7 @@ class FilterPanel(Gtk.Box):
} }
self.controller = controller self.controller = controller
self.controller.register_widget("filters", self)
map_store = self.controller.get_map_store() map_store = self.controller.get_map_store()
+2 -2
View File
@@ -257,9 +257,9 @@ class ServerTreeView(TreeView):
self.refresh_player_count() self.refresh_player_count()
case Gdk.KEY_f: case Gdk.KEY_f:
# TODO: register filter panel instead of mediating thru right panel # TODO: register filter panel instead of mediating thru right panel
self.controller.mediator.grid.right_panel.filters_vbox.keyword_entry.grab_focus() self.controller.mediator.filters.keyword_entry.grab_focus()
case Gdk.KEY_m: case Gdk.KEY_m:
self.controller.mediator.grid.right_panel.filters_vbox.maps_entry.grab_focus() self.controller.mediator.filters.maps_entry.grab_focus()
case Gdk.KEY_i: case Gdk.KEY_i:
# TODO: # TODO:
self.controller.mediator.grid.conpan.add_panel.entry.grab_focus() self.controller.mediator.grid.conpan.add_panel.entry.grab_focus()