diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-07-07 16:45:26 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-07-11 11:21:06 +0000 |
commit | 3a7d3a8aa90e2b26a98eff1df0b93965976a699d (patch) | |
tree | c863aa8be4a3cd9c7eba29606cd45571422cffcc /src/quicktemplates2 | |
parent | 46e0e527a50c9dc2bdc4f8eb21d1f4fec42ef6e8 (diff) |
QQuickTextArea & -Field: fix double-click to select a word
The delayed/intercepted mouse press event must be passed first,
before letting the base class handle the double-click event.
Change-Id: I029d06b0b619f34bb7be13ae12b8904f2efe6b5b
Task-number: QTBUG-54615
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2')
-rw-r--r-- | src/quicktemplates2/qquicktextarea.cpp | 10 | ||||
-rw-r--r-- | src/quicktemplates2/qquicktextarea_p.h | 1 | ||||
-rw-r--r-- | src/quicktemplates2/qquicktextfield.cpp | 10 | ||||
-rw-r--r-- | src/quicktemplates2/qquicktextfield_p.h | 1 |
4 files changed, 22 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquicktextarea.cpp b/src/quicktemplates2/qquicktextarea.cpp index 11fe7393..de69a279 100644 --- a/src/quicktemplates2/qquicktextarea.cpp +++ b/src/quicktemplates2/qquicktextarea.cpp @@ -582,6 +582,16 @@ void QQuickTextArea::mouseReleaseEvent(QMouseEvent *event) } } +void QQuickTextArea::mouseDoubleClickEvent(QMouseEvent *event) +{ + Q_D(QQuickTextArea); + if (d->pressHandler.delayedMousePressEvent) { + QQuickTextEdit::mousePressEvent(d->pressHandler.delayedMousePressEvent); + d->pressHandler.clearDelayedMouseEvent(); + } + QQuickTextEdit::mouseDoubleClickEvent(event); +} + void QQuickTextArea::timerEvent(QTimerEvent *event) { Q_D(QQuickTextArea); diff --git a/src/quicktemplates2/qquicktextarea_p.h b/src/quicktemplates2/qquicktextarea_p.h index 571b91c6..95aa61cf 100644 --- a/src/quicktemplates2/qquicktextarea_p.h +++ b/src/quicktemplates2/qquicktextarea_p.h @@ -108,6 +108,7 @@ protected: void mousePressEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override; + void mouseDoubleClickEvent(QMouseEvent *event) override; void timerEvent(QTimerEvent *event) override; private: diff --git a/src/quicktemplates2/qquicktextfield.cpp b/src/quicktemplates2/qquicktextfield.cpp index 18a5932a..e6b950e9 100644 --- a/src/quicktemplates2/qquicktextfield.cpp +++ b/src/quicktemplates2/qquicktextfield.cpp @@ -446,6 +446,16 @@ void QQuickTextField::mouseReleaseEvent(QMouseEvent *event) } } +void QQuickTextField::mouseDoubleClickEvent(QMouseEvent *event) +{ + Q_D(QQuickTextField); + if (d->pressHandler.delayedMousePressEvent) { + QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent); + d->pressHandler.clearDelayedMouseEvent(); + } + QQuickTextInput::mouseDoubleClickEvent(event); +} + void QQuickTextField::timerEvent(QTimerEvent *event) { Q_D(QQuickTextField); diff --git a/src/quicktemplates2/qquicktextfield_p.h b/src/quicktemplates2/qquicktextfield_p.h index a3bcb69c..591d6edd 100644 --- a/src/quicktemplates2/qquicktextfield_p.h +++ b/src/quicktemplates2/qquicktextfield_p.h @@ -105,6 +105,7 @@ protected: void mousePressEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override; + void mouseDoubleClickEvent(QMouseEvent *event) override; void timerEvent(QTimerEvent *event) override; private: |