mirror of
https://github.com/aclist/dztui.git
synced 2026-10-30 14:42:54 +01:00
feat: populate ServerTreeViews
This commit is contained in:
1 parent
4a3d407e5f
commit
37dab3e83b
9 files changed
+140
-130
No files matched your search
+17
-11
@@ -68,7 +68,7 @@ class Controller:
|
||||
|
||||
def set_help_menu_crumbs(self) -> None:
|
||||
# TODO: going to be deprecated after server notebook is added
|
||||
tip = self.mediator.treeview.get_model()[0][0]
|
||||
tip = self.mediator.menu.get_model()[0][0]
|
||||
store = self.model_manager.get_help_store()[0][0]
|
||||
if tip == store:
|
||||
self.set_crumbs("Help")
|
||||
@@ -79,8 +79,17 @@ 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_server_store(self) -> Gtk.ListStore:
|
||||
return self.model_manager.get_server_store()
|
||||
|
||||
def get_saved_store(self) -> Gtk.ListStore:
|
||||
return self.model_manager.get_saved_store()
|
||||
|
||||
def get_recent_store(self) -> Gtk.ListStore:
|
||||
return self.model_manager.get_recent_store()
|
||||
|
||||
def get_lan_store(self) -> Gtk.ListStore:
|
||||
return self.model_manager.get_lan_store()
|
||||
|
||||
def get_help_store(self) -> Gtk.ListStore:
|
||||
return self.model_manager.get_help_store()
|
||||
@@ -137,12 +146,12 @@ class Controller:
|
||||
state,
|
||||
)
|
||||
self.suppress_signal(
|
||||
self.mediator.treeview,
|
||||
self.mediator.treeview.selected_row,
|
||||
self.mediator.menu,
|
||||
self.mediator.menu.selected_row,
|
||||
"_on_tree_selection_changed",
|
||||
state,
|
||||
)
|
||||
self.suppress_signal(self.mediator.treeview, self.mediator.treeview, "_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:
|
||||
self.suppress_signal(
|
||||
self.mediator.grid.right_panel.filters_vbox,
|
||||
@@ -161,7 +170,7 @@ class Controller:
|
||||
else:
|
||||
widget.handler_unblock_by_func(func)
|
||||
# TODO
|
||||
#self.mediator.treeview.sel_blocked = state
|
||||
#self.mediator.menu.sel_blocked = state
|
||||
|
||||
def toggle_debug_mode(self) -> None:
|
||||
self.toggle_config(Preferences.DEBUG)
|
||||
@@ -278,7 +287,6 @@ 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")
|
||||
@@ -289,9 +297,7 @@ class Controller:
|
||||
case ButtonType.MODS:
|
||||
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)
|
||||
pass
|
||||
case ButtonType.SERVERS:
|
||||
self.mediator.notebook.set_page_by_enum(button.opens)
|
||||
# TODO: shorten this
|
||||
|
||||
@@ -76,9 +76,10 @@ class ModelManager:
|
||||
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])
|
||||
self.server_store = self.new_model()
|
||||
self.saved_store = self.new_model()
|
||||
self.recent_store = self.new_model()
|
||||
self.lan_store = self.new_model()
|
||||
|
||||
for row in HELP_MENU_ROWS:
|
||||
label = row.dict["label"]
|
||||
@@ -93,6 +94,18 @@ class ModelManager:
|
||||
cls.instance = super(ModelManager, cls).__new__(cls)
|
||||
return cls.instance
|
||||
|
||||
def get_recent_store(self) -> ListStore:
|
||||
return self.recent_store
|
||||
|
||||
def get_lan_store(self) -> ListStore:
|
||||
return self.lan_store
|
||||
|
||||
def get_saved_store(self) -> ListStore:
|
||||
return self.saved_store
|
||||
|
||||
def get_server_store(self) -> ListStore:
|
||||
return self.server_store
|
||||
|
||||
def new_model_from_class(self, cls: type) -> ListStore:
|
||||
store = ListStore(*[ftype for field, ftype in cls.__annotations__.items()])
|
||||
return store
|
||||
|
||||
Reference in new issue
Block a user