mirror of
https://github.com/moonlight-stream/moonlight-qt
synced 2024-12-15 22:02:29 +00:00
71 lines
1.6 KiB
QML
71 lines
1.6 KiB
QML
|
import QtQuick 2.0
|
||
|
import QtQuick.Controls 2.2
|
||
|
import QtQuick.Dialogs 1.2
|
||
|
|
||
|
import ComputerManager 1.0
|
||
|
import Session 1.0
|
||
|
|
||
|
Item {
|
||
|
anchors.fill: parent
|
||
|
|
||
|
function onSearchingComputer() {
|
||
|
stageLabel.text = "Establishing connection to PC..."
|
||
|
}
|
||
|
|
||
|
function onQuittingApp() {
|
||
|
stageLabel.text = "Quitting app..."
|
||
|
}
|
||
|
|
||
|
function onFailure(message) {
|
||
|
errorDialog.text = message
|
||
|
errorDialog.open()
|
||
|
}
|
||
|
|
||
|
// The StackView will trigger a visibility change when
|
||
|
// we're pushed onto it, causing our onVisibleChanged
|
||
|
// routine to run, but only if we start as invisible
|
||
|
visible: false
|
||
|
|
||
|
onVisibleChanged: {
|
||
|
if (visible && !launcher.isExecuted()) {
|
||
|
toolBar.visible = false
|
||
|
launcher.searchingComputer.connect(onSearchingComputer)
|
||
|
launcher.quittingApp.connect(onQuittingApp)
|
||
|
launcher.failed.connect(onFailure)
|
||
|
launcher.execute(ComputerManager)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Row {
|
||
|
anchors.centerIn: parent
|
||
|
spacing: 5
|
||
|
|
||
|
BusyIndicator {
|
||
|
id: stageSpinner
|
||
|
}
|
||
|
|
||
|
Label {
|
||
|
id: stageLabel
|
||
|
height: stageSpinner.height
|
||
|
text: stageText
|
||
|
font.pointSize: 20
|
||
|
verticalAlignment: Text.AlignVCenter
|
||
|
|
||
|
wrapMode: Text.Wrap
|
||
|
}
|
||
|
}
|
||
|
|
||
|
MessageDialog {
|
||
|
id: errorDialog
|
||
|
modality:Qt.WindowModal
|
||
|
icon: StandardIcon.Critical
|
||
|
standardButtons: StandardButton.Ok
|
||
|
|
||
|
onVisibleChanged: {
|
||
|
if (!visible) {
|
||
|
Qt.quit()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|