//
// imagedelegate.cpp - Qt Model/View rendering class
//
-// by James L. Hammons
+// by James Hammons
// (C) 2010 Underground Software
//
-// JLH = James L. Hammons <jlhamm@acm.org>
+// JLH = James Hammons <jlhamm@acm.org>
//
// Who When What
// --- ---------- -------------------------------------------------------------
// This is crappy. We really should have a properly scaled image ready to go so we
// don't get Qt's default ugly looking fast scaling...
+
#warning "!!! FIX !!! Need to create properly scaled down cart/label images!"
-// unsigned long i = index.model()->data(index, Qt::DisplayRole).toUInt();
-#if 0
- unsigned long i = index.model()->data(index, Qt::DisplayRole).toUInt();
- QString filename = index.model()->data(index, Qt::EditRole).toString();
- QImage label = index.model()->data(index, Qt::DecorationRole).value<QImage>();
-#else
+//We've got the carts, now just need to do the labels...
+
unsigned long i = index.model()->data(index, FLM_INDEX).toUInt();
QString filename = index.model()->data(index, FLM_FILENAME).toString();
QImage label = index.model()->data(index, FLM_LABEL).value<QImage>();
-#endif
+ QString nameToDraw;
-#if 0
- if (role == Qt::DecorationRole)
- return list.at(index.row()).label;
- else if (role == Qt::DisplayRole)
- return (uint)list.at(index.row()).dbIndex;
- else if (role == Qt::EditRole)
- return list.at(index.row()).filename;
-#endif
+ if (i == 0xFFFFFFFF) // Not found...
+ {
+ int lastSlashPos = filename.lastIndexOf('/');
+ nameToDraw = "\"" + filename.mid(lastSlashPos + 1) + "\"";
+ }
+ else
+ nameToDraw = romList[i].name;
-// if (romList[i].file[0] == 0)
if (label.isNull())
{
// painter->drawPixmap(option.rect.x()+14, option.rect.y()+50, 433/2, 203/2, QPixmap(":/res/label-blank.png"));
// painter->setPen(Qt::white);
painter->setPen(QColor(255, 128, 0, 255));
// painter->drawText(QRect(option.rect.x()+20, option.rect.y()+73, 196, 70), Qt::TextWordWrap | Qt::AlignHCenter, QString(romList[i].name));
- painter->drawText(QRect(option.rect.x()+10, option.rect.y()+36, 196/2, 70/2), Qt::TextWordWrap | Qt::AlignHCenter, QString(romList[i].name));
+ painter->drawText(QRect(option.rect.x()+10, option.rect.y()+36, 196/2, 70/2),
+ Qt::TextWordWrap | Qt::AlignHCenter, nameToDraw);
}
else
{