Add torch control page
This commit is contained in:
@ -67,6 +67,7 @@ qt_add_qml_module(appscheincommander
|
|||||||
AnimatedStackView.qml
|
AnimatedStackView.qml
|
||||||
Devices3dView.qml
|
Devices3dView.qml
|
||||||
DoubleSpinBox.qml
|
DoubleSpinBox.qml
|
||||||
|
TorchControlPage.qml
|
||||||
)
|
)
|
||||||
|
|
||||||
add_definitions(-DCMAKE_PROJECT_VERSION=${CMAKE_PROJECT_VERSION})
|
add_definitions(-DCMAKE_PROJECT_VERSION=${CMAKE_PROJECT_VERSION})
|
||||||
|
78
HomePage.qml
78
HomePage.qml
@ -9,25 +9,52 @@ Item {
|
|||||||
|
|
||||||
property bool needsRegler: true
|
property bool needsRegler: true
|
||||||
|
|
||||||
Button {
|
ColumnLayout {
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
width: 100
|
|
||||||
height: 100
|
|
||||||
|
|
||||||
text: qsTr('Settings')
|
Button {
|
||||||
|
width: 100
|
||||||
|
height: 100
|
||||||
|
Layout.minimumWidth: width
|
||||||
|
Layout.minimumHeight: height
|
||||||
|
Layout.maximumWidth: width
|
||||||
|
Layout.maximumHeight: height
|
||||||
|
|
||||||
onClicked: stackview.push(settingsPage)
|
text: qsTr('Settings')
|
||||||
|
|
||||||
Component {
|
onClicked: stackview.push(settingsPage)
|
||||||
id: settingsPage
|
|
||||||
|
|
||||||
SettingsPage {
|
Component {
|
||||||
|
id: settingsPage
|
||||||
|
|
||||||
|
SettingsPage {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
width: 100
|
||||||
|
height: 100
|
||||||
|
Layout.minimumWidth: width
|
||||||
|
Layout.minimumHeight: height
|
||||||
|
Layout.maximumWidth: width
|
||||||
|
Layout.maximumHeight: height
|
||||||
|
|
||||||
|
text: qsTr('Torch\nControl')
|
||||||
|
|
||||||
|
onClicked: stackview.push(torchControlPage)
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: torchControlPage
|
||||||
|
|
||||||
|
TorchControlPage {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Flow{
|
Flow {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
flow: Flow.TopToBottom
|
flow: Flow.TopToBottom
|
||||||
|
|
||||||
@ -45,38 +72,5 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CheckBox {
|
|
||||||
id: animationCheckbox
|
|
||||||
text: qsTr('Animation')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
property int test0
|
|
||||||
onTest0Changed: __controller.setPresetSlider(7, test0);
|
|
||||||
property int test1
|
|
||||||
onTest1Changed: __controller.setPresetSlider(15, test1);
|
|
||||||
property int test2
|
|
||||||
onTest2Changed: __controller.setPresetSlider(9, test2);
|
|
||||||
property int test3
|
|
||||||
onTest3Changed: __controller.setPresetSlider(13, test3);
|
|
||||||
|
|
||||||
SequentialAnimation {
|
|
||||||
loops: Animation.Infinite
|
|
||||||
running: animationCheckbox.checked
|
|
||||||
|
|
||||||
ParallelAnimation {
|
|
||||||
NumberAnimation { target: homePage; property: "test0"; duration: 2000; from: 10; to: 255; easing.type: Easing.InQuad }
|
|
||||||
NumberAnimation { target: homePage; property: "test1"; duration: 2000; from: 255; to: 10; easing.type: Easing.InQuad } // blau
|
|
||||||
NumberAnimation { target: homePage; property: "test2"; duration: 2000; from: 255; to: 10; easing.type: Easing.InQuad } // blau
|
|
||||||
NumberAnimation { target: homePage; property: "test3"; duration: 2000; from: 10; to: 255; easing.type: Easing.InQuad }
|
|
||||||
}
|
|
||||||
PauseAnimation { duration: 1000 }
|
|
||||||
ParallelAnimation {
|
|
||||||
NumberAnimation { target: homePage; property: "test0"; duration: 2000; from: 255; to: 10; easing.type: Easing.InQuad }
|
|
||||||
NumberAnimation { target: homePage; property: "test1"; duration: 2000; from: 10; to: 255; easing.type: Easing.InQuad } // blau
|
|
||||||
NumberAnimation { target: homePage; property: "test2"; duration: 2000; from: 10; to: 255; easing.type: Easing.InQuad } // blau
|
|
||||||
NumberAnimation { target: homePage; property: "test3"; duration: 2000; from: 255; to: 10; easing.type: Easing.InQuad }
|
|
||||||
}
|
|
||||||
PauseAnimation { duration: 1000 }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
52
TorchControlPage.qml
Normal file
52
TorchControlPage.qml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
import QtQuick
|
||||||
|
|
||||||
|
import scheincommander
|
||||||
|
|
||||||
|
Item {
|
||||||
|
Rectangle {
|
||||||
|
id: torchArea
|
||||||
|
|
||||||
|
anchors.centerIn: parent
|
||||||
|
width: 500
|
||||||
|
height: 500
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: DevicesModel {
|
||||||
|
controller: __controller
|
||||||
|
}
|
||||||
|
|
||||||
|
delegate: Rectangle {
|
||||||
|
width: 10
|
||||||
|
height: 10
|
||||||
|
x: (torchArea.width / 2) + (model.position.x / 10 * torchArea.width / 2) - (width / 2)
|
||||||
|
y: (torchArea.height / 2) + (model.position.z / 10 * torchArea.height / 2) - (height / 1)
|
||||||
|
|
||||||
|
color: Qt.rgba(255, 0, 0)
|
||||||
|
radius: width/2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MultiPointTouchArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
|
touchPoints: [
|
||||||
|
TouchPoint { id: point1 },
|
||||||
|
TouchPoint { id: point2 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: 30; height: 30
|
||||||
|
color: "green"
|
||||||
|
x: point1.x
|
||||||
|
y: point1.y
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: 30; height: 30
|
||||||
|
color: "yellow"
|
||||||
|
x: point2.x
|
||||||
|
y: point2.y
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user