124 lines
3.3 KiB
QML
124 lines
3.3 KiB
QML
import QtQuick 1.1
|
|
import QtDesktop 0.1
|
|
|
|
Window {
|
|
id: controllerUpgradeDialog
|
|
width: 400
|
|
height: 200
|
|
|
|
modal: true
|
|
title: "Upgrade TellStick"
|
|
visible: false
|
|
deleteOnClose: false
|
|
|
|
property int step: controller.upgradeStep
|
|
property variant controller: undefined
|
|
Connections {
|
|
target: controller
|
|
onUpgradeDone: state = 'upgradeDone'
|
|
}
|
|
|
|
Item {
|
|
id: confirm
|
|
anchors.top: parent.top
|
|
anchors.left: parent.left
|
|
width: parent.width
|
|
height: parent.height
|
|
clip: true
|
|
Item {
|
|
anchors.fill: parent
|
|
anchors.margins: 16
|
|
|
|
Column {
|
|
Text { text: "This will upgrade your TellStick to the latest version.\n\n" }
|
|
Text { text: "Please do not unplug the TellStick or end the application during upgrade." }
|
|
Text { text: "Doing so might render the TellStick unusable." }
|
|
}
|
|
Row {
|
|
anchors.bottom: parent.bottom
|
|
anchors.right: parent.right
|
|
spacing: 8
|
|
Button {
|
|
text: "Upgrade"
|
|
onClicked: controllerUpgradeDialog.state = 'upgrade'
|
|
}
|
|
Button {
|
|
text: "Close"
|
|
onClicked: controllerUpgradeDialog.visible = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Item {
|
|
id: content
|
|
anchors.topMargin:16
|
|
anchors.margins: 16
|
|
anchors.top: parent.top
|
|
anchors.left: parent.right
|
|
width: parent.width - 32
|
|
height: parent.height - 32
|
|
anchors.right: undefined
|
|
clip: true
|
|
Column {
|
|
StateLabel { text: "1. Disconnecting TellStick"; currentState: controllerUpgradeDialog.step; state: 0 }
|
|
StateLabel { text: "2. Aquiring TellStick"; currentState: controllerUpgradeDialog.step; state: 1 }
|
|
StateLabel { text: "3. Entering bootloader"; currentState: controllerUpgradeDialog.step; state: 2 }
|
|
StateLabel { text: "4. Uploading firmware"; currentState: controllerUpgradeDialog.step; state: 3 }
|
|
StateLabel { text: "5. Rebooting TellStick"; currentState: controllerUpgradeDialog.step; state: 4 }
|
|
StateLabel { text: "6. Connecting TellStick"; currentState: controllerUpgradeDialog.step; state: 5 }
|
|
}
|
|
ProgressBar {
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
anchors.bottom: parent.bottom
|
|
minimumValue: 0
|
|
maximumValue: 100
|
|
value: controller.upgradeProgress
|
|
}
|
|
}
|
|
Item {
|
|
id: done
|
|
anchors.top: parent.top
|
|
anchors.left: parent.right
|
|
width: parent.width
|
|
height: parent.height
|
|
clip: true
|
|
Item {
|
|
anchors.fill: parent
|
|
anchors.margins: 16
|
|
|
|
Column {
|
|
Text { text: "Upgrade done.\n\n" }
|
|
Text { text: "Your TellStick has now been flashed with the latest firmware." }
|
|
}
|
|
Button {
|
|
anchors.bottom: parent.bottom
|
|
anchors.right: parent.right
|
|
text: "Close"
|
|
onClicked: controllerUpgradeDialog.visible = false
|
|
}
|
|
}
|
|
}
|
|
|
|
states: [
|
|
State {
|
|
name: 'upgrade'
|
|
AnchorChanges { target: confirm; anchors.left: undefined; anchors.right: controllerUpgradeDialog.left }
|
|
AnchorChanges { target: content; anchors.left: controllerUpgradeDialog.left; anchors.right: undefined }
|
|
StateChangeScript { script: controller.upgrade() }
|
|
},
|
|
State {
|
|
name: 'upgradeDone'
|
|
AnchorChanges { target: confirm; anchors.left: undefined; anchors.right: controllerUpgradeDialog.left }
|
|
AnchorChanges { target: content; anchors.left: undefined; anchors.right: controllerUpgradeDialog.left }
|
|
AnchorChanges { target: done; anchors.left: controllerUpgradeDialog.left; anchors.right: undefined }
|
|
}
|
|
]
|
|
|
|
transitions: [
|
|
Transition {
|
|
AnchorAnimation { duration: 500; easing.type: Easing.InOutQuad }
|
|
}
|
|
]
|
|
}
|