summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets/qlineedit_p.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-07-17 10:38:56 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-08 12:55:48 +0200
commitbff5100177a2e1fb4f685ce72f935484ab027203 (patch)
tree24b5fb36a855549bb263810a7efbab5b0f7517f2 /src/widgets/widgets/qlineedit_p.cpp
parentbc87acaa1f72d907c68aa6fdb1586191eee8aead (diff)
Add clearButton-property to QLineEdit.
Based on addAction-API. Change-Id: Ie6c3d2d728b23a85cdd80428c92ee8208ae0a65c Done-with: Kevin.Ottens@kdab.com Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'src/widgets/widgets/qlineedit_p.cpp')
-rw-r--r--src/widgets/widgets/qlineedit_p.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp
index 028675f845..99d6d0b8d9 100644
--- a/src/widgets/widgets/qlineedit_p.cpp
+++ b/src/widgets/widgets/qlineedit_p.cpp
@@ -368,6 +368,14 @@ QSize QLineEditPrivate::iconSize() const
return m_iconSize;
}
+QIcon QLineEditPrivate::clearButtonIcon() const
+{
+ Q_Q(const QLineEdit);
+ QStyleOptionFrameV2 styleOption;
+ q->initStyleOption(&styleOption);
+ return QIcon(q->style()->standardPixmap(QStyle::SP_LineEditClearButton, &styleOption, q));
+}
+
void QLineEditPrivate::positionSideWidgets()
{
Q_Q(QLineEdit);
@@ -417,6 +425,8 @@ QWidget *QLineEditPrivate::addAction(QAction *newAction, QAction *before, QLineE
QLineEditIconButton *toolButton = new QLineEditIconButton(q);
toolButton->setIcon(newAction->icon());
toolButton->setOpacity(lastTextSize > 0 || !(flags & SideWidgetFadeInWithText) ? 1 : 0);
+ if (flags & SideWidgetClearButton)
+ QObject::connect(toolButton, SIGNAL(clicked()), q, SLOT(clear()));
toolButton->setDefaultAction(newAction);
w = toolButton;
}