diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2013-06-13 16:23:44 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-06 08:19:38 +0200 |
commit | 9ce12cc8de940cdd450a28f4bd079acfc3621aa3 (patch) | |
tree | ca07f5b57179b58caae43f0297be4f4d9834d8e5 /src/widgets/widgets/qlineedit.h | |
parent | c207724c9bb8e205e756086950063cc91656e401 (diff) |
Add side widgets to QLineEdit via QAction.
Add QLineEdit::addAction() overloads,
allowing for a variable number of icons or user-defined
widgets.
Change-Id: Id298f18c2f47cc998170357e65cc6098df851aab
Done-with: Kevin.Ottens@kdab.com
Reviewed-by: Thomas Zander <zander@kde.org>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'src/widgets/widgets/qlineedit.h')
-rw-r--r-- | src/widgets/widgets/qlineedit.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/widgets/widgets/qlineedit.h b/src/widgets/widgets/qlineedit.h index e2b944314b..3d16e527b6 100644 --- a/src/widgets/widgets/qlineedit.h +++ b/src/widgets/widgets/qlineedit.h @@ -59,12 +59,14 @@ class QCompleter; class QStyleOptionFrame; class QAbstractSpinBox; class QDateTimeEdit; +class QIcon; +class QToolButton; class Q_WIDGETS_EXPORT QLineEdit : public QWidget { Q_OBJECT - Q_ENUMS(EchoMode) + Q_ENUMS(ActionPosition EchoMode) Q_PROPERTY(QString inputMask READ inputMask WRITE setInputMask) Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged USER true) Q_PROPERTY(int maxLength READ maxLength WRITE setMaxLength) @@ -83,8 +85,12 @@ class Q_WIDGETS_EXPORT QLineEdit : public QWidget Q_PROPERTY(bool acceptableInput READ hasAcceptableInput) Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText) Q_PROPERTY(Qt::CursorMoveStyle cursorMoveStyle READ cursorMoveStyle WRITE setCursorMoveStyle) - public: + enum ActionPosition { + LeadingPosition, + TrailingPosition + }; + explicit QLineEdit(QWidget* parent=0); explicit QLineEdit(const QString &, QWidget* parent=0); ~QLineEdit(); @@ -164,6 +170,16 @@ public: void getTextMargins(int *left, int *top, int *right, int *bottom) const; QMargins textMargins() const; +#ifdef Q_NO_USING_KEYWORD + inline void addAction(QAction *action) + { QWidget::addAction(action); } +#else + using QWidget::addAction; +#endif + + void addAction(QAction *action, ActionPosition position); + QAction *addAction(const QIcon &icon, ActionPosition position); + public Q_SLOTS: void setText(const QString &); void clear(); @@ -240,6 +256,7 @@ private: #endif 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 &)) }; #endif // QT_NO_LINEEDIT |