diff options
Diffstat (limited to 'src/Authoring/Studio/Palettes/controls/FloatTextField.qml')
-rw-r--r-- | src/Authoring/Studio/Palettes/controls/FloatTextField.qml | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/src/Authoring/Studio/Palettes/controls/FloatTextField.qml b/src/Authoring/Studio/Palettes/controls/FloatTextField.qml deleted file mode 100644 index 95458889..00000000 --- a/src/Authoring/Studio/Palettes/controls/FloatTextField.qml +++ /dev/null @@ -1,203 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.6 -import QtQuick.Controls 2.2 -import QtQuick.Layouts 1.3 - -/* Use for: Position, Rotation, Scale, Pivot ... */ - -TextField { - id: floatTextFieldId - property alias decimalValue: validator.decimals - property bool ignoreHotkeys: true - - signal previewValueChanged - - selectByMouse: true - text: "0.000" - Layout.preferredWidth: _valueWidth / 3 - Layout.preferredHeight: _controlBaseHeight - - topPadding: 0 - bottomPadding: 0 - rightPadding: 6 - - onTextEdited: { - if (text.search(",")) - text = text.replace(",",".") - } - - activeFocusOnPress: false - - horizontalAlignment: TextInput.AlignRight - verticalAlignment: TextInput.AlignVCenter - validator: DoubleValidator { - id: validator - decimals: 3 - locale: "C" - notation: DoubleValidator.StandardNotation - } - - selectionColor: _selectionColor - selectedTextColor: _textColor - font.pixelSize: _fontSize - color: _textColor - background: Rectangle { - color: floatTextFieldId.enabled ? _studioColor2 : "transparent" - border.width: floatTextFieldId.activeFocus ? 1 : 0 - border.color: floatTextFieldId.activeFocus ? _selectionColor : _disabledColor - } - - Timer { - id: rateLimiter - interval: 10 - onTriggered: { - floatTextFieldId.previewValueChanged(); - } - } - - cursorVisible: false - onActiveFocusChanged: { - if (focusReason === Qt.OtherFocusReason) { - select(0, 0); - cursorVisible = false; - } else if (activeFocus) { - selectAll(); - } - } - - Item { - id: focusEater - // Used to eat keyboard focus after drag-modifying the text is finished - } - - MouseArea { - id: mouseArea - property int clickedPos: 0 - property int pressedX: 0 - property bool draggingActive: false - - acceptedButtons: Qt.LeftButton - preventStealing: true - anchors.fill: parent - onPressed: { - pressedX = mouse.x; - draggingActive = false; - if (parent.activeFocus) { - clickedPos = parent.positionAt(mouse.x, mouse.y); - parent.cursorPosition = clickedPos; - } else { - parent.forceActiveFocus(); - } - } - onClicked: { - if (!draggingActive && !parent.cursorVisible) { - parent.cursorVisible = true; - parent.selectAll(); - } - } - onReleased: { - if (draggingActive) { - _mouseHelper.endUnboundedDrag(); - rateLimiter.stop(); - floatTextFieldId.onEditingFinished(); - focusEater.forceActiveFocus(); - } - } - - onCanceled: { - if (draggingActive) { - _mouseHelper.endUnboundedDrag(); - rateLimiter.stop(); - floatTextFieldId.onEditingFinished(); - focusEater.forceActiveFocus(); - } - } - - onDoubleClicked: { - parent.selectAll(); - parent.cursorVisible = true; - } - - onPositionChanged: { - if (parent.cursorVisible) { - parent.cursorPosition = parent.positionAt(mouse.x, mouse.y); - parent.select(clickedPos, parent.cursorPosition); - } else { - if (!draggingActive) { - var startDelta = (pressedX - mouse.x) / 2.0; - if (startDelta > 4.0 || startDelta < -4.0) { - _mouseHelper.startUnboundedDrag(); - draggingActive = true; - } - } - if (draggingActive) { - var delta = _mouseHelper.delta().x; - if (delta !== 0) { - if (mouse.modifiers & Qt.ControlModifier) - delta *= 0.1; - else if (mouse.modifiers & Qt.ShiftModifier) - delta *= 10.0; - if (floatTextFieldId.text !== "") { - floatTextFieldId.text = Number(parseFloat(floatTextFieldId.text) - + delta).toFixed(validator.decimals); - } else { - floatTextFieldId.text = Number(delta).toFixed(validator.decimals); - } - - if (!rateLimiter.running) - rateLimiter.start(); - } - } - } - } - } - - Keys.onPressed: { - if (event.key === Qt.Key_Up || event.key === Qt.Key_Down) { - event.accepted = true - var delta = 1.0; - if (event.modifiers & Qt.ControlModifier) - delta = 0.1; - else if (event.modifiers & Qt.ShiftModifier) - delta = 10.0; - if (event.key === Qt.Key_Down) - delta = -delta; - if (floatTextFieldId.text !== "") { - floatTextFieldId.text = Number(parseFloat(floatTextFieldId.text) - + delta).toFixed(validator.decimals); - } else { - floatTextFieldId.text = Number(delta).toFixed(validator.decimals); - } - - if (!rateLimiter.running) - rateLimiter.start(); - } - } -} |