diff options
-rw-r--r-- | src/declarative/canvas/qsimplecanvas.cpp | 9 | ||||
-rw-r--r-- | src/declarative/fx/qfxtextedit.cpp | 14 | ||||
-rw-r--r-- | src/declarative/fx/qfxtextedit.h | 1 |
3 files changed, 22 insertions, 2 deletions
diff --git a/src/declarative/canvas/qsimplecanvas.cpp b/src/declarative/canvas/qsimplecanvas.cpp index cd50945..fbd5014 100644 --- a/src/declarative/canvas/qsimplecanvas.cpp +++ b/src/declarative/canvas/qsimplecanvas.cpp @@ -957,9 +957,14 @@ bool QSimpleCanvas::event(QEvent *e) queueUpdate(); return true; - } else { - return QWidget::event(e); } + + if (e->type() == QEvent::ShortcutOverride) { + if (QSimpleCanvasItem *focus = focusItem()) + return focus->event(e); + } + + return QWidget::event(e); } void QSimpleCanvas::paintEvent(QPaintEvent *) diff --git a/src/declarative/fx/qfxtextedit.cpp b/src/declarative/fx/qfxtextedit.cpp index 8667c9e..b2da051 100644 --- a/src/declarative/fx/qfxtextedit.cpp +++ b/src/declarative/fx/qfxtextedit.cpp @@ -616,6 +616,20 @@ void QFxTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor:: /*! \overload +Handles the given \a event. +*/ +bool QFxTextEdit::event(QEvent *event) +{ + Q_D(QFxTextEdit); + if (event->type() == QEvent::ShortcutOverride) { + d->control->processEvent(event, QPointF(0, 0)); + return true; + } + return QFxPaintedItem::event(event); +} + +/*! +\overload Handles the given key \a event. */ void QFxTextEdit::keyPressEvent(QKeyEvent *event) diff --git a/src/declarative/fx/qfxtextedit.h b/src/declarative/fx/qfxtextedit.h index f702101..d195a80 100644 --- a/src/declarative/fx/qfxtextedit.h +++ b/src/declarative/fx/qfxtextedit.h @@ -174,6 +174,7 @@ protected: virtual void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry); + bool event(QEvent *); void keyPressEvent(QKeyEvent *); void keyReleaseEvent(QKeyEvent *); |