diff options
-rw-r--r-- | src/quick/items/qquicktextedit.cpp | 7 | ||||
-rw-r--r-- | tests/manual/scenegraph_lancelot/data/text/textedit_table_selected.qml | 40 |
2 files changed, 40 insertions, 7 deletions
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index 8237ad10e4..cd1cf5eef1 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -1873,13 +1873,6 @@ QSGNode *QQuickTextEdit::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData * node->m_engine->addTextObject(QPointF(0, 0), format, QQuickTextNodeEngine::Unselected, d->document, pos, textFrame->frameFormat().position()); nodeStart = pos; - } else if (qobject_cast<QTextTable*>(textFrame)) { // To keep things simple, map text tables as one text node - QTextFrame::iterator it = textFrame->begin(); - nodeOffset = d->document->documentLayout()->frameBoundingRect(textFrame).topLeft(); - updateNodeTransform(node, nodeOffset); - while (!it.atEnd()) - node->m_engine->addTextBlock(d->document, (it++).currentBlock(), -nodeOffset, d->color, QColor(), selectionStart(), selectionEnd() - 1); - nodeStart = textFrame->firstPosition(); } else { // Having nodes spanning across frame boundaries will break the current bookkeeping mechanism. We need to prevent that. QList<int> frameBoundaries; diff --git a/tests/manual/scenegraph_lancelot/data/text/textedit_table_selected.qml b/tests/manual/scenegraph_lancelot/data/text/textedit_table_selected.qml new file mode 100644 index 0000000000..749c37904e --- /dev/null +++ b/tests/manual/scenegraph_lancelot/data/text/textedit_table_selected.qml @@ -0,0 +1,40 @@ +import QtQuick 2.0 + +Item { + width: 320 + height: 480 + + TextEdit { + id: textEdit + anchors.centerIn: parent + verticalAlignment: Text.AlignBottom + font.family: "Arial" + font.pixelSize: 16 + textFormat: Text.RichText + Component.onCompleted: textEdit.selectAll() + text: + "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + + "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" + + "<body >\n" + + "<table >\n" + + "<tr >\n" + + "<td >\n" + + "Cell 1\n" + + "</td>\n" + + "</tr>\n" + + "<tr >\n" + + "<td >\n" + + "Cell 2\n" + + "</td>\n" + + "</tr>\n" + + "<tr >\n" + + "<td >\n" + + "Cell 3\n" + + "</td>\n" + + "</tr>\n" + + "</table>\n" + + "</body>\n" + + "</html>\n" + + } +} |