summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorJoona Petrell <joona.t.petrell@nokia.com>2010-12-14 01:22:50 (GMT)
committerJoona Petrell <joona.t.petrell@nokia.com>2010-12-14 01:46:45 (GMT)
commit2eee49127b80b5b56c605f76ccea004b03d89577 (patch)
tree196c58e22d3e21872c5656d9789a7d1330d581d6 /src/declarative
parent896cd4bd08181ad16ad9cee6d2aaa1844a4f06d3 (diff)
downloadQt-2eee49127b80b5b56c605f76ccea004b03d89577.zip
Qt-2eee49127b80b5b56c605f76ccea004b03d89577.tar.gz
Qt-2eee49127b80b5b56c605f76ccea004b03d89577.tar.bz2
Remove active selection when TextEdit loses focus
Task-number: QTBUG-15341 Reviewed-by: Yann Bodson
Diffstat (limited to 'src/declarative')
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit.cpp14
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit_p.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
index e05f4e4..1042cf1 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
@@ -994,6 +994,20 @@ void QDeclarativeTextEditPrivate::focusChanged(bool hasFocus)
QDeclarativeItemPrivate::focusChanged(hasFocus);
}
+void QDeclarativeTextEdit::focusOutEvent(QFocusEvent *event)
+{
+ Q_D(QDeclarativeTextEdit);
+ if (event->reason() != Qt::ActiveWindowFocusReason
+ && event->reason() != Qt::PopupFocusReason) {
+ QTextCursor cursor = d->control->textCursor();
+ if (cursor.hasSelection()) {
+ cursor.clearSelection();
+ d->control->setTextCursor(cursor);
+ }
+ }
+ QDeclarativePaintedItem::focusOutEvent(event);
+}
+
/*!
\qmlmethod void TextEdit::selectAll()
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit_p.h b/src/declarative/graphicsitems/qdeclarativetextedit_p.h
index 68fde3d..6826cb5 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextedit_p.h
@@ -249,6 +249,7 @@ protected:
void keyPressEvent(QKeyEvent *);
void keyReleaseEvent(QKeyEvent *);
void focusInEvent(QFocusEvent *event);
+ void focusOutEvent(QFocusEvent *event);
// mouse filter?
void mousePressEvent(QGraphicsSceneMouseEvent *event);