From 6f7573dda4eea59cd2ea8291890476861281ddaa Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Mon, 25 Feb 2019 20:39:11 -0800 Subject: [PATCH] Qt: Re-add battle chip icon scaling --- src/platform/qt/BattleChipModel.cpp | 8 ++++++-- src/platform/qt/BattleChipModel.h | 6 ++++-- src/platform/qt/BattleChipView.cpp | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/platform/qt/BattleChipModel.cpp b/src/platform/qt/BattleChipModel.cpp index 8d1636e6f..f7851912d 100644 --- a/src/platform/qt/BattleChipModel.cpp +++ b/src/platform/qt/BattleChipModel.cpp @@ -35,7 +35,7 @@ QVariant BattleChipModel::data(const QModelIndex& index, int role) const { case Qt::DisplayRole: return item.name; case Qt::DecorationRole: - return item.icon; + return item.icon.scaled(item.icon.size() * m_scale); case Qt::UserRole: return item.id; } @@ -151,12 +151,16 @@ void BattleChipModel::clear() { endResetModel(); } +void BattleChipModel::setScale(int scale) { + m_scale = scale; +} + BattleChipModel::BattleChip BattleChipModel::createChip(int id) const { QString path = QString(":/exe/exe%1/%2.png").arg(m_flavor).arg(id, 3, 10, QLatin1Char('0')); if (!QFile(path).exists()) { path = QString(":/exe/exe%1/placeholder.png").arg(m_flavor); } - QIcon icon(path); + QPixmap icon(path); BattleChip chip = { id, diff --git a/src/platform/qt/BattleChipModel.h b/src/platform/qt/BattleChipModel.h index a2e652509..a9de45951 100644 --- a/src/platform/qt/BattleChipModel.h +++ b/src/platform/qt/BattleChipModel.h @@ -6,7 +6,7 @@ #pragma once #include -#include +#include namespace QGBA { @@ -34,18 +34,20 @@ public slots: void removeChip(const QModelIndex&); void setChips(QList ids); void clear(); + void setScale(int); private: struct BattleChip { int id; QString name; - QIcon icon; + QPixmap icon; }; BattleChip createChip(int id) const; QMap m_chipIdToName; int m_flavor; + int m_scale = 1; QList m_deck; }; diff --git a/src/platform/qt/BattleChipView.cpp b/src/platform/qt/BattleChipView.cpp index f97239a76..1fdfe3679 100644 --- a/src/platform/qt/BattleChipView.cpp +++ b/src/platform/qt/BattleChipView.cpp @@ -40,6 +40,7 @@ BattleChipView::BattleChipView(std::shared_ptr controller, Windo #endif m_ui.chipList->setIconSize(m_ui.chipList->iconSize() * size); m_ui.chipList->setGridSize(m_ui.chipList->gridSize() * size); + m_model.setScale(size); connect(m_ui.chipId, static_cast(&QSpinBox::valueChanged), m_ui.inserted, [this]() { m_ui.inserted->setChecked(Qt::Unchecked);