Make search field clear buttons follow icon size settings

This commit is contained in:
Jonas Kvinge
2020-06-29 01:09:02 +02:00
parent e747c2e263
commit 558e392234
6 changed files with 33 additions and 13 deletions

View File

@@ -73,7 +73,7 @@ QSearchField::QSearchField(QWidget *parent) : QWidget(parent) {
QIcon clearIcon(IconLoader::Load("edit-clear-locationbar-ltr"));
clearbutton->setIcon(clearIcon);
clearbutton->setIconSize(QSize(16, 16));
clearbutton->setIconSize(QSize(20, 20));
clearbutton->setStyleSheet("border: none; padding: 0px;");
clearbutton->resize(clearbutton->sizeHint());
@@ -96,6 +96,19 @@ QSearchField::QSearchField(QWidget *parent) : QWidget(parent) {
}
void QSearchField::setIconSize(const int iconsize) {
pimpl->clearbutton_->setIconSize(QSize(iconsize, iconsize));
pimpl->clearbutton_->resize(pimpl->clearbutton_->sizeHint());
pimpl->lineedit_->setStyleSheet(QString("QLineEdit { padding-left: %1px; } ").arg(pimpl->clearbutton_->width()));
const int frame_width = pimpl->lineedit_->style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
const int width = frame_width + qMax(pimpl->lineedit_->minimumSizeHint().width(), pimpl->clearButtonPaddedWidth());
const int height = frame_width + qMax(pimpl->lineedit_->minimumSizeHint().height(), pimpl->clearButtonPaddedHeight());
pimpl->lineedit_->setMinimumSize(width, height);
}
void QSearchField::setText(const QString &text) {
Q_ASSERT(pimpl && pimpl->clearbutton_ && pimpl->lineedit_);