From fa8421ff42cc605a342980bd1ae383dde3560a35 Mon Sep 17 00:00:00 2001 From: Toast Date: Fri, 6 Jun 2025 17:36:50 +0200 Subject: [PATCH] QModInstaller: actually install mod --- src/leek/qml/Main.qml | 2 ++ src/leek/qmod_installer.py | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/leek/qml/Main.qml b/src/leek/qml/Main.qml index a4c70b9..048a0b5 100644 --- a/src/leek/qml/Main.qml +++ b/src/leek/qml/Main.qml @@ -47,6 +47,8 @@ Kirigami.ApplicationWindow { installInfoDialog.open(); } else { installDialog.open(); + QModInstaller.finishedInstall.connect(() => installDialog.close()) + QModInstaller.install(); } break; case "NoModExceptionError": diff --git a/src/leek/qmod_installer.py b/src/leek/qmod_installer.py index 9b3825b..7d7939f 100644 --- a/src/leek/qmod_installer.py +++ b/src/leek/qmod_installer.py @@ -1,4 +1,3 @@ -import time from pathlib import Path from urllib.parse import urlparse @@ -68,21 +67,22 @@ class QModInstaller(QObject): @Slot() def install(self) -> None: - worker = InstallWorker(InstallWorkerSignals()) - # worker.signals.installed.connect(self.mod_finished_installing) + worker = InstallWorker(InstallWorkerSignals(), self.__mod_installer) worker.signals.installed.connect(self.finished_install) QThreadPool.globalInstance().start(worker) class InstallWorker(QRunnable): - def __init__(self, signals) -> None: + __installer: ModInstaller + + def __init__(self, signals, installer: ModInstaller) -> None: super().__init__() self.signals = signals + self.__installer = installer # @Slot() def run(self) -> None: - # Fake installing for now - time.sleep(4) + self.__installer.install() self.signals.installed.emit()