diff options
| -rw-r--r-- | src/quick/items/qquicktextcontrol.cpp | 8 | ||||
| -rw-r--r-- | tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp | 10 |
2 files changed, 14 insertions, 4 deletions
diff --git a/src/quick/items/qquicktextcontrol.cpp b/src/quick/items/qquicktextcontrol.cpp index 625ce91706..bfde79ba0c 100644 --- a/src/quick/items/qquicktextcontrol.cpp +++ b/src/quick/items/qquicktextcontrol.cpp @@ -268,7 +268,7 @@ void QQuickTextControlPrivate::setContent(Qt::TextFormat format, const QString & const int oldCursorPos = cursor.position(); // avoid multiple textChanged() signals being emitted - qmlobject_disconnect(doc, QTextDocument, SIGNAL(contentsChanged()), q, QQuickTextControl, SIGNAL(textChanged())); + QObject::disconnect(doc, &QTextDocument::contentsChanged, q, &QQuickTextControl::textChanged); if (!text.isEmpty()) { // clear 'our' cursor for insertion to prevent @@ -308,7 +308,7 @@ void QQuickTextControlPrivate::setContent(Qt::TextFormat format, const QString & } cursor.setCharFormat(charFormatForInsertion); - qmlobject_connect(doc, QTextDocument, SIGNAL(contentsChanged()), q, QQuickTextControl, SIGNAL(textChanged())); + QObject::connect(doc, &QTextDocument::contentsChanged, q, &QQuickTextControl::textChanged); emit q->textChanged(); doc->setUndoRedoEnabled(previousUndoRedoState); _q_updateCurrentCharFormatAndSelection(); @@ -615,10 +615,10 @@ void QQuickTextControl::setDocument(QTextDocument *doc) QAbstractTextDocumentLayout *layout = doc->documentLayout(); connect(layout, &QAbstractTextDocumentLayout::update, this, &QQuickTextControl::updateRequest); connect(layout, &QAbstractTextDocumentLayout::updateBlock, this, &QQuickTextControl::updateRequest); - connect(doc, &QTextDocument::contentsChanged, this, [d, this]() { + connect(doc, &QTextDocument::contentsChanged, this, [d]() { d->_q_updateCurrentCharFormatAndSelection(); - emit textChanged(); }); + connect(doc, &QTextDocument::contentsChanged, this, &QQuickTextControl::textChanged); connect(doc, &QTextDocument::cursorPositionChanged, this, [d](const QTextCursor &cursor) { d->_q_updateCursorPosChanged(cursor); }); diff --git a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp index fba2860c8d..c3b6a392ba 100644 --- a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp +++ b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp @@ -206,6 +206,7 @@ private slots: void cursorRectangle_QTBUG_38947(); void textCached_QTBUG_41583(); void doubleSelect_QTBUG_38704(); + void textChanged_QTBUG_130676(); void padding(); void paddingAndWrap(); @@ -6217,6 +6218,15 @@ void tst_qquicktextedit::doubleSelect_QTBUG_38704() QCOMPARE(selectionSpy.size(), 3); } +void tst_qquicktextedit::textChanged_QTBUG_130676() +{ + QQuickTextEdit textEdit; + QSignalSpy spy(&textEdit, SIGNAL(textChanged())); + QVERIFY(spy.isValid()); + textEdit.setText("Hello Qt"); + QVERIFY(spy.count() == 1); +} + void tst_qquicktextedit::padding() { QScopedPointer<QQuickView> window(new QQuickView); |
