diff --git a/dzgui/controllers/mc.py b/dzgui/controllers/mc.py index e88e1ee..3ae8ffc 100644 --- a/dzgui/controllers/mc.py +++ b/dzgui/controllers/mc.py @@ -291,7 +291,7 @@ class Controller(GObject.GObject): dialog = ExceptionDialog(self, str(e)) dialog.run() - def set_custom_folder(self) -> "Path" | None: + def set_custom_folder(self) -> Union["Path", None]: picker = FolderPicker(self.mediator.window) return picker.pick_folder() diff --git a/dzgui/managers/mods.py b/dzgui/managers/mods.py index fdb0c50..a19f7c0 100644 --- a/dzgui/managers/mods.py +++ b/dzgui/managers/mods.py @@ -61,12 +61,14 @@ class ModManager: self.thread_man.set_cleanup_func(func) return - func = StoredFunc(self._on_mods_loaded, mods) - self.thread_man.set_cleanup_func(func) - - def _on_mods_loaded(self, mods: list[list[Any]]) -> None: self.store = ModelFactory().make_mod_store() self.store.extend(mods) + func = StoredFunc(self._on_mods_loaded) + self.thread_man.set_cleanup_func(func) + + # def _on_mods_loaded(self, mods: list[list[Any]]) -> None: + + def _on_mods_loaded(self) -> None: self.treeview.set_model(self.store) msg = self.format_mod_statusbar() total_mods = len(self.store) diff --git a/dzgui/views/base.py b/dzgui/views/base.py index c540d13..d91c795 100644 --- a/dzgui/views/base.py +++ b/dzgui/views/base.py @@ -23,6 +23,7 @@ from dzgui.views.pages.help import Help from dzgui.views.pages.keys import Keybindings from dzgui.views.pages.log import Log from dzgui.views.pages.mods import Mods +from dzgui.views.pages.offline import OfflineLoader from dzgui.views.pages.options import Options from dzgui.views.pages.preconnect import PreConnectionAssistant from dzgui.views.pages.servers import ServerNotebook @@ -110,8 +111,6 @@ class Notebook(ScrollableMixin, Gtk.Notebook): # type: ignore self.connection = PreConnectionAssistant(MainController) - from dzgui.views.pages.offline import OfflineLoader - self.offline = OfflineLoader(MainController) self.pages = { diff --git a/dzgui/views/pages/mods.py b/dzgui/views/pages/mods.py index 5d7c575..4218b3f 100644 --- a/dzgui/views/pages/mods.py +++ b/dzgui/views/pages/mods.py @@ -15,13 +15,13 @@ class Mods(NoOverlayScrolledWindow): def __init__(self, controller: "Controller") -> None: super().__init__() - self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) - - self.controller = controller - self.emitter = controller.get_emitter() self.tree = ModTreeView(controller) self.tree.set_vexpand(True) + self.controller = controller + self.controller.register_widget("modtreeview", self.tree) + self.emitter = controller.get_emitter() + self.offline_button = Gtk.Button( label="Play offline", halign=Gtk.Align.START, @@ -30,11 +30,11 @@ class Mods(NoOverlayScrolledWindow): ) self.offline_button.connect("clicked", self._on_offline_clicked) + self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.box.add(self.offline_button) self.box.add(self.tree) self.add(self.box) - self.controller.register_widget("modtreeview", self.tree) self.connect("map", self._on_map) self.connect("unmap", self._on_unmap) diff --git a/dzgui/views/trees/tree_mods.py b/dzgui/views/trees/tree_mods.py index b39daf0..1d74f84 100644 --- a/dzgui/views/trees/tree_mods.py +++ b/dzgui/views/trees/tree_mods.py @@ -4,6 +4,7 @@ from typing import Any, TYPE_CHECKING from dzgui.const.constants import APP_NAME, HEX_RED from dzgui.const.enum import ContextMenuGroup from dzgui.util import strings, localize +from dzgui.views.mixins.cursor_mixin import CursorMixin from dzgui.views.mixins.context_mixin import ContextMixin from dzgui.views.mixins.mods_mixin import ModsMixin from dzgui.views.trees.tree_base import TreeView diff --git a/pyproject.toml b/pyproject.toml index 8a5e8dc..17af853 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ description = "DayZ server browser and mod manager for Linux" authors = [ {name = "aclist"} ] -version = "7.0.0b10" +version = "7.0.0b12" license = "GPL-3.0-or-later" license-files = ["LICENSE"] readme = "README.md"