diff options
Diffstat (limited to 'examples/quick/demos/calqlatr/calqlatr.qml')
-rw-r--r-- | examples/quick/demos/calqlatr/calqlatr.qml | 52 |
1 files changed, 49 insertions, 3 deletions
diff --git a/examples/quick/demos/calqlatr/calqlatr.qml b/examples/quick/demos/calqlatr/calqlatr.qml index 5f0ebe85a8..8bda2c521e 100644 --- a/examples/quick/demos/calqlatr/calqlatr.qml +++ b/examples/quick/demos/calqlatr/calqlatr.qml @@ -53,13 +53,22 @@ Rectangle { onWidthChanged: controller.reload() onHeightChanged: controller.reload() - function operatorPressed(operator) { CalcEngine.operatorPressed(operator) } - function digitPressed(digit) { CalcEngine.digitPressed(digit) } + function operatorPressed(operator) { + CalcEngine.operatorPressed(operator) + numPad.buttonPressed() + } + function digitPressed(digit) { + CalcEngine.digitPressed(digit) + numPad.buttonPressed() + } + function isButtonDisabled(op) { + return CalcEngine.disabled(op) + } Item { id: pad width: 180 - NumberPad { y: 10; anchors.horizontalCenter: parent.horizontalCenter } + NumberPad { id: numPad; y: 10; anchors.horizontalCenter: parent.horizontalCenter } } AnimationController { @@ -75,6 +84,43 @@ Rectangle { } } + Keys.onPressed: { + if (event.key == Qt.Key_0) + digitPressed("0") + else if (event.key == Qt.Key_1) + digitPressed("1") + else if (event.key == Qt.Key_2) + digitPressed("2") + else if (event.key == Qt.Key_3) + digitPressed("3") + else if (event.key == Qt.Key_4) + digitPressed("4") + else if (event.key == Qt.Key_5) + digitPressed("5") + else if (event.key == Qt.Key_6) + digitPressed("6") + else if (event.key == Qt.Key_7) + digitPressed("7") + else if (event.key == Qt.Key_8) + digitPressed("8") + else if (event.key == Qt.Key_9) + digitPressed("9") + else if (event.key == Qt.Key_Plus) + operatorPressed("+") + else if (event.key == Qt.Key_Minus) + operatorPressed("−") + else if (event.key == Qt.Key_Asterisk) + operatorPressed("×") + else if (event.key == Qt.Key_Slash) + operatorPressed("÷") + else if (event.key == Qt.Key_Enter || event.key == Qt.Key_Return) + operatorPressed("=") + else if (event.key == Qt.Key_Comma || event.key == Qt.Key_Period) + digitPressed(".") + else if (event.key == Qt.Key_Backspace) + operatorPressed("backspace") + } + Display { id: display x: -16 |