chore: update controller/config calls

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

No files matched your search

+8 -5
View File
@@ -39,6 +39,7 @@ from dzgui.config import update
from dzgui.config.query import lookup from dzgui.config.query import lookup
from dzgui.config.userprefs import UserPrefs from dzgui.config.userprefs import UserPrefs
from dzgui.controllers.emitter import Emitter from dzgui.controllers.emitter import Emitter
from dzgui.managers.config import ConfigManager
from dzgui.managers.contextmenu import ContextMenuManager from dzgui.managers.contextmenu import ContextMenuManager
from dzgui.model.filtered_model import FilteredModelManager from dzgui.model.filtered_model import FilteredModelManager
from dzgui.model.servers import ServerModelManager from dzgui.model.servers import ServerModelManager
@@ -108,13 +109,11 @@ class Controller(GObject.GObject):
self.prefs: UserPrefs self.prefs: UserPrefs
self.cleanup_func: StoredFunc = None self.cleanup_func: StoredFunc = None
# self.config_man = ConfigManager()
self.emitter = Emitter() self.emitter = Emitter()
self.emitter.connect("map_selection_changed", self._on_map_selection_changed) self.emitter.connect("map_selection_changed", self._on_map_selection_changed)
self.emitter.connect("check_toggled", self._on_check_toggled) 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_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 # NOTE: suppress requests until entire UI is loaded
self.loaded = False self.loaded = False
@@ -152,7 +151,7 @@ class Controller(GObject.GObject):
return self.prefs return self.prefs
def set_prefs(self, prefs: UserPrefs) -> None: def set_prefs(self, prefs: UserPrefs) -> None:
# self.config_man.set_prefs() self.config_man = ConfigManager(prefs)
self.prefs = prefs self.prefs = prefs
def query_config(self, key: Preferences) -> str | bool | list: def query_config(self, key: Preferences) -> str | bool | list:
@@ -346,6 +345,7 @@ class Controller(GObject.GObject):
dialog.run() dialog.run()
# TODO: suppress signals # TODO: suppress signals
# then reenable (or it spawns dialog twice) # then reenable (or it spawns dialog twice)
# TODO: do this on demand for certain changes
self.mediator.grid.notebook.settings.populate_settings() self.mediator.grid.notebook.settings.populate_settings()
return return
@@ -917,7 +917,7 @@ class Controller(GObject.GObject):
store = self.get_map_store() store = self.get_map_store()
self.emitter.emit("load_maps", 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 # return
# # NOTE: workaround for GTK bug where fullscreen causes headers to vanish when model is None # # NOTE: workaround for GTK bug where fullscreen causes headers to vanish when model is None
# # TODO: this should be internal to servers page # # TODO: this should be internal to servers page
@@ -960,3 +960,6 @@ class Controller(GObject.GObject):
def get_menu(self) -> "MenuTreeView": def get_menu(self) -> "MenuTreeView":
return self.mediator.menu return self.mediator.menu
def get_config_man(self) -> ConfigManager:
return self.config_man
+7 -6
View File
@@ -10,6 +10,7 @@ from dzgui.const.constants import (
APPID_DAYZ, APPID_DAYZ,
APPID_DAYZ_EXP, APPID_DAYZ_EXP,
) )
from dzgui.managers.config import ConfigManager
from dzgui.managers.thread_man import call_on_thread, StoredFunc, ThreadingManager from dzgui.managers.thread_man import call_on_thread, StoredFunc, ThreadingManager
from dzgui.util.strings import api_warn_msg, dialog from dzgui.util.strings import api_warn_msg, dialog
from dzgui.views.dialogs.generic import ExceptionDialog from dzgui.views.dialogs.generic import ExceptionDialog
@@ -80,7 +81,8 @@ class ServerModelManager:
@call_on_thread(dialog.fetching) @call_on_thread(dialog.fetching)
def _dump_api(self) -> None: 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 job = Servers.query_api
params = Servers.params params = Servers.params
servers = [] servers = []
@@ -191,11 +193,9 @@ class ServerModelManager:
filter_man = self._get_filter_man() filter_man = self._get_filter_man()
model = filter_man.get_control() model = filter_man.get_control()
# TODO: make this a method of ConfigManager
fqip = Servers.response_to_fq_ip(res) fqip = Servers.response_to_fq_ip(res)
ips = self.controller.query_config(Preferences.IP_LIST) config_man = self.controller.get_config_man()
ips.append(fqip) config_man.add_saved_server(fqip)
self.controller.update_config(Preferences.IP_LIST, ips)
if model is not None: if model is not None:
# NOTE: single record insertion # NOTE: single record insertion
@@ -226,7 +226,8 @@ class ServerModelManager:
self._dump_ips(rows) self._dump_ips(rows)
def _dump_favorites(self) -> None: 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)) self.thread_man.set_job_count(len(ips))
# TODO: customize statusbar to mention how records can be added via contextmenu # TODO: customize statusbar to mention how records can be added via contextmenu
+2
View File
@@ -102,6 +102,8 @@ class ServerNotebook(Gtk.ScrolledWindow):
if self.controller.loaded is False: if self.controller.loaded is False:
return return
# TODO: wipe statusbar when changing pages
label = self.notebook.get_tab_label_text(child) label = self.notebook.get_tab_label_text(child)
if label is None: if label is None:
return return