diff --git a/src/leek/leek_app.py b/src/leek/leek_app.py index 701046c..f85592e 100644 --- a/src/leek/leek_app.py +++ b/src/leek/leek_app.py @@ -7,6 +7,7 @@ from PySide6.QtWidgets import QApplication from PySide6.QtCore import QUrl from PySide6.QtQml import QQmlApplicationEngine from leek.mod_list import QAbstractListModel # noqa: F401, needs to be imported for QML +from leek.qmod_installer import QModInstaller # noqa: F401, needs to be imported for QML def main(): diff --git a/src/leek/qml/Main.qml b/src/leek/qml/Main.qml index 534cfed..af2d497 100644 --- a/src/leek/qml/Main.qml +++ b/src/leek/qml/Main.qml @@ -1,8 +1,10 @@ import QtQuick import QtQuick.Layouts import QtQuick.Controls as Controls +import QtQuick.Dialogs as Dialogs import org.kde.kirigami as Kirigami import Leek +import Leek.QModInstaller Kirigami.ApplicationWindow { id: root @@ -16,6 +18,8 @@ Kirigami.ApplicationWindow { // but install looks worse for some reason icon.name: "download-symbolic" text: "Add mod" + shortcut: StandardKey.New + onTriggered: modFileDialog.open() }, Kirigami.Action { text: "Quit" @@ -27,6 +31,17 @@ Kirigami.ApplicationWindow { isMenu: true } + Dialogs.FileDialog { + id: modFileDialog + + nameFilters: ["Project DIVA Mods (*.zip *.7z *.rar)"] + selectedNameFilter.index: 0 + + onAccepted: { + QModInstaller.modPath = selectedFile; + } + } + pageStack.columnView.columnResizeMode: Kirigami.ColumnView.SingleColumn pageStack.initialPage: Kirigami.ScrollablePage { title: "Mods"