mirror of
https://github.com/aclist/dztui.git
synced 2026-10-30 22:52:42 +01:00
fix: connect signals to new notebook tabs
This commit is contained in:
1 parent
e281345323
commit
8b3d8c94fd
10 files changed
+137
-197
No files matched your search
+39
-8
@@ -79,8 +79,8 @@ class Controller:
|
||||
def get_crumbs(self) -> str:
|
||||
return self.mediator.grid.get_breadcrumbs()
|
||||
|
||||
def get_row_store(self) -> Gtk.ListStore:
|
||||
return self.model_manager.get_row_store()
|
||||
#def get_row_store(self) -> Gtk.ListStore:
|
||||
# return self.model_manager.get_row_store()
|
||||
|
||||
def get_help_store(self) -> Gtk.ListStore:
|
||||
return self.model_manager.get_help_store()
|
||||
@@ -160,7 +160,8 @@ class Controller:
|
||||
widget.handler_block_by_func(func)
|
||||
else:
|
||||
widget.handler_unblock_by_func(func)
|
||||
self.mediator.treeview.sel_blocked = state
|
||||
# TODO
|
||||
#self.mediator.treeview.sel_blocked = state
|
||||
|
||||
def toggle_debug_mode(self) -> None:
|
||||
self.toggle_config(Preferences.DEBUG)
|
||||
@@ -277,6 +278,7 @@ class Controller:
|
||||
self.mediator.grid.notebook.set_page_by_enum(page)
|
||||
|
||||
def open_page_by_button(self, button: "ContextualButton") -> None:
|
||||
print(button.context)
|
||||
match button.context:
|
||||
case ButtonType.EXIT:
|
||||
logger.info("Normal user exit")
|
||||
@@ -288,13 +290,16 @@ class Controller:
|
||||
self.load_mods()
|
||||
case ButtonType.HELP:
|
||||
help_store = self.model_manager.get_help_store()
|
||||
# TODO: simply set this model once and open the page
|
||||
self.mediator.treeview.set_model(help_store)
|
||||
case ButtonType.MAIN_MENU:
|
||||
# TODO: going to be deprecated after server notebook is added
|
||||
row_store = self.model_manager.get_row_store()
|
||||
self.mediator.treeview.set_model(row_store)
|
||||
case ButtonType.SERVERS:
|
||||
self.mediator.notebook.set_page_by_enum(button.opens)
|
||||
# TODO: shorten this
|
||||
treeview = self.mediator.notebook.servers.get_active_treeview()
|
||||
treeview.grab_focus()
|
||||
return
|
||||
|
||||
self.mediator.grid.notebook.set_page_by_enum(button.opens)
|
||||
self.mediator.notebook.set_page_by_enum(button.opens)
|
||||
self.set_crumbs(button.get_label())
|
||||
|
||||
# TODO: deprecated?
|
||||
@@ -544,3 +549,29 @@ class Controller:
|
||||
|
||||
def get_developer_mode(self) -> bool:
|
||||
return self.is_developer
|
||||
|
||||
def set_server_statusbar(self) -> None:
|
||||
# TODO: different models
|
||||
model = self.model_manager.get_server_store()
|
||||
model = AppNav.treeview.get_model()
|
||||
if model is None:
|
||||
players = 0
|
||||
hits = 0
|
||||
else:
|
||||
hits = len(model)
|
||||
players = 0
|
||||
for row in model:
|
||||
players += row[4]
|
||||
|
||||
# TODO: move to util.format
|
||||
players_pretty = pluralize("players", players)
|
||||
hits_pretty = pluralize("matches", hits)
|
||||
formatted = (
|
||||
f"Found {hits:n} {hits_pretty} with {players:n} {players_pretty}"
|
||||
)
|
||||
suffix = "| Distance: calculating..."
|
||||
|
||||
if players == 0:
|
||||
suffix = ""
|
||||
self.set_text(formatted + suffix)
|
||||
self.players = formatted
|
||||
@@ -2,7 +2,7 @@ import re
|
||||
from dataclasses import dataclass
|
||||
from typing import Self
|
||||
|
||||
from dzgui.const.enum import FilterMode, MAIN_MENU_ROWS, HELP_MENU_ROWS
|
||||
from dzgui.const.enum import FilterMode, HELP_MENU_ROWS
|
||||
from dzgui.util import strings
|
||||
|
||||
import gi
|
||||
@@ -69,16 +69,16 @@ class ModelManager:
|
||||
self.ping_cache: dict[str, int] = {}
|
||||
|
||||
self.map_store = ListStore(str)
|
||||
self.row_store = self.new_model_from_class(MenuCols)
|
||||
#self.row_store = self.new_model_from_class(MenuCols)
|
||||
self.help_store = self.new_model_from_class(MenuCols)
|
||||
|
||||
self.mod_store = self.new_model_from_class(ModCols)
|
||||
self.log_store = self.new_model_from_class(LogCols)
|
||||
self.modlist_store = self.new_model_from_class(ServerModCols)
|
||||
|
||||
for row in MAIN_MENU_ROWS:
|
||||
label = row.dict["label"]
|
||||
self.row_store.append([label, row])
|
||||
#for row in MAIN_MENU_ROWS:
|
||||
# label = row.dict["label"]
|
||||
# self.row_store.append([label, row])
|
||||
|
||||
for row in HELP_MENU_ROWS:
|
||||
label = row.dict["label"]
|
||||
@@ -100,8 +100,8 @@ class ModelManager:
|
||||
def get_map_store(self) -> ListStore:
|
||||
return self.map_store
|
||||
|
||||
def get_row_store(self) -> ListStore:
|
||||
return self.row_store
|
||||
#def get_row_store(self) -> ListStore:
|
||||
# return self.row_store
|
||||
|
||||
def get_help_store(self) -> ListStore:
|
||||
return self.help_store
|
||||
|
||||
Reference in new issue
Block a user