X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Frefinesearchbutton.cpp;h=1091e56d9edeed41a7e1b6c74094202252ab869d;hb=cc9017d7466db69a72db245456ce0562ffff449b;hp=aa78fccc7a81835a93e661ced1c29f15bd1d5639;hpb=d1f8234fe0884e05dd95a1c4876ec6e29d7d9f2b;p=minitube diff --git a/src/refinesearchbutton.cpp b/src/refinesearchbutton.cpp index aa78fcc..1091e56 100644 --- a/src/refinesearchbutton.cpp +++ b/src/refinesearchbutton.cpp @@ -19,41 +19,32 @@ along with Minitube. If not, see . $END_LICENSE */ #include "refinesearchbutton.h" +#include "iconutils.h" -static const int refineButtonSize = 48; - -RefineSearchButton::RefineSearchButton(QWidget *parent) : - QPushButton(parent) { - +RefineSearchButton::RefineSearchButton(QWidget *parent) : QPushButton(parent) { hovered = false; + const int refineButtonSize = 48; setMinimumSize(refineButtonSize, refineButtonSize); setMaximumSize(refineButtonSize, refineButtonSize); setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - setStyleSheet( - "background: red url(:/images/refine-search.png) no-repeat center;" - "border: 0;" - ); } -void RefineSearchButton::paintBackground() const { +void RefineSearchButton::paintEvent(QPaintEvent *) { + QColor backgroundColor = palette().windowText().color(); + backgroundColor.setAlpha(hovered ? 192 : 170); -} - -void RefineSearchButton::paintEvent(QPaintEvent *event) { - // QPushButton::paintEvent(event); QPainter painter(this); painter.setRenderHints(QPainter::Antialiasing, true); - painter.setBrush(QColor(0,0,0, hovered ? 192 : 170)); - QPen pen(Qt::white); - pen.setWidth(2); - painter.setPen(pen); - painter.drawEllipse(QPoint(width(), height()), width()-2, height()-2); - - QPixmap icon = QPixmap(":/images/refine-search.png"); - painter.drawPixmap(width() - icon.width() - 6, height() - icon.height() - 6, - icon.width(), icon.height(), - icon); + painter.setPen(Qt::NoPen); + painter.setBrush(backgroundColor); + painter.drawEllipse(QPoint(width(), height()), width() - 2, height() - 2); + + QPixmap pixmap = + IconUtils::iconPixmap("refine-search", 24, backgroundColor, devicePixelRatioF()); + int pw = pixmap.width() / pixmap.devicePixelRatio(); + int ph = pixmap.height() / pixmap.devicePixelRatio(); + painter.drawPixmap(width() - pw - 6, height() - ph - 6, pw, ph, pixmap); } void RefineSearchButton::enterEvent(QEvent *) {