diff options
Diffstat (limited to 'src/widgets/widgets/qlineedit_p.cpp')
-rw-r--r-- | src/widgets/widgets/qlineedit_p.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index a4394ae92b..76830c57a1 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. @@ -205,6 +205,7 @@ void QLineEditPrivate::init(const QString& txt) QStyleOptionFrameV2 opt; q->initStyleOption(&opt); control->setPasswordCharacter(q->style()->styleHint(QStyle::SH_LineEdit_PasswordCharacter, &opt, q)); + control->setPasswordMaskDelay(q->style()->styleHint(QStyle::SH_LineEdit_PasswordMaskDelay, &opt, q)); #ifndef QT_NO_CURSOR q->setCursor(Qt::IBeamCursor); #endif @@ -322,7 +323,7 @@ void QLineEditIconButton::paintEvent(QPaintEvent *) state = isDown() ? QIcon::Selected : QIcon::Normal; const QPixmap iconPixmap = icon().pixmap(QSize(IconButtonSize, IconButtonSize), state, QIcon::Off); - QRect pixmapRect = QRect(0, 0, iconPixmap.width(), iconPixmap.height()); + QRect pixmapRect = QRect(QPoint(0, 0), iconPixmap.size() / iconPixmap.devicePixelRatio()); pixmapRect.moveCenter(rect().center()); painter.setOpacity(m_opacity); painter.drawPixmap(pixmapRect, iconPixmap); @@ -375,6 +376,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). @@ -450,7 +460,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; } |