diff options
-rw-r--r-- | src/quick/items/qquicktextedit.cpp | 3 | ||||
-rw-r--r-- | src/quick/items/qquicktextinput.cpp | 3 | ||||
-rw-r--r-- | tests/auto/quick/qquicktextedit/data/qtbug51115.qml | 11 | ||||
-rw-r--r-- | tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp | 12 | ||||
-rw-r--r-- | tests/auto/quick/qquicktextinput/data/qtbug51115.qml | 11 | ||||
-rw-r--r-- | tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp | 13 |
6 files changed, 49 insertions, 4 deletions
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index f6c3d2f09f..f2e9f63fa9 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -1534,8 +1534,7 @@ void QQuickTextEdit::setReadOnly(bool r) if (!r) flags = flags | Qt::TextEditable; d->control->setTextInteractionFlags(flags); - if (!r) - d->control->moveCursor(QTextCursor::End); + d->control->moveCursor(QTextCursor::End); #ifndef QT_NO_IM updateInputMethod(Qt::ImEnabled); diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index 7a86e1a323..4b816c41c3 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -679,8 +679,7 @@ void QQuickTextInput::setReadOnly(bool ro) setFlag(QQuickItem::ItemAcceptsInputMethod, !ro); #endif d->m_readOnly = ro; - if (!ro) - d->setCursorPosition(d->end()); + d->setCursorPosition(d->end()); #ifndef QT_NO_IM updateInputMethod(Qt::ImEnabled); #endif diff --git a/tests/auto/quick/qquicktextedit/data/qtbug51115.qml b/tests/auto/quick/qquicktextedit/data/qtbug51115.qml new file mode 100644 index 0000000000..e3179cfc8e --- /dev/null +++ b/tests/auto/quick/qquicktextedit/data/qtbug51115.qml @@ -0,0 +1,11 @@ +import QtQuick 2.0 + +TextEdit { + Component.onCompleted: { + readOnly = false; + text= "bla bla"; + selectAll(); + readOnly = true; + } +} + diff --git a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp index 50e06e5663..b7bfc357f3 100644 --- a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp +++ b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp @@ -201,6 +201,7 @@ private slots: void doubleSelect_QTBUG_38704(); void padding(); + void QTBUG_51115_readOnlyResetsSelection(); private: void simulateKeys(QWindow *window, const QList<Key> &keys); @@ -5536,6 +5537,17 @@ void tst_qquicktextedit::padding() delete root; } +void tst_qquicktextedit::QTBUG_51115_readOnlyResetsSelection() +{ + QQuickView view; + view.setSource(testFileUrl("qtbug51115.qml")); + view.show(); + QVERIFY(QTest::qWaitForWindowExposed(&view)); + QQuickTextEdit *obj = qobject_cast<QQuickTextEdit*>(view.rootObject()); + + QCOMPARE(obj->selectedText(), QString()); +} + QTEST_MAIN(tst_qquicktextedit) #include "tst_qquicktextedit.moc" diff --git a/tests/auto/quick/qquicktextinput/data/qtbug51115.qml b/tests/auto/quick/qquicktextinput/data/qtbug51115.qml new file mode 100644 index 0000000000..008ac25844 --- /dev/null +++ b/tests/auto/quick/qquicktextinput/data/qtbug51115.qml @@ -0,0 +1,11 @@ +import QtQuick 2.0 + +TextInput { + Component.onCompleted: { + readOnly = false; + text= "bla bla"; + selectAll(); + readOnly = true; + } +} + diff --git a/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp b/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp index abb2c5b773..3b4e57b2a8 100644 --- a/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp +++ b/tests/auto/quick/qquicktextinput/tst_qquicktextinput.cpp @@ -221,6 +221,8 @@ private slots: void ensureVisible(); void padding(); + void QTBUG_51115_readOnlyResetsSelection(); + private: void simulateKey(QWindow *, int key); @@ -6697,6 +6699,17 @@ void tst_qquicktextinput::padding() delete root; } +void tst_qquicktextinput::QTBUG_51115_readOnlyResetsSelection() +{ + QQuickView view; + view.setSource(testFileUrl("qtbug51115.qml")); + view.show(); + QVERIFY(QTest::qWaitForWindowExposed(&view)); + QQuickTextInput *obj = qobject_cast<QQuickTextInput*>(view.rootObject()); + + QCOMPARE(obj->selectedText(), QString()); +} + QTEST_MAIN(tst_qquicktextinput) #include "tst_qquicktextinput.moc" |