diff --git a/src/collection/collectionfilterwidget.cpp b/src/collection/collectionfilterwidget.cpp index 0a699acd..89d3dd81 100644 --- a/src/collection/collectionfilterwidget.cpp +++ b/src/collection/collectionfilterwidget.cpp @@ -149,6 +149,7 @@ void CollectionFilterWidget::ReloadSettings() { int iconsize = s.value(AppearanceSettingsPage::kIconSizeConfigureButtons, 20).toInt(); s.endGroup(); ui_->options->setIconSize(QSize(iconsize, iconsize)); + ui_->filter->setIconSize(iconsize); } diff --git a/src/internet/internetsearchview.cpp b/src/internet/internetsearchview.cpp index 49534554..b8c6fd69 100644 --- a/src/internet/internetsearchview.cpp +++ b/src/internet/internetsearchview.cpp @@ -250,6 +250,7 @@ void InternetSearchView::ReloadSettings() { int iconsize = s.value(AppearanceSettingsPage::kIconSizeConfigureButtons, 20).toInt(); s.endGroup(); ui_->settings->setIconSize(QSize(iconsize, iconsize)); + ui_->search->setIconSize(iconsize); } diff --git a/src/playlist/playlistcontainer.cpp b/src/playlist/playlistcontainer.cpp index d001333e..69f26f10 100644 --- a/src/playlist/playlistcontainer.cpp +++ b/src/playlist/playlistcontainer.cpp @@ -234,15 +234,16 @@ void PlaylistContainer::ReloadSettings() { QSettings s; s.beginGroup(AppearanceSettingsPage::kSettingsGroup); - int iconsize_playlist_buttons = s.value(AppearanceSettingsPage::kIconSizePlaylistButtons, 20).toInt(); + int iconsize = s.value(AppearanceSettingsPage::kIconSizePlaylistButtons, 20).toInt(); s.endGroup(); - ui_->create_new->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); - ui_->load->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); - ui_->save->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); - ui_->clear->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); - ui_->undo->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); - ui_->redo->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); + ui_->create_new->setIconSize(QSize(iconsize, iconsize)); + ui_->load->setIconSize(QSize(iconsize, iconsize)); + ui_->save->setIconSize(QSize(iconsize, iconsize)); + ui_->clear->setIconSize(QSize(iconsize, iconsize)); + ui_->undo->setIconSize(QSize(iconsize, iconsize)); + ui_->redo->setIconSize(QSize(iconsize, iconsize)); + ui_->filter->setIconSize(iconsize); bool playlist_clear = settings_.value("playlist_clear", true).toBool(); if (playlist_clear) { diff --git a/src/widgets/qsearchfield.h b/src/widgets/qsearchfield.h index 28ceba4a..c14aaa4b 100644 --- a/src/widgets/qsearchfield.h +++ b/src/widgets/qsearchfield.h @@ -12,30 +12,32 @@ class QSearchField : public QWidget { Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged USER true) Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText) -public: + public: explicit QSearchField(QWidget *parent); + void setIconSize(const int iconsize); + QString text() const; QString placeholderText() const; void setFocus(Qt::FocusReason); -public slots: + public slots: void setText(const QString &text); void setPlaceholderText(const QString &text); void clear(); void selectAll(); void setFocus(); -signals: + signals: void textChanged(const QString &text); void editingFinished(); void returnPressed(); -protected: + protected: void resizeEvent(QResizeEvent*) override; bool eventFilter(QObject*, QEvent*) override; -private: + private: friend class QSearchFieldPrivate; QPointer pimpl; }; diff --git a/src/widgets/qsearchfield_mac.mm b/src/widgets/qsearchfield_mac.mm index 6375d1f4..029976eb 100644 --- a/src/widgets/qsearchfield_mac.mm +++ b/src/widgets/qsearchfield_mac.mm @@ -167,6 +167,8 @@ QSearchField::QSearchField(QWidget *parent) : QWidget(parent) { [pool drain]; } +void QSearchField::setIconSize(const int iconsize) {} + void QSearchField::setText(const QString &text) { Q_ASSERT(pimpl); if (!pimpl) return; diff --git a/src/widgets/qsearchfield_nonmac.cpp b/src/widgets/qsearchfield_nonmac.cpp index 130374b5..1b1f5c4a 100644 --- a/src/widgets/qsearchfield_nonmac.cpp +++ b/src/widgets/qsearchfield_nonmac.cpp @@ -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_);