aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2012-08-03 16:50:24 +1000
committerQt by Nokia <qt-info@nokia.com>2012-08-06 09:06:24 +0200
commit35c8ad7957aed842e1aba60df96e50c5e2dcf133 (patch)
tree78594d3984716574eb289c773ad286260d6031c4 /src
parent082dff2c8f5383e8372c1a4d7c61bc2eebe5c9df (diff)
Fix pasting with the middle button in TextInput and TextEdit.
Neither item accepted the middle button which prevented the mouse events ever reaching them. Change-Id: Ia8f693099df4d6c248976453d554fef96d1d3b33 Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/quick/items/qquicktextcontrol.cpp6
-rw-r--r--src/quick/items/qquicktextedit.cpp8
-rw-r--r--src/quick/items/qquicktextinput.cpp8
3 files changed, 18 insertions, 4 deletions
diff --git a/src/quick/items/qquicktextcontrol.cpp b/src/quick/items/qquicktextcontrol.cpp
index af3f509f5b..dc61b36d4e 100644
--- a/src/quick/items/qquicktextcontrol.cpp
+++ b/src/quick/items/qquicktextcontrol.cpp
@@ -974,7 +974,7 @@ void QQuickTextControlPrivate::mousePressEvent(QMouseEvent *e, const QPointF &po
{
Q_Q(QQuickTextControl);
- mousePressed = (interactionFlags & Qt::TextSelectableByMouse);
+ mousePressed = (interactionFlags & Qt::TextSelectableByMouse) && (e->button() & Qt::LeftButton);
mousePressPos = pos.toPoint();
if (sendMouseEventToInputContext(e, pos))
@@ -989,7 +989,9 @@ void QQuickTextControlPrivate::mousePressEvent(QMouseEvent *e, const QPointF &po
cursor.clearSelection();
}
}
- if (!(e->button() & Qt::LeftButton)) {
+ if (e->button() & Qt::MiddleButton) {
+ return;
+ } else if (!(e->button() & Qt::LeftButton)) {
e->ignore();
return;
} else if (!(interactionFlags & (Qt::TextSelectableByMouse | Qt::TextEditable))) {
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp
index 4d1eb61581..2855070d4a 100644
--- a/src/quick/items/qquicktextedit.cpp
+++ b/src/quick/items/qquicktextedit.cpp
@@ -1748,7 +1748,13 @@ void QQuickTextEditPrivate::init()
{
Q_Q(QQuickTextEdit);
- q->setAcceptedMouseButtons(Qt::LeftButton);
+#ifndef QT_NO_CLIPBOARD
+ if (QGuiApplication::clipboard()->supportsSelection())
+ q->setAcceptedMouseButtons(Qt::LeftButton | Qt::MiddleButton);
+ else
+#endif
+ q->setAcceptedMouseButtons(Qt::LeftButton);
+
q->setFlag(QQuickItem::ItemAcceptsInputMethod);
q->setFlag(QQuickItem::ItemHasContents);
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index ced2e62a8c..54cea8b9ce 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -2466,7 +2466,13 @@ bool QQuickTextInput::isInputMethodComposing() const
void QQuickTextInputPrivate::init()
{
Q_Q(QQuickTextInput);
- q->setAcceptedMouseButtons(Qt::LeftButton);
+#ifndef QT_NO_CLIPBOARD
+ if (QGuiApplication::clipboard()->supportsSelection())
+ q->setAcceptedMouseButtons(Qt::LeftButton | Qt::MiddleButton);
+ else
+#endif
+ q->setAcceptedMouseButtons(Qt::LeftButton);
+
q->setFlag(QQuickItem::ItemAcceptsInputMethod);
q->setFlag(QQuickItem::ItemHasContents);
#ifndef QT_NO_CLIPBOARD