summaryrefslogtreecommitdiffstats
path: root/util/qt3d/modeltweak/qml/BlenderValueSlider.qml
diff options
context:
space:
mode:
Diffstat (limited to 'util/qt3d/modeltweak/qml/BlenderValueSlider.qml')
-rw-r--r--util/qt3d/modeltweak/qml/BlenderValueSlider.qml40
1 files changed, 29 insertions, 11 deletions
diff --git a/util/qt3d/modeltweak/qml/BlenderValueSlider.qml b/util/qt3d/modeltweak/qml/BlenderValueSlider.qml
index 1904aaf78..6203d020c 100644
--- a/util/qt3d/modeltweak/qml/BlenderValueSlider.qml
+++ b/util/qt3d/modeltweak/qml/BlenderValueSlider.qml
@@ -12,6 +12,7 @@ Item {
property double min: -1;
property bool limitMax: false;
property bool limitMin: false;
+ property bool locked: false
width: rect.width
height: 20
@@ -21,6 +22,7 @@ Item {
signal next
signal prev
signal gotFocus
+ signal fail
Rectangle {
id: rect
@@ -45,8 +47,10 @@ Item {
visible: true
}
+
TextInput {
id: textInput
+ readOnly: valueSlider.locked
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
horizontalAlignment: TextInput.AlignHCenter
@@ -91,12 +95,17 @@ Item {
onExited: parent.color = "#B4B4B4"
hoverEnabled: true
onClicked: {
- if (mouse.x<width/3)
- decDelta();
- else if (mouse.x>width/3*2)
- incDelta();
- else {
- valueSlider.gotFocus()
+ if (!valueSlider.locked)
+ {
+ if (mouse.x<width/3)
+ decDelta();
+ else if (mouse.x>width/3*2)
+ incDelta();
+ else {
+ valueSlider.gotFocus()
+ }
+ } else {
+ valueSlider.fail();
}
}
@@ -109,14 +118,14 @@ Item {
interval: 100;
running: mouseArea.pressedButtons & Qt.LeftButton && (mouseArea.mouseX > valueSlider.width/3*2)
repeat: true
- onTriggered: incDelta()
+ onTriggered: if (!valueSlider.locked) incDelta()
}
Timer {
interval: 100;
running: mouseArea.pressedButtons & Qt.LeftButton && (mouseArea.mouseX < valueSlider.width/3)
repeat: true
- onTriggered: decDelta()
+ onTriggered: if (!valueSlider.locked) decDelta()
}
function updateMe() {
@@ -149,7 +158,16 @@ Item {
onFocusChanged: if (focus) valueSlider.gotFocus()
- Keys.onUpPressed: incDelta()
- Keys.onDownPressed: decDelta()
- Keys.onReturnPressed: updateMe()
+ Keys.onUpPressed: {
+ if (!valueSlider.locked) incDelta();
+ else valueSlider.fail();
+ }
+ Keys.onDownPressed: {
+ if (!valueSlider.locked) decDelta();
+ else valueSlider.fail();
+ }
+ Keys.onReturnPressed: {
+ if (!valueSlider.locked) updateMe();
+ else valueSlider.fail();
+ }
}