summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoona Petrell <joona.t.petrell@nokia.com>2010-12-14 05:27:23 (GMT)
committerJoona Petrell <joona.t.petrell@nokia.com>2010-12-14 05:37:50 (GMT)
commitf58cf707dd5668ca2849f457e951a9cef7d1d544 (patch)
tree118ea95d7650043813850004c318989a74a1a7f5
parent040268af2d53532e7f6501c24cdfcb424d60be89 (diff)
downloadQt-f58cf707dd5668ca2849f457e951a9cef7d1d544.zip
Qt-f58cf707dd5668ca2849f457e951a9cef7d1d544.tar.gz
Qt-f58cf707dd5668ca2849f457e951a9cef7d1d544.tar.bz2
Revert a fix made for bug QTBUG-15341
Reverted a commit 2eee49127b80b5b56c605f76ccea004b03d89577 "Remove active selection when TextEdit loses focus". Contrary to TextInput, by default TextEdit keeps the selection visible when the editor loses active focus. If this is not wanted, a property called persistentSelection can be set false to make selection dependant on the focus.
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit.cpp14
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit_p.h1
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp40
3 files changed, 0 insertions, 55 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
index 1042cf1..e05f4e4 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
@@ -994,20 +994,6 @@ 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 6826cb5..68fde3d 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextedit_p.h
@@ -249,7 +249,6 @@ protected:
void keyPressEvent(QKeyEvent *);
void keyReleaseEvent(QKeyEvent *);
void focusInEvent(QFocusEvent *event);
- void focusOutEvent(QFocusEvent *event);
// mouse filter?
void mousePressEvent(QGraphicsSceneMouseEvent *event);
diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
index ed02451..a7971cc 100644
--- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
+++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
@@ -110,7 +110,6 @@ private slots:
void mouseSelection_data();
void mouseSelection();
void inputMethodHints();
- void clearSelectionOnFocusLost();
void cursorDelegate();
void delegateLoading_data();
@@ -749,45 +748,6 @@ void tst_qdeclarativetextedit::inputMethodHints()
QVERIFY(textEditObject->inputMethodHints() & Qt::ImhUppercaseOnly);
}
-// QTBUG-15341
-void tst_qdeclarativetextedit::clearSelectionOnFocusLost()
-{
-
- // create a visible scene with two text edits
- QGraphicsScene scene;
- QGraphicsView view(&scene);
- QDeclarativeTextEdit edit;
- QDeclarativeTextEdit secondEdit;
- edit.setText("Hello world!");
- scene.addItem(&edit);
- scene.addItem(&secondEdit);
- view.show();
- QApplication::setActiveWindow(&view);
- QTest::qWaitForWindowShown(&view);
- QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
-
- int index = 0;
- while (index < Qt::NoFocusReason) {
-
- // focus the first text edit and select text
- edit.setFocus(true);
- edit.selectAll();
- QVERIFY(edit.hasActiveFocus() && !secondEdit.hasActiveFocus());
- QCOMPARE(edit.selectedText().size(), 12);
-
- // lose focus in the first text edit
- qobject_cast<QGraphicsObject*>(&secondEdit)->setFocus(Qt::FocusReason(index));
- QVERIFY(!edit.hasActiveFocus() && secondEdit.hasActiveFocus());
-
- // depending on the focus reason, selection should now be cleared
- bool clearSelection = (index != Qt::ActiveWindowFocusReason && index != Qt::PopupFocusReason);
- QCOMPARE(edit.selectedText().isEmpty(), clearSelection);
- index++;
- }
-}
-
-
-
void tst_qdeclarativetextedit::cursorDelegate()
{
QDeclarativeView* view = createView(SRCDIR "/data/cursorTest.qml");