diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-23 13:17:10 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-24 22:12:29 +0200 |
commit | 63da7db055215aa9b4053ba6cb6cd8428abccc0d (patch) | |
tree | 8bd96ab68905da67ac01851fe417ac4e3d9b474c /src | |
parent | a1d2bf257e5240aadcd0d3b95f04ee2c86925b88 (diff) |
QLineEdit: Emit textEdited() when the clear button is clicked.
[ChangeLog][QtWidgets][QLineEdit] The signal textEdited() is now
emitted when the user clicks the clear button created by
setClearButtonEnabled() as well.
Task-number: QTBUG-40287
Change-Id: Iacd303ffd1533f27cfa68a6120cdd370e3d31ddc
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/widgets/widgets/qlineedit.h | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qlineedit_p.cpp | 13 | ||||
-rw-r--r-- | src/widgets/widgets/qlineedit_p.h | 1 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/widgets/widgets/qlineedit.h b/src/widgets/widgets/qlineedit.h index 3d52863db2..d53437c479 100644 --- a/src/widgets/widgets/qlineedit.h +++ b/src/widgets/widgets/qlineedit.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the QtWidgets module of the Qt Toolkit. @@ -261,6 +261,7 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_selectionChanged()) Q_PRIVATE_SLOT(d_func(), void _q_updateNeeded(const QRect &)) Q_PRIVATE_SLOT(d_func(), void _q_textChanged(const QString &)) + Q_PRIVATE_SLOT(d_func(), void _q_clearButtonClicked()) }; #endif // QT_NO_LINEEDIT diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index adec9cae18..7ad893a54e 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the QtWidgets module of the Qt Toolkit. @@ -373,6 +373,15 @@ void QLineEditPrivate::_q_textChanged(const QString &text) } } +void QLineEditPrivate::_q_clearButtonClicked() +{ + Q_Q(QLineEdit); + if (!q->text().isEmpty()) { + q->clear(); + emit q->textEdited(QString()); + } +} + QSize QLineEditPrivate::iconSize() const { if (!m_iconSize.isValid()) // This might require style-specific handling (pixel metric). @@ -448,7 +457,7 @@ QWidget *QLineEditPrivate::addAction(QAction *newAction, QAction *before, QLineE toolButton->setIcon(newAction->icon()); toolButton->setOpacity(lastTextSize > 0 || !(flags & SideWidgetFadeInWithText) ? 1 : 0); if (flags & SideWidgetClearButton) - QObject::connect(toolButton, SIGNAL(clicked()), q, SLOT(clear())); + QObject::connect(toolButton, SIGNAL(clicked()), q, SLOT(_q_clearButtonClicked())); toolButton->setDefaultAction(newAction); w = toolButton; } diff --git a/src/widgets/widgets/qlineedit_p.h b/src/widgets/widgets/qlineedit_p.h index db8edee005..08365521d5 100644 --- a/src/widgets/widgets/qlineedit_p.h +++ b/src/widgets/widgets/qlineedit_p.h @@ -195,6 +195,7 @@ public: void drag(); #endif void _q_textChanged(const QString &); + void _q_clearButtonClicked(); int leftTextMargin; // use effectiveLeftTextMargin() in case of icon. int topTextMargin; |