From db2d34f8408c5c3699cd0c1af576e3c730262198 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Mon, 10 Apr 2023 21:29:46 +0200 Subject: [PATCH] FavoriteWidget: Use icon loader for star icons Fixes #1178 --- src/widgets/favoritewidget.cpp | 19 +++++++++++++++---- src/widgets/favoritewidget.h | 6 +++--- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/widgets/favoritewidget.cpp b/src/widgets/favoritewidget.cpp index f78d00ca..c9083229 100644 --- a/src/widgets/favoritewidget.cpp +++ b/src/widgets/favoritewidget.cpp @@ -26,6 +26,8 @@ #include #include +#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 } diff --git a/src/widgets/favoritewidget.h b/src/widgets/favoritewidget.h index 90cf3822..9b06f2d5 100644 --- a/src/widgets/favoritewidget.h +++ b/src/widgets/favoritewidget.h @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include @@ -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_; };