From 3f6d82715dda8dd06f6bddf2ed89e89640f63a2e Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 30 Nov 2016 09:40:23 +0100 Subject: Add TextInput::textEdited() [ChangeLog][QtQuick][TextInput] Added textEdited() signal to distinguish user edits from programmatical text changes. Change-Id: I1d78499e3e11f9f1cab80ce3b0a6d9f2713219f4 Task-number: QTBUG-57203 Reviewed-by: Mitch Curtis Reviewed-by: Shawn Rutledge --- src/quick/items/qquicktextinput.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/quick/items/qquicktextinput.cpp') diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index 27f3dcecfa..e9f88ae7f0 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -1152,6 +1152,17 @@ bool QQuickTextInput::hasAcceptableInput() const The corresponding handler is \c onEditingFinished. */ +/*! + \qmlsignal QtQuick::TextInput::textEdited() + \since 5.9 + + This signal is emitted whenever the text is edited. Unlike \c textChanged(), + this signal is not emitted when the text is changed programmatically, for example, + by changing the value of the \c text property or by calling \c clear(). + + The corresponding handler is \c onTextEdited. +*/ + #if QT_CONFIG(im) Qt::InputMethodHints QQuickTextInputPrivate::effectiveInputMethodHints() const { @@ -3499,7 +3510,7 @@ void QQuickTextInputPrivate::selectWordAtPos(int cursor) The \a update value is currently unused. */ -bool QQuickTextInputPrivate::finishChange(int validateFromState, bool update, bool /*edited*/) +bool QQuickTextInputPrivate::finishChange(int validateFromState, bool update, bool edited) { Q_Q(QQuickTextInput); @@ -3570,6 +3581,8 @@ bool QQuickTextInputPrivate::finishChange(int validateFromState, bool update, bo m_preeditDirty = false; #endif alignmentChanged = determineHorizontalAlignment(); + if (edited) + emit q->textEdited(); emit q->textChanged(); } -- cgit v1.2.3