#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));
}
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();
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();
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();