]> git.sur5r.net Git - minitube/blobdiff - src/painterutils.cpp
Imported Upstream version 2.5.1
[minitube] / src / painterutils.cpp
index 54f4cbdab59491c7b8c81ae375c166e398ae4dc6..9281b0d62ab5003eea0e2418c9557bf8b01d6ac1 100644 (file)
@@ -20,10 +20,11 @@ $END_LICENSE */
 
 #include "painterutils.h"
 #include "fontutils.h"
+#include "iconutils.h"
 
 PainterUtils::PainterUtils() { }
 
-void PainterUtils::centeredMessage(QString message, QWidget* widget) {
+void PainterUtils::centeredMessage(const QString &message, QWidget* widget) {
     QPainter painter(widget);
     painter.setFont(FontUtils::big());
     QSize textSize(QFontMetrics(painter.font()).size(Qt::TextSingleLine, message));
@@ -63,10 +64,9 @@ void PainterUtils::topShadow(QWidget *widget) {
 }
 
 void PainterUtils::paintBadge(QPainter *painter, const QString &text, bool center) {
-    static const QPixmap badge1 = QPixmap(":/images/badge.png");
-    static const QPixmap badge3 = QPixmap(":/images/badge3.png");
-    static const QPixmap badge4 = QPixmap(":/images/badge4.png");
-    static const int size = badge1.height();
+    const QPixmap badge1 = IconUtils::pixmap(":/images/badge.png");
+    const QPixmap badge3 = IconUtils::pixmap(":/images/badge3.png");
+    const QPixmap badge4 = IconUtils::pixmap(":/images/badge4.png");
 
     const int textSize = text.size();
 
@@ -75,10 +75,13 @@ void PainterUtils::paintBadge(QPainter *painter, const QString &text, bool cente
     else if (textSize == 3) badge = badge3;
     else badge = badge4;
 
+    const int w = badge.width() / badge.devicePixelRatio();
+    const int h = badge.height() / badge.devicePixelRatio();
+
     int x = 0;
-    if (center) x -= badge.width() / 2;
+    if (center) x -= w / 2;
 
-    QRect rect(x, 0, badge.width(), size);
+    QRect rect(x, 0, w, h);
     painter->drawPixmap(rect, badge);
 
     QFont f = painter->font();
@@ -86,11 +89,9 @@ void PainterUtils::paintBadge(QPainter *painter, const QString &text, bool cente
     f.setHintingPreference(QFont::PreferNoHinting);
 #ifdef APP_MAC
     f.setFamily("Helvetica");
-#endif
-#ifdef APP_WIN
+#elif APP_WIN
     rect.adjust(0, -2, 0, 0);
-#endif
-#ifdef Q_OS_LINUX
+#else
     rect.adjust(0, -1, 0, 0);
 #endif
     painter->save();