From 45fd180dcb902ec9dcd69270cfd9bf705101a5af Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Wed, 10 Jun 2026 19:23:14 +0900 Subject: [PATCH] fix: accept emitter as arg --- dzgui/init/dayz.py | 3 --- dzgui/views/pages/offline.py | 18 +++++++++++++----- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/dzgui/init/dayz.py b/dzgui/init/dayz.py index 032179e..66f60d9 100644 --- a/dzgui/init/dayz.py +++ b/dzgui/init/dayz.py @@ -1,13 +1,10 @@ import logging -import sys from pathlib import Path from dzgui.config.query import lookup from dzgui.const.constants import APPID_DAYZ, APP_NAME, LIBRARYFOLDERS_PATH from dzgui.const.enum import Preferences -from dzgui.strings.errors import dayz_not_found -from dzgui.views.dialogs.early_alert import EarlyAlertDialog import dzgui.api.pefile as PeFile diff --git a/dzgui/views/pages/offline.py b/dzgui/views/pages/offline.py index 14d6f36..4e2524c 100644 --- a/dzgui/views/pages/offline.py +++ b/dzgui/views/pages/offline.py @@ -1,3 +1,4 @@ +from __future__ import annotations from pathlib import Path from typing import Self, Sequence, TYPE_CHECKING @@ -19,7 +20,6 @@ from dzgui.views.components.scrollable import NoOverlayScrolledWindow from dzgui.views.trees.tree_mods import OfflineModTreeView - import gi gi.require_version("Gtk", "3.0") @@ -108,6 +108,8 @@ class ModFrame(HeadingFrame): def get_mods(self) -> list[str]: model = self.tree.get_model() + if model is None: + return [] return [row[1] for row in model] def collapse_tree(self) -> None: @@ -139,7 +141,9 @@ class ModFrame(HeadingFrame): class CustomModFrame(ModFrame): - def __init__(self, parent: Gtk.Widget, controller: "Controller", heading: str) -> None: + def __init__( + self, parent: OfflineLoader, controller: "Controller", heading: str + ) -> None: super().__init__(controller, heading) self.parent = parent @@ -155,8 +159,13 @@ class CustomModFrame(ModFrame): self.emitter.connect("custom_mods_loaded", self._on_custom_mods_loaded) - - def _on_custom_mods_loaded(self, emitter: "Emitter", store: "FastInsertListStore", folder: str, has_duplicates: bool) -> None: + def _on_custom_mods_loaded( + self, + emitter: "Emitter", + store: "FastInsertListStore", + folder: str, + has_duplicates: bool, + ) -> None: if len(store) == 0: # TODO: pop error dialog area # block button access @@ -171,7 +180,6 @@ class CustomModFrame(ModFrame): # duplicates should block button access pass - def _on_custom_button_clicked(self, button: Gtk.Button) -> None: self.parent.parse_mods()