X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Fgui%2Ffilepicker.cpp;h=2082ee92fe5a7ca49f8aa4177ee1f54e47bb7fe8;hb=refs%2Ftags%2F2.0.1;hp=86fbe55b410d25cb62cc1776099a5aed63c06a78;hpb=54f5867e394981dd72548990064238454a6e2395;p=virtualjaguar
diff --git a/src/gui/filepicker.cpp b/src/gui/filepicker.cpp
index 86fbe55..2082ee9 100644
--- a/src/gui/filepicker.cpp
+++ b/src/gui/filepicker.cpp
@@ -108,7 +108,9 @@ printf("VSB size: %u, %u\n", sbSize3.width(), sbSize3.height());
// fileList->verticalScrollBar()->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
// (488/4) + 4 is the width of the object in the filelistmodel. Dunno why the QListView
// isn't picking that up. :-(
- fileList->setFixedWidth((488/4) + 4 + sbWidth);//ick
+ // 488/4 + 4 = 126
+ // 126 + 17 + 4 = 147 <-- correct width
+ fileList->setFixedWidth((488/4) + 4 + sbWidth2 + sbWidth5 + 1);//ick
// fileList->setFixedWidth((488/4) + 4 + 17 + 4);//sbWidth);//ick
// fileList->setSpacing(4);
@@ -153,9 +155,9 @@ printf("VSB size: %u, %u\n", sbSize3.width(), sbSize3.height());
dataLayout->addWidget(labels);
data = new QLabel(QString(tr(
"?MB Cartridge
"
- "????????
"
- "???
"
- "???"
+ "00000000
"
+ "?
"
+ "?"
)));
data->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
dataLayout->addWidget(data);
@@ -209,7 +211,10 @@ New sizes: 373x172 (label), 420x340 (cart)
void FilePickerWindow::keyPressEvent(QKeyEvent * e)
{
if (e->key() == Qt::Key_Escape)
+ {
hide();
+ emit(FilePickerHiding());
+ }
else if (e->key() == Qt::Key_Return)
LoadButtonPressed();
}
@@ -353,7 +358,7 @@ void FilePickerWindow::UpdateSelection(const QModelIndex & current, const QModel
// should be valid.
// The DB takes precedence over the fileType.
if ((!haveUnknown && (romList[i].flags & FF_ROM))
- || (haveUnknown && (fileType == JST_ROM)))
+ || (haveUnknown && (fileType == JST_ROM) && !haveUniversalHeader))
{
cart = QImage(":/res/cart-blank.png");
QPainter painter(&cart);
@@ -361,11 +366,16 @@ void FilePickerWindow::UpdateSelection(const QModelIndex & current, const QModel
painter.end();
}
else if ((!haveUnknown && (romList[i].flags & FF_ALPINE))
- || (haveUnknown && (fileType == JST_ALPINE)))
+ || (haveUnknown
+ && ((fileType == JST_ALPINE) || ((fileType == JST_ROM) && haveUniversalHeader))))
{
- cart = QImage(":/res/alpine-file.png");
+ if (haveUniversalHeader)
+ cart = QImage(":/res/skunkboard-file.png");
+ else
+ cart = QImage(":/res/alpine-file.png");
}
- else if (haveUnknown && (fileType == JST_ABS_TYPE1 || fileType == JST_ABS_TYPE2 || fileType == JST_JAGSERVER))
+ else if (haveUnknown && (fileType == JST_ABS_TYPE1 || fileType == JST_ABS_TYPE2
+ || fileType == JST_JAGSERVER))
{
cart = QImage(":/res/homebrew-file.png");
}
@@ -403,10 +413,20 @@ void FilePickerWindow::UpdateSelection(const QModelIndex & current, const QModel
fileTypeString = QString(tr("*** UNKNOWN *** (%1 bytes)")).arg(fileSize);
}
#else
- if ((!haveUnknown && (romList[i].flags & FF_ROM)) || (haveUnknown && (fileType == JST_ROM)))
+ if ((!haveUnknown && (romList[i].flags & FF_ROM))
+ || (haveUnknown && (fileType == JST_ROM) && !haveUniversalHeader))
fileTypeString = QString(tr("%1MB Cartridge")).arg(fileSize / 1048576);
- else if ((!haveUnknown && (romList[i].flags & FF_ALPINE)) || (haveUnknown && (fileType == JST_ALPINE)))
- fileTypeString = QString(tr("%1MB Alpine ROM")).arg(fileSize / 1048576);
+ else if ((!haveUnknown && (romList[i].flags & FF_ALPINE))
+ || (haveUnknown
+ && ((fileType == JST_ALPINE) || ((fileType == JST_ROM) && haveUniversalHeader))))
+ {
+ if (haveUniversalHeader)
+ fileTypeString = QString(tr("%1MB Alpine ROM w/Universal Header"));
+ else
+ fileTypeString = QString(tr("%1MB Alpine ROM"));
+
+ fileTypeString = fileTypeString.arg((fileSize + 8192) / 1048576);
+ }
else if (haveUnknown && (fileType == JST_ABS_TYPE1 || fileType == JST_ABS_TYPE2))
fileTypeString = QString(tr("ABS/COF Executable (%1 bytes)")).arg(fileSize);
else if (haveUnknown && (fileType == JST_JAGSERVER))
@@ -427,8 +447,11 @@ void FilePickerWindow::UpdateSelection(const QModelIndex & current, const QModel
if (!haveUnknown && (romList[i].flags & FF_BAD_DUMP))
notes = "BAD DUMP";
- if (haveUniversalHeader)
- notes += " Universal Header detected";
+// if (haveUniversalHeader)
+// notes += " Universal Header detected";
+
+ if (!haveUnknown && (romList[i].flags & FF_REQ_BIOS))
+ notes += " Requires BIOS";
if (!haveUnknown && (romList[i].flags & FF_REQ_DSP))
notes += " Requires DSP";