aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquicktextcontrol.cpp8
-rw-r--r--tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp10
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);