add menu items for running the firmware and for quitting.

This commit is contained in:
Arisotura
2020-04-28 22:45:11 +02:00
parent 0913576ef5
commit 63efc2e02a
4 changed files with 69 additions and 3 deletions

View File

@ -394,10 +394,17 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
QMenuBar* menubar = new QMenuBar();
{
QMenu* menu = menubar->addMenu("File");
QAction* act;
act = menu->addAction("Open file...");
connect(act, &QAction::triggered, this, &MainWindow::onOpenFile);
actOpenROM = menu->addAction("Open file...");
connect(actOpenROM, &QAction::triggered, this, &MainWindow::onOpenFile);
actBootFirmware = menu->addAction("Launch DS menu");
connect(actBootFirmware, &QAction::triggered, this, &MainWindow::onBootFirmware);
menu->addSeparator();
actQuit = menu->addAction("Quit");
connect(actQuit, &QAction::triggered, this, &MainWindow::onQuit);
}
setMenuBar(menubar);
@ -411,6 +418,12 @@ MainWindow::~MainWindow()
}
void MainWindow::keyPressEvent(QKeyEvent* event)
{
printf("key press. %d %d %08X %08X\n", event->key(), event->nativeScanCode(), event->modifiers(), event->nativeModifiers());
}
void MainWindow::onOpenFile()
{
emuThread->emuPause(true);
@ -465,6 +478,31 @@ void MainWindow::onOpenFile()
}
}
void MainWindow::onBootFirmware()
{
// TODO: ensure the firmware is actually bootable!!
// TODO: check the whole GBA cart shito
emuThread->emuPause(true);
bool res = Frontend::LoadBIOS();
if (!res)
{
// TODO!
emuThread->emuUnpause();
}
else
{
emuThread->emuRun();
}
}
void MainWindow::onQuit()
{
QApplication::quit();
}
void MainWindow::onTitleUpdate(QString title)
{