\
obj/about.o \
obj/app.o \
+ obj/configwin.o \
obj/filepicker.o \
obj/filethread.o \
obj/mainwin.o \
# ../../obj/mainwin.o \
# ../../obj/moc_mainwin.o \
# ../../obj/qrc_vj-gui.o
-QT_CFLAGS = `pkg-config --cflags QtGui`
+QT_CFLAGS = -MMD `pkg-config --cflags QtGui`
# !!! THESE DEFINES ARE PLATFORM DEPENDENT !!!
#QT_DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
QT_DEFINES = -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
#QT_INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I./src/gui -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I./obj
QT_INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I./src -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4 -I/usr/X11R6/include -I./obj
-QT_CXXFLAGS = -pipe -O2 -march=pentium-m -pipe -D_REENTRANT -Wall -W $(QT_DEFINES) -D$(SYSTYPE)
+QT_CXXFLAGS = -MMD -pipe -O2 -march=pentium-m -pipe -D_REENTRANT -Wall -W $(QT_DEFINES) -D$(SYSTYPE)
obj/moc_%.cpp: src/gui/%.h
@echo -e "\033[01;33m***\033[00;32m Creating $@...\033[00m"
--- /dev/null
+//
+// configwin.cpp - Configuration window
+//
+// by James L. Hammons
+// (C) 2010 Underground Software
+//
+// JLH = James L. Hammons <jlhamm@acm.org>
+//
+// Who When What
+// --- ---------- -------------------------------------------------------------
+// JLH 01/29/2010 Created this file
+//
+
+#include "configwin.h"
+
--- /dev/null
+//
+// configwin.h - Configuration window
+//
+// by James L. Hammons
+// (C) 2010 Underground Software
+//
+
+#ifndef __CONFIGWIN_H__
+#define __CONFIGWIN_H__
+
+
+
+#endif // __CONFIGWIN_H__
#include "filepicker.h"
#include "crc32.h"
+#include "filethread.h"
#include "settings.h"
#include "types.h"
const char file[128];
};
-RomIdentifier romList[] = {
+RomIdentifier romList2[] = {
{ 0x0509C85E, "Raiden (World)", "" },
{ 0x08F15576, "Iron Soldier (World) (v1.04)", "" },
{ 0x0957A072, "Kasumi Ninja (World)", "" },
layout->addWidget(fileList);
- PopulateList();
+// PopulateList();
+ fileThread = new FileThread(this);
+ fileThread->Go(fileList);
}
void FilePickerWindow::PopulateList(void)
file.close();
//printf("FilePickerWindow: File crc == %08X...\n", crc);
- for(int j=0; romList[j].crc32 != 0xFFFFFFFF; j++)
+ for(int j=0; romList2[j].crc32 != 0xFFFFFFFF; j++)
{
- if (romList[j].crc32 == crc)
+ if (romList2[j].crc32 == crc)
{
-printf("FilePickerWindow: Found match [%s]...\n", romList[j].name);
- new QListWidgetItem(QIcon(":/res/generic.png"), romList[j].name, fileList);
+printf("FilePickerWindow: Found match [%s]...\n", romList2[j].name);
+ new QListWidgetItem(QIcon(":/res/generic.png"), romList2[j].name, fileList);
break;
}
}
// Forward declarations
class QListWidget;
+class FileThread;
class FilePickerWindow: public QWidget
{
private:
QListWidget * fileList;
+ FileThread * fileThread;
};
#include "filethread.h"
+#include <QtGui>
#include "crc32.h"
#include "settings.h"
-#include "types.h"
+//#include "types.h"
struct RomIdentifier
{
wait();
}
-FileThread::Go(QListWidget * lw)
+void FileThread::Go(QListWidget * lw)
{
QMutexLocker locker(&mutex);
this->listWidget = lw;
void FileThread::run(void)
{
-// mutex.lock();
-// if (abort)
-// return;
-// mutex.unlock();
-
QDir romDir(vjs.ROMPath);
QFileInfoList list = romDir.entryInfoList();
return;
QFileInfo fileInfo = list.at(i);
-// std::cout << qPrintable(QString("%1 %2").arg(fileInfo.size(), 10)
-// .arg(fileInfo.fileName()));
-// std::cout << std::endl;
QFile file(romDir.filePath(fileInfo.fileName()));
uint8 * buffer = new uint8[fileInfo.size()];
file.close();
//printf("FilePickerWindow: File crc == %08X...\n", crc);
- for(int j=0; romList[j].crc32 != 0xFFFFFFFF; j++)
+ uint32 index = FindCRCIndexInFileList(crc);
+
+ if (index != 0xFFFFFFFF)
{
- if (romList[j].crc32 == crc)
- {
-printf("FilePickerWindow: Found match [%s]...\n", romList[j].name);
- new QListWidgetItem(QIcon(":/res/generic.png"), romList[j].name, listWidget);
- break;
- }
+printf("FileThread: Found match [%s]...\n", romList[index].name);
+ new QListWidgetItem(QIcon(":/res/generic.png"), romList[index].name, listWidget);
+// break;
}
}
delete[] buffer;
}
+}
+
+//
+// Find a CRC in the ROM list. If it's there, return the index, otherwise return $FFFFFFFF
+//
+uint32 FileThread::FindCRCIndexInFileList(uint32 crc)
+{
+ for(int i=0; romList[i].crc32!=0xFFFFFFFF; i++)
+ {
+ if (romList[i].crc32 == crc)
+ return i;
+ }
+ return 0xFFFFFFFF;
}
// filethread.h: File discovery thread class definition
//
-#ifndef // __FILETHREAD_H__
-#define // __FILETHREAD_H__
+#ifndef __FILETHREAD_H__
+#define __FILETHREAD_H__
#include <QtCore>
+#include "types.h"
// Forward declarations
class QListWidget;
public:
FileThread(QObject * parent = 0);
~FileThread();
+ void Go(QListWidget * lw);
+
+ protected:
+ void run(void);
+ uint32 FindCRCIndexInFileList(uint32);
private:
QListWidget * listWidget;
HEADERS += glwidget.h
HEADERS += about.h
HEADERS += filepicker.h
+HEADERS += filethread.h
+HEADERS += configwin.h
SOURCES += app.cpp
SOURCES += mainwin.cpp
SOURCES += glwidget.cpp
SOURCES += about.cpp
SOURCES += filepicker.cpp
+SOURCES += filethread.cpp
+SOURCES += configwin.cpp
RESOURCES += vj.qrc