diff options
-rw-r--r-- | src/quicktemplates2/qquicktextfield.cpp | 12 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_textfield.qml | 15 |
2 files changed, 23 insertions, 4 deletions
diff --git a/src/quicktemplates2/qquicktextfield.cpp b/src/quicktemplates2/qquicktextfield.cpp index f0008a59..397e666e 100644 --- a/src/quicktemplates2/qquicktextfield.cpp +++ b/src/quicktemplates2/qquicktextfield.cpp @@ -547,7 +547,8 @@ void QQuickTextField::mousePressEvent(QMouseEvent *event) QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent); d->pressHandler.clearDelayedMouseEvent(); } - QQuickTextInput::mousePressEvent(event); + if (event->buttons() != Qt::RightButton) + QQuickTextInput::mousePressEvent(event); } } @@ -560,7 +561,8 @@ void QQuickTextField::mouseMoveEvent(QMouseEvent *event) QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent); d->pressHandler.clearDelayedMouseEvent(); } - QQuickTextInput::mouseMoveEvent(event); + if (event->buttons() != Qt::RightButton) + QQuickTextInput::mouseMoveEvent(event); } } @@ -573,7 +575,8 @@ void QQuickTextField::mouseReleaseEvent(QMouseEvent *event) QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent); d->pressHandler.clearDelayedMouseEvent(); } - QQuickTextInput::mouseReleaseEvent(event); + if (event->buttons() != Qt::RightButton) + QQuickTextInput::mouseReleaseEvent(event); } } @@ -584,7 +587,8 @@ void QQuickTextField::mouseDoubleClickEvent(QMouseEvent *event) QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent); d->pressHandler.clearDelayedMouseEvent(); } - QQuickTextInput::mouseDoubleClickEvent(event); + if (event->buttons() != Qt::RightButton) + QQuickTextInput::mouseDoubleClickEvent(event); } void QQuickTextField::timerEvent(QTimerEvent *event) diff --git a/tests/auto/controls/data/tst_textfield.qml b/tests/auto/controls/data/tst_textfield.qml index deb4b6ff..dad47e23 100644 --- a/tests/auto/controls/data/tst_textfield.qml +++ b/tests/auto/controls/data/tst_textfield.qml @@ -416,4 +416,19 @@ TestCase { mouseClick(control, rect.x + rect.width / 2, rect.y + rect.height / 2) compare(control.selectedText, "Qt Quick Controls 2 TextArea") } + + // QTBUG-64048 + function test_rightClick() { + var control = createTemporaryObject(textField, testCase, {text: "TextField", selectByMouse: true}) + verify(control) + + control.selectAll() + compare(control.selectedText, "TextField") + + mouseClick(control, control.width / 2, control.height / 2, Qt.RightButton) + compare(control.selectedText, "TextField") + + mouseClick(control, control.width / 2, control.height / 2, Qt.LeftButton | Qt.RightButton) + compare(control.selectedText, "") + } } |