mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-20 19:57:45 +00:00
This removes the separate "download new game" page and rolls in into the main profile setup. Also adds a feature to install the game from an existing executable, in the event the official servers are down or missing. Also shifts around some of the buttons and text.
51 lines
No EOL
1.2 KiB
QML
51 lines
No EOL
1.2 KiB
QML
// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
import QtQuick
|
|
import QtQuick.Window
|
|
import QtQuick.Layouts
|
|
|
|
import org.kde.kirigami as Kirigami
|
|
|
|
import zone.xiv.astra
|
|
|
|
Kirigami.Page {
|
|
id: page
|
|
|
|
property var gameInstaller
|
|
|
|
title: i18n("Game Installation")
|
|
|
|
Kirigami.LoadingPlaceholder {
|
|
anchors.centerIn: parent
|
|
|
|
text: i18n("Installing…")
|
|
}
|
|
|
|
Kirigami.PromptDialog {
|
|
id: errorDialog
|
|
title: i18n("Installation Error")
|
|
|
|
showCloseButton: false
|
|
standardButtons: Kirigami.Dialog.Ok
|
|
|
|
onAccepted: page.Window.window.pageStack.layers.pop()
|
|
onRejected: page.Window.window.pageStack.layers.pop()
|
|
}
|
|
|
|
Component.onCompleted: gameInstaller.start()
|
|
|
|
Connections {
|
|
target: page.gameInstaller
|
|
|
|
function onInstallFinished() {
|
|
// Prevents it from failing to push the page if the install happens too quickly.
|
|
Qt.callLater(() => applicationWindow().checkSetup());
|
|
}
|
|
|
|
function onError(message) {
|
|
errorDialog.subtitle = i18n("An error has occurred while installing the game:\n\n%1", message);
|
|
errorDialog.open();
|
|
}
|
|
}
|
|
} |