#include "glwidget.h"
#include "about.h"
#include "settings.h"
+#include "filepicker.h"
// The way BSNES controls things is by setting a timer with a zero
// timeout, sleeping if not emulating anything. Seems there has to be a
setWindowIcon(QIcon(":/res/vj.xpm"));
setWindowTitle("Virtual Jaguar v2.0.0");
+ ReadSettings();
+ setUnifiedTitleAndToolBarOnMac(true);
+
aboutWin = new AboutWindow(this);
+ filePickWin = new FilePickerWindow(this);
videoWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
tvTypeActs = new QActionGroup(this);
ntscAct = new QAction(QIcon(":/res/generic.png"), tr("NTSC"), tvTypeActs);
- ntscAct->setStatusTip(tr("Sets OpenGL rendering to GL_NEAREST"));
+ ntscAct->setStatusTip(tr("Sets Jaguar to NTSC mode"));
ntscAct->setCheckable(true);
connect(ntscAct, SIGNAL(triggered()), this, SLOT(SetNTSC()));
palAct = new QAction(QIcon(":/res/generic.png"), tr("PAL"), tvTypeActs);
- palAct->setStatusTip(tr("Sets OpenGL rendering to GL_NEAREST"));
+ palAct->setStatusTip(tr("Sets Jaguar to PAL mode"));
palAct->setCheckable(true);
connect(palAct, SIGNAL(triggered()), this, SLOT(SetPAL()));
aboutAct->setStatusTip(tr("Blatant self-promotion"));
connect(aboutAct, SIGNAL(triggered()), this, SLOT(ShowAboutWin()));
+ filePickAct = new QAction(QIcon(":/res/generic.png"), tr("&Insert Cartridge..."), this);
+ filePickAct->setStatusTip(tr("Insert a cartridge into Virtual Jaguar"));
+ connect(filePickAct, SIGNAL(triggered()), this, SLOT(InsertCart()));
+
// Create menus & toolbars
fileMenu = menuBar()->addMenu(tr("&File"));
+ fileMenu->addAction(filePickAct);
fileMenu->addAction(powerAct);
fileMenu->addAction(quitAppAct);
- fileMenu = menuBar()->addMenu(tr("&Help"));
- fileMenu->addAction(aboutAct);
+ helpMenu = menuBar()->addMenu(tr("&Help"));
+ helpMenu->addAction(aboutAct);
- QToolBar * toolbar = addToolBar(tr("Stuff"));
+ toolbar = addToolBar(tr("Stuff"));
toolbar->addAction(powerAct);
+ toolbar->addSeparator();
toolbar->addAction(x1Act);
toolbar->addAction(x2Act);
toolbar->addAction(x3Act);
+ toolbar->addSeparator();
toolbar->addAction(ntscAct);
toolbar->addAction(palAct);
+ toolbar->addSeparator();
toolbar->addAction(blurAct);
// Create status bar
statusBar()->showMessage(tr("Ready"));
- ReadSettings();
- setUnifiedTitleAndToolBarOnMac(true);
-
- // Set toolbar button based on setting read in (sync the UI)...
+ // Set toolbar buttons/menus based on settings read in (sync the UI)...
blurAct->setChecked(vjs.glFilter);
x1Act->setChecked(zoomLevel == 1);
x2Act->setChecked(zoomLevel == 2);
aboutWin->show();
}
+void MainWin::InsertCart(void)
+{
+ filePickWin->show();
+}
+
void MainWin::ResizeMainWindow(void)
{
videoWidget->setFixedSize(zoomLevel * 320, zoomLevel * (vjs.hardwareTypeNTSC ? 240 : 256));
vjs.useOpenGL = settings.value("useOpenGL", true).toBool();
vjs.glFilter = settings.value("glFilterType", 0).toInt();
vjs.renderType = settings.value("renderType", 0).toInt();
+
+ // Hardcoded, !!! FIX !!!
+#warning "!!! FIX !!! ROMPath is hardcoded!"
+ strcpy(vjs.ROMPath, "./software");
}
void MainWin::WriteSettings(void)