diff options
author | Liang Qi <liang.qi@qt.io> | 2016-09-16 23:21:10 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-09-16 23:21:16 +0200 |
commit | 345226aa3ecee8642c3bf46e40c981d4a49d958e (patch) | |
tree | eb49f01c70d239286cb3f08bbe677c47c640cd12 /src/quick/items | |
parent | 5149aa68eca6ede8836ec4f07a14d22d9da9b161 (diff) | |
parent | a273a0ad9c1df7aed612ee6353753f668d545076 (diff) |
Merge remote-tracking branch 'origin/5.6' into 5.7
Change-Id: Ib45654e3e79087da4754377f0d78b70c44ed4695
Diffstat (limited to 'src/quick/items')
-rw-r--r-- | src/quick/items/qquickdrag.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquicktextinput.cpp | 7 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 9 |
3 files changed, 16 insertions, 2 deletions
diff --git a/src/quick/items/qquickdrag.cpp b/src/quick/items/qquickdrag.cpp index 9a24d7a8a0..558f52a1af 100644 --- a/src/quick/items/qquickdrag.cpp +++ b/src/quick/items/qquickdrag.cpp @@ -720,7 +720,7 @@ Qt::DropAction QQuickDragAttachedPrivate::startDrag(Qt::DropActions supportedAct { Q_Q(QQuickDragAttached); - QDrag *drag = new QDrag(q); + QDrag *drag = new QDrag(source ? source : q); QMimeData *mimeData = new QMimeData(); for (auto it = externalMimeData.cbegin(), end = externalMimeData.cend(); it != end; ++it) diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index 3037ad8bdd..168fd0d9b6 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -4280,8 +4280,13 @@ void QQuickTextInputPrivate::processKeyEvent(QKeyEvent* event) if (!(q->inputMethodHints() & Qt::ImhMultiLine)) inputMethod->hide(); + if (activeFocus) { + // If we lost focus after hiding the virtual keyboard, we've already emitted + // editingFinished from handleFocusEvent. Otherwise we emit it now. + emit q->editingFinished(); + } + emit q->accepted(); - emit q->editingFinished(); } event->ignore(); return; diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 46ae993a18..10e439182d 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -1482,6 +1482,15 @@ bool QQuickWindow::event(QEvent *e) // return in order to avoid the QWindow::event below return d->deliverTouchCancelEvent(static_cast<QTouchEvent*>(e)); break; + case QEvent::Enter: { + QEnterEvent *enter = static_cast<QEnterEvent*>(e); + bool accepted = enter->isAccepted(); + bool delivered = d->deliverHoverEvent(d->contentItem, enter->windowPos(), d->lastMousePosition, + QGuiApplication::keyboardModifiers(), 0L, accepted); + enter->setAccepted(accepted); + return delivered; + } + break; case QEvent::Leave: d->clearHover(); d->lastMousePosition = QPoint(); |