diff --git a/res/chip-names-4.txt b/res/exe4/chip-names.txt similarity index 100% rename from res/chip-names-4.txt rename to res/exe4/chip-names.txt diff --git a/res/exe4/placeholder.png b/res/exe4/placeholder.png new file mode 100644 index 000000000..f057bb249 Binary files /dev/null and b/res/exe4/placeholder.png differ diff --git a/res/chip-names-5.txt b/res/exe5/chip-names.txt similarity index 100% rename from res/chip-names-5.txt rename to res/exe5/chip-names.txt diff --git a/res/exe5/placeholder.png b/res/exe5/placeholder.png new file mode 100644 index 000000000..1f3e1094d Binary files /dev/null and b/res/exe5/placeholder.png differ diff --git a/res/chip-names-6.txt b/res/exe6/chip-names.txt similarity index 100% rename from res/chip-names-6.txt rename to res/exe6/chip-names.txt diff --git a/res/exe6/placeholder.png b/res/exe6/placeholder.png new file mode 100644 index 000000000..7873bb227 Binary files /dev/null and b/res/exe6/placeholder.png differ diff --git a/src/platform/qt/BattleChipView.cpp b/src/platform/qt/BattleChipView.cpp index c6d6578d4..e05785f4f 100644 --- a/src/platform/qt/BattleChipView.cpp +++ b/src/platform/qt/BattleChipView.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #include @@ -32,6 +33,13 @@ BattleChipView::BattleChipView(std::shared_ptr controller, QWidg core->getGameCode(core, title); QString qtitle(title); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) + int size = QFontMetrics(QFont()).height() / ((int) ceil(devicePixelRatioF()) * 16); +#else + int size = QFontMetrics(QFont()).height() / (devicePixelRatio() * 16); +#endif + m_ui.chipList->setGridSize(m_ui.chipList->gridSize() * size); + m_ui.chipList->setIconSize(m_ui.chipList->iconSize() * size); connect(m_ui.chipId, static_cast(&QSpinBox::valueChanged), m_ui.inserted, [this]() { m_ui.inserted->setChecked(Qt::Unchecked); @@ -124,7 +132,11 @@ void BattleChipView::addChip() { } QListWidgetItem* add = new QListWidgetItem(m_chipIdToName[insertedChip]); add->setData(Qt::UserRole, insertedChip); - add->setIcon(QIcon(QString(":/res/exe%1/%2.png").arg(m_flavor).arg(insertedChip, 3, 10, QLatin1Char('0')))); + QString path = QString(":/res/exe%1/%2.png").arg(m_flavor).arg(insertedChip, 3, 10, QLatin1Char('0')); + if (!QFile(path).exists()) { + path = QString(":/res/exe%1/placeholder.png").arg(m_flavor); + } + add->setIcon(QIcon(path)); m_ui.chipList->addItem(add); } @@ -143,7 +155,7 @@ void BattleChipView::loadChipNames(int flavor) { } m_flavor = flavor; - QFile file(QString(":/res/chip-names-%1.txt").arg(flavor)); + QFile file(QString(":/res/exe%1/chip-names.txt").arg(flavor)); file.open(QIODevice::ReadOnly | QIODevice::Text); int id = 0; while (true) { diff --git a/src/platform/qt/BattleChipView.ui b/src/platform/qt/BattleChipView.ui index 14ce62c55..10e8000d8 100644 --- a/src/platform/qt/BattleChipView.ui +++ b/src/platform/qt/BattleChipView.ui @@ -151,8 +151,8 @@ - 160 - 128 + 80 + 72 diff --git a/src/platform/qt/resources.qrc b/src/platform/qt/resources.qrc index ea08c5e39..990203809 100644 --- a/src/platform/qt/resources.qrc +++ b/src/platform/qt/resources.qrc @@ -4,8 +4,11 @@ ../../../res/keymap.qpic ../../../res/patrons.txt ../../../res/no-cam.png - ../../../res/chip-names-4.txt - ../../../res/chip-names-5.txt - ../../../res/chip-names-6.txt + ../../../res/exe4/chip-names.txt + ../../../res/exe4/placeholder.png + ../../../res/exe5/chip-names.txt + ../../../res/exe5/placeholder.png + ../../../res/exe6/chip-names.txt + ../../../res/exe6/placeholder.png