1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
import QtQuick 2.15
import QtQuick.Controls 2.15
import QFlipper 1.0
import Theme 1.0
Image {
id: control
signal screenStreamRequested
readonly property var deviceState: Backend.deviceState
visible: opacity > 0
source: "qrc:/assets/gfx/images/flipper.svg"
sourceSize: Qt.size(360, 156)
Behavior on x {
PropertyAnimation {
easing.type: Easing.InOutQuad
duration: 350
}
}
Behavior on opacity {
PropertyAnimation {
easing.type: Easing.InOutQuad
duration: 350
}
}
AbstractButton {
id: clickArea
width: control.width
height: control.height
visible: screenCanvas.visible
onClicked: control.screenStreamRequested()
}
Rectangle {
id: blueLed
visible: !!deviceState && deviceState.isRecoveryMode
x: 234
y: 90
width: 9
height: width
radius: Math.round(width / 2)
color: Theme.color.lightblue
}
Image {
id: defaultScreen
x: 93
y: 26
source: deviceState && deviceState.isRecoveryMode ? "qrc:/assets/gfx/images/recovery.svg" :
Backend.backendState === ApplicationBackend.Finished ? "qrc:/assets/gfx/images/success.svg" :
"qrc:/assets/gfx/images/default.svg"
sourceSize: Qt.size(128, 64)
}
ScreenCanvas {
id: screenCanvas
anchors.fill: defaultScreen
visible: Backend.screenStreamer.isEnabled &&
Backend.backendState > ApplicationBackend.WaitingForDevices &&
Backend.backendState < ApplicationBackend.ScreenStreaming
foregroundColor: Theme.color.darkorange1
backgroundColor: Theme.color.lightorange2
frame: Backend.screenStreamer.screenFrame
}
ExpandWidget {
id: expandWidget
x: 89
y: 22
width: 136
height: 73
visible: screenCanvas.visible
opacity: clickArea.hovered ? clickArea.down ? 0.9 : 1 : 0
}
}
|