Qml/Main: add error handling to installation

This commit is contained in:
Toast 2025-06-06 02:21:52 +02:00 committed by Toast
parent e94d11f138
commit 0cd631c92c
2 changed files with 34 additions and 1 deletions

View file

@ -38,10 +38,40 @@ Kirigami.ApplicationWindow {
selectedNameFilter.index: 0
onAccepted: {
installInfoDialog.open();
QModInstaller.statusChanged.connect(() => {
switch (QModInstaller.status) {
case "initialized":
if (QModInstaller.installed) {
installInfoMessage.text = "This mod is already installed!";
installInfoDialog.open();
}
break;
case "NoModExceptionError":
installInfoMessage.text = "This file does not have a mod";
installInfoDialog.open();
break;
case "UnsupportedArchiveTypeError":
installInfoMessage.text = "I don't know how to unpack this file, sorry :(";
installInfoDialog.open();
break;
}
});
QModInstaller.modPath = selectedFile;
}
}
Kirigami.Dialog {
id: installInfoDialog
title: "Add mod"
standardButtons: Kirigami.Dialog.Ok
padding: Kirigami.Units.largeSpacing
Controls.Label {
id: installInfoMessage
text: "You should never see this text"
}
}
pageStack.columnView.columnResizeMode: Kirigami.ColumnView.SingleColumn
pageStack.initialPage: Kirigami.ScrollablePage {
title: "Mods"