summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/declarative/canvas/qsimplecanvas.cpp9
-rw-r--r--src/declarative/fx/qfxtextedit.cpp14
-rw-r--r--src/declarative/fx/qfxtextedit.h1
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 *);