// Who When What
// --- ---------- -------------------------------------------------------------
// JLH 01/22/2010 Created this file
+// JLH 02/06/2010 Modified to use Qt model/view framework
//
#include "filepicker.h"
#include "crc32.h"
+#include "filelistmodel.h"
#include "filethread.h"
+#include "imagedelegate.h"
#include "settings.h"
#include "types.h"
{
setWindowTitle("Insert Cartridge...");
-#if 1
- fileList = new QListWidget(this);
+#if 0
+ fileList2 = new QListWidget(this);
// addWidget(fileList);
QVBoxLayout * layout = new QVBoxLayout();
// layout->setSizeConstraint(QLayout::SetFixedSize);
setLayout(layout);
- layout->addWidget(fileList);
+ layout->addWidget(fileList2);
// PopulateList();
fileThread = new FileThread(this);
- fileThread->Go(fileList);
-#else
-QStringList numbers;
-numbers << "One" << "Two" << "Three" << "Four" << "Five";
-QAbstractItemModel * model = new StringListModel(numbers);
-QListView * view = new QListView;
-view->setModel(model);
+ /*bool b =*/ connect(fileThread, SIGNAL(FoundAFile(unsigned long)), this, SLOT(AddFileToList(unsigned long)));
+//printf("FilePickerWindow: Connection to FileThread %s...\n", (b ? "succeeded" : "failed"));
+
+ fileThread->Go(fileList2);
+#else
+//is there any reason why this must be cast as a QAbstractListModel?
+//Also, need to think about data structure for the model...
+ model = new FileListModel();
+ fileList = new QListView();
+ fileList->setModel(model);
+ ImageDelegate * delegate = new ImageDelegate(this);
+ fileList->setItemDelegate(delegate);
+
+ QVBoxLayout * layout = new QVBoxLayout;
+ setLayout(layout);
+ layout->addWidget(fileList);
+ ((FileListModel *)model)->AddData(QIcon(":/res/generic.png"));
+ ((FileListModel *)model)->AddData(QIcon(":/res/generic.png"));
#endif
}
+// Need a slot here to pickup stuff from the thread...
+
+void FilePickerWindow::AddFileToList(unsigned long index)
+{
+ printf("--> Found CRC: %08X...\n", romList2[index].crc32);
+}
+
+
/*
void FilePickerWindow::PopulateList(void)
{