]> git.sur5r.net Git - minitube/blobdiff - src/refinesearchbutton.cpp
New upstream version 3.1
[minitube] / src / refinesearchbutton.cpp
index aa78fccc7a81835a93e661ced1c29f15bd1d5639..1091e56d9edeed41a7e1b6c74094202252ab869d 100644 (file)
@@ -19,41 +19,32 @@ along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
 $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 *) {