diff options
author | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2015-06-04 10:24:46 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2015-06-04 10:28:48 +0200 |
commit | 9556f6d075b61fa95d6e1057f305e522a26f71d6 (patch) | |
tree | 53190472453390810c47b9b5a47b23188a00267e /src/quick/items/qquicktextedit.cpp | |
parent | 42ffe9b193a5bd958b0853233fd0d94170722bd1 (diff) | |
parent | 1fd0cdc6a2e01775d8a79c6614910cc5a2fbf2b3 (diff) |
Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
src/qml/jsruntime/qv4engine_p.h
src/quick/items/qquickitemsmodule.cpp
src/quick/items/qquicktext.cpp
src/quick/util/qquickpixmapcache.cpp
tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
Change-Id: I90ecaad6a4bfaa4f36149a7463f4d7141f4a516a
Diffstat (limited to 'src/quick/items/qquicktextedit.cpp')
-rw-r--r-- | src/quick/items/qquicktextedit.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index 4df7a3caeb..0601932beb 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -211,10 +211,14 @@ QString QQuickTextEdit::text() const The weight can be one of: \list + \li Font.Thin \li Font.Light + \li Font.ExtraLight \li Font.Normal - the default + \li Font.Medium \li Font.DemiBold \li Font.Bold + \li Font.ExtraBold \li Font.Black \endlist @@ -1488,6 +1492,11 @@ void QQuickTextEdit::setReadOnly(bool r) emit readOnlyChanged(r); if (!d->selectByKeyboardSet) emit selectByKeyboardChanged(!r); + if (r) { + setCursorVisible(false); + } else if (hasActiveFocus()) { + setCursorVisible(true); + } } bool QQuickTextEdit::isReadOnly() const @@ -1989,9 +1998,9 @@ QSGNode *QQuickTextEdit::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData * std::sort(d->textNodeMap.begin(), d->textNodeMap.end(), &comesBefore); } - if (d->cursorComponent == 0 && !isReadOnly()) { + if (d->cursorComponent == 0) { QSGRectangleNode* cursor = 0; - if (d->cursorVisible && d->control->cursorOn()) + if (!isReadOnly() && d->cursorVisible && d->control->cursorOn()) cursor = d->sceneGraphContext()->createRectangleNode(d->control->cursorRect(), d->color); rootNode->resetCursorNode(cursor); } @@ -2460,7 +2469,8 @@ void QQuickTextEditPrivate::handleFocusEvent(QFocusEvent *event) { Q_Q(QQuickTextEdit); bool focus = event->type() == QEvent::FocusIn; - q->setCursorVisible(focus); + if (!q->isReadOnly()) + q->setCursorVisible(focus); control->processEvent(event, QPointF(-xoff, -yoff)); if (focus) { q->q_updateAlignment(); |