summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/declarative/fx/qfxtextedit.cpp24
-rw-r--r--src/declarative/fx/qfxtextedit.h3
2 files changed, 9 insertions, 18 deletions
diff --git a/src/declarative/fx/qfxtextedit.cpp b/src/declarative/fx/qfxtextedit.cpp
index a1b5484..bf7a16d 100644
--- a/src/declarative/fx/qfxtextedit.cpp
+++ b/src/declarative/fx/qfxtextedit.cpp
@@ -582,25 +582,17 @@ void QFxTextEdit::keyReleaseEvent(QKeyEvent *event)
}
/*!
-\overload
-Handles the given focus \a event.
-*/
-void QFxTextEdit::focusInEvent(QFocusEvent *event)
-{
- Q_D(QFxTextEdit);
- QFxPaintedItem::focusInEvent(event);
- d->control->processEvent(event, QPointF(0, 0));
-}
-
-/*!
-\overload
-Handles the given focus \a event.
+ \overload
+ Handles changing of the focus property. Focus is applied to the control
+ even if the edit does not have active focus. This is because things
+ like KeyProxy can give the behavior of focus even when activeFocus isn't
+ true.
*/
-void QFxTextEdit::focusOutEvent(QFocusEvent *event)
+void QFxTextEdit::focusChanged(bool hasFocus)
{
Q_D(QFxTextEdit);
- QFxPaintedItem::focusOutEvent(event);
- d->control->processEvent(event, QPointF(0, 0));
+ QFocusEvent focusEvent(hasFocus ? QEvent::FocusIn : QEvent::FocusOut);
+ d->control->processEvent(&focusEvent, QPointF(0, 0));
}
static QMouseEvent *sceneMouseEventToMouseEvent(QGraphicsSceneMouseEvent *e)
diff --git a/src/declarative/fx/qfxtextedit.h b/src/declarative/fx/qfxtextedit.h
index b017635..e5e9421 100644
--- a/src/declarative/fx/qfxtextedit.h
+++ b/src/declarative/fx/qfxtextedit.h
@@ -161,8 +161,7 @@ protected:
void keyPressEvent(QKeyEvent *);
void keyReleaseEvent(QKeyEvent *);
- void focusInEvent(QFocusEvent *);
- void focusOutEvent(QFocusEvent *);
+ void focusChanged(bool);
// mouse filter?
void mousePressEvent(QGraphicsSceneMouseEvent *event);