chore: update controller/config calls

This commit is contained in:
aclist 2026-02-23 01:05:30 +09:00
parent 6bbe0d6882
commit 748438414c
3 changed files with 17 additions and 11 deletions

View File

@ -39,6 +39,7 @@ from dzgui.config import update
from dzgui.config.query import lookup
from dzgui.config.userprefs import UserPrefs
from dzgui.controllers.emitter import Emitter
from dzgui.managers.config import ConfigManager
from dzgui.managers.contextmenu import ContextMenuManager
from dzgui.model.filtered_model import FilteredModelManager
from dzgui.model.servers import ServerModelManager
@ -108,13 +109,11 @@ class Controller(GObject.GObject):
self.prefs: UserPrefs
self.cleanup_func: StoredFunc = None
# self.config_man = ConfigManager()
self.emitter = Emitter()
self.emitter.connect("map_selection_changed", self._on_map_selection_changed)
self.emitter.connect("check_toggled", self._on_check_toggled)
self.emitter.connect("servers_loaded_init", self._on_servers_loaded_init)
#self.emitter.connect("servers_loaded", self._on_servers_loaded)
# self.emitter.connect("servers_loaded", self._on_servers_loaded)
# NOTE: suppress requests until entire UI is loaded
self.loaded = False
@ -152,7 +151,7 @@ class Controller(GObject.GObject):
return self.prefs
def set_prefs(self, prefs: UserPrefs) -> None:
# self.config_man.set_prefs()
self.config_man = ConfigManager(prefs)
self.prefs = prefs
def query_config(self, key: Preferences) -> str | bool | list:
@ -346,6 +345,7 @@ class Controller(GObject.GObject):
dialog.run()
# TODO: suppress signals
# then reenable (or it spawns dialog twice)
# TODO: do this on demand for certain changes
self.mediator.grid.notebook.settings.populate_settings()
return
@ -917,7 +917,7 @@ class Controller(GObject.GObject):
store = self.get_map_store()
self.emitter.emit("load_maps", store)
#def _on_servers_loaded(self, emitter: "Emitter", tab: "ServerTab") -> None:
# def _on_servers_loaded(self, emitter: "Emitter", tab: "ServerTab") -> None:
# return
# # NOTE: workaround for GTK bug where fullscreen causes headers to vanish when model is None
# # TODO: this should be internal to servers page
@ -960,3 +960,6 @@ class Controller(GObject.GObject):
def get_menu(self) -> "MenuTreeView":
return self.mediator.menu
def get_config_man(self) -> ConfigManager:
return self.config_man

View File

@ -10,6 +10,7 @@ from dzgui.const.constants import (
APPID_DAYZ,
APPID_DAYZ_EXP,
)
from dzgui.managers.config import ConfigManager
from dzgui.managers.thread_man import call_on_thread, StoredFunc, ThreadingManager
from dzgui.util.strings import api_warn_msg, dialog
from dzgui.views.dialogs.generic import ExceptionDialog
@ -80,7 +81,8 @@ class ServerModelManager:
@call_on_thread(dialog.fetching)
def _dump_api(self) -> None:
key = self.controller.query_config(Preferences.STEAM)
config_man = self.controller.get_config_man()
key = config_man.lookup(Preferences.STEAM)
job = Servers.query_api
params = Servers.params
servers = []
@ -191,11 +193,9 @@ class ServerModelManager:
filter_man = self._get_filter_man()
model = filter_man.get_control()
# TODO: make this a method of ConfigManager
fqip = Servers.response_to_fq_ip(res)
ips = self.controller.query_config(Preferences.IP_LIST)
ips.append(fqip)
self.controller.update_config(Preferences.IP_LIST, ips)
config_man = self.controller.get_config_man()
config_man.add_saved_server(fqip)
if model is not None:
# NOTE: single record insertion
@ -226,7 +226,8 @@ class ServerModelManager:
self._dump_ips(rows)
def _dump_favorites(self) -> None:
ips = self.controller.query_config(Preferences.IP_LIST)
config_man = self.controller.get_config_man()
ips = config_man.lookup(Preferences.IP_LIST)
self.thread_man.set_job_count(len(ips))
# TODO: customize statusbar to mention how records can be added via contextmenu

View File

@ -102,6 +102,8 @@ class ServerNotebook(Gtk.ScrolledWindow):
if self.controller.loaded is False:
return
# TODO: wipe statusbar when changing pages
label = self.notebook.get_tab_label_text(child)
if label is None:
return