import QtQuick 2.0 import QtQuick.Controls 2.2 import ComputerManager 1.0 import Session 1.0 Item { function onSearchingComputer() { stageLabel.text = qsTr("Establishing connection to PC...") } function onSearchingApps() { stageLabel.text = qsTr("Loading app list...") } function onFailure(message) { errorDialog.text = message errorDialog.open() } StackView.onActivated: { if (!launcher.isExecuted()) { toolBar.visible = false launcher.searchingComputer.connect(onSearchingComputer) launcher.searchingComputer.connect(onSearchingApps) 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 } } ErrorMessageDialog { id: errorDialog onClosed: { Qt.quit() } } }