/***************************************************************************
- * Copyright (C) 2005-2015 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "clearablelineedit.h"
-#include <QIcon>
-#include <QToolButton>
#include <QStyle>
+#include <QToolButton>
+
+#include "icon.h"
-ClearableLineEdit::ClearableLineEdit(QWidget *parent)
+ClearableLineEdit::ClearableLineEdit(QWidget* parent)
: QLineEdit(parent)
{
clearButton = new QToolButton(this);
- clearButton->setIcon(QIcon::fromTheme("edit-clear-locationbar-rtl", QIcon::fromTheme("edit-clear")));
-#ifndef Q_WS_QWS
+ clearButton->setIcon(icon::get("edit-clear-locationbar-rtl"));
clearButton->setCursor(Qt::ArrowCursor);
-#endif
clearButton->setStyleSheet("QToolButton { border: none; padding: 0px; }");
clearButton->hide();
- connect(clearButton, SIGNAL(clicked()), this, SLOT(clear()));
- connect(this, SIGNAL(textChanged(const QString &)), this, SLOT(updateClearButton(const QString &)));
+ connect(clearButton, &QAbstractButton::clicked, this, &QLineEdit::clear);
+ connect(this, &QLineEdit::textChanged, this, &ClearableLineEdit::updateClearButton);
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
setStyleSheet(QString("QLineEdit { padding-right: %1px; } ").arg(clearButton->sizeHint().width() + frameWidth + 1));
QSize msz = minimumSizeHint();
setMinimumSize(qMax(msz.width(), clearButton->sizeHint().height() + frameWidth * 2 + 2),
- qMax(msz.height(), clearButton->sizeHint().height() + frameWidth * 2 + 2));
+ qMax(msz.height(), clearButton->sizeHint().height() + frameWidth * 2 + 2));
}
-
-void ClearableLineEdit::resizeEvent(QResizeEvent *)
+void ClearableLineEdit::resizeEvent(QResizeEvent*)
{
QSize size = clearButton->sizeHint();
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
- clearButton->move(rect().right() - frameWidth - size.width(),
- (rect().bottom() + 1 - size.height())/2);
+ clearButton->move(rect().right() - frameWidth - size.width(), (rect().bottom() + 1 - size.height()) / 2);
}
-
-void ClearableLineEdit::updateClearButton(const QString &text)
+void ClearableLineEdit::updateClearButton(const QString& text)
{
clearButton->setVisible(!text.isEmpty());
}