summaryrefslogtreecommitdiffstats
path: root/sigmodr/TileUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigmodr/TileUI.cpp')
-rw-r--r--sigmodr/TileUI.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/sigmodr/TileUI.cpp b/sigmodr/TileUI.cpp
index acab991f..f360f438 100644
--- a/sigmodr/TileUI.cpp
+++ b/sigmodr/TileUI.cpp
@@ -49,16 +49,22 @@ void Sigmodr::TileUI::initGui()
void Sigmodr::TileUI::refreshGui()
{
+ int maxHeight = 0;
+ int maxWidth = 0;
const bool blocked = varSprite->blockSignals(true);
varSprite->clear();
for (int i = 0; i < sigmod()->spriteCount(); ++i)
{
const Sigmod::Sprite* sprite = sigmod()->sprite(i);
- if (sprite->sprite().size() == QSize(64, 64))
- varSprite->addItem(QPixmap::fromImage(sprite->sprite()), sprite->name(), sprite->id());
+ QPixmap icon;
+ icon.loadFromData(sprite->sprite());
+ maxHeight = qMax(maxHeight, icon.height());
+ maxWidth = qMax(maxWidth, icon.width());
+ varSprite->addItem(icon, sprite->name(), sprite->id());
}
varSprite->blockSignals(blocked);
- varSprite->setIconSize(QSize(64, 64));
+ const QSize maxSize(maxWidth, maxHeight);
+ varSprite->setIconSize(maxSize);
}
void Sigmodr::TileUI::setGui()