Qml/Main; add mod file picker dialog

This commit is contained in:
Toast 2025-06-06 01:36:54 +02:00 committed by Toast
parent 035c333dcf
commit e94d11f138
2 changed files with 16 additions and 0 deletions

View file

@ -7,6 +7,7 @@ from PySide6.QtWidgets import QApplication
from PySide6.QtCore import QUrl from PySide6.QtCore import QUrl
from PySide6.QtQml import QQmlApplicationEngine from PySide6.QtQml import QQmlApplicationEngine
from leek.mod_list import QAbstractListModel # noqa: F401, needs to be imported for QML 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(): def main():

View file

@ -1,8 +1,10 @@
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import QtQuick.Controls as Controls import QtQuick.Controls as Controls
import QtQuick.Dialogs as Dialogs
import org.kde.kirigami as Kirigami import org.kde.kirigami as Kirigami
import Leek import Leek
import Leek.QModInstaller
Kirigami.ApplicationWindow { Kirigami.ApplicationWindow {
id: root id: root
@ -16,6 +18,8 @@ Kirigami.ApplicationWindow {
// but install looks worse for some reason // but install looks worse for some reason
icon.name: "download-symbolic" icon.name: "download-symbolic"
text: "Add mod" text: "Add mod"
shortcut: StandardKey.New
onTriggered: modFileDialog.open()
}, },
Kirigami.Action { Kirigami.Action {
text: "Quit" text: "Quit"
@ -27,6 +31,17 @@ Kirigami.ApplicationWindow {
isMenu: true 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.columnView.columnResizeMode: Kirigami.ColumnView.SingleColumn
pageStack.initialPage: Kirigami.ScrollablePage { pageStack.initialPage: Kirigami.ScrollablePage {
title: "Mods" title: "Mods"