FavoriteWidget: Use icon loader for star icons

Fixes #1178
This commit is contained in:
Jonas Kvinge 2023-04-10 21:29:46 +02:00
parent 195cc61df7
commit db2d34f840
2 changed files with 18 additions and 7 deletions

View File

@ -26,6 +26,8 @@
#include <QPaintEvent>
#include <QMouseEvent>
#include "core/iconloader.h"
#include "favoritewidget.h"
const int FavoriteWidget::kStarSize = 15;
@ -34,8 +36,8 @@ FavoriteWidget::FavoriteWidget(const int tab_index, const bool favorite, QWidget
: QWidget(parent),
tab_index_(tab_index),
favorite_(favorite),
on_(":/icons/64x64/star.png"),
off_(":/icons/64x64/star-grey.png"),
on_(IconLoader::Load("star")),
off_(IconLoader::Load("star-grey")),
rect_(0, 0, kStarSize, kStarSize) {}
void FavoriteWidget::SetFavorite(const bool favorite) {
@ -59,12 +61,21 @@ void FavoriteWidget::paintEvent(QPaintEvent *e) {
QStylePainter p(this);
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
if (favorite_) {
p.drawPixmap(rect_, on_);
p.drawPixmap(rect_, on_.pixmap(rect_.size(), devicePixelRatioF()));
}
else {
p.drawPixmap(rect_, off_);
p.drawPixmap(rect_, off_.pixmap(rect_.size(), devicePixelRatioF()));
}
#else
if (favorite_) {
p.drawPixmap(rect_, on_.pixmap(rect_.size()));
}
else {
p.drawPixmap(rect_, off_.pixmap(rect_.size()));
}
#endif
}

View File

@ -24,7 +24,7 @@
#include <QObject>
#include <QWidget>
#include <QString>
#include <QPixmap>
#include <QIcon>
#include <QRect>
#include <QSize>
@ -56,8 +56,8 @@ class FavoriteWidget : public QWidget {
// The playlist's id this widget belongs to
int tab_index_;
bool favorite_;
QPixmap on_;
QPixmap off_;
QIcon on_;
QIcon off_;
QRect rect_;
};