UI itself is usable

This commit is contained in:
Simone
2024-01-18 13:13:05 +01:00
parent af7a6c004b
commit 25d1e4c51f
10 changed files with 311 additions and 4 deletions

View File

@@ -0,0 +1,54 @@
#include <MainWindow.hpp>
#include <QFileDialog>
#include <QMessageBox>
MainWindowController::MainWindowController() noexcept
{
view.setupUi(this);
ConnectSignalsToSlots();
}
void MainWindowController::ConnectSignalsToSlots() noexcept
{
connect(view.actionOpen, &QAction::triggered, this, [this]() {
QString file_name = QFileDialog::getOpenFileName(this);
if (!file_name.isEmpty())
{
view.actionPause->setEnabled(true);
view.actionReset->setEnabled(true);
view.actionStop->setEnabled(true);
emit OpenROM(file_name);
}
});
connect(view.actionExit, &QAction::triggered, this, [this]() {
emit Exit();
});
connect(view.actionReset, &QAction::triggered, this, [this]() {
emit Reset();
});
connect(view.actionStop, &QAction::triggered, this, [this]() {
view.actionPause->setDisabled(true);
view.actionReset->setDisabled(true);
view.actionStop->setDisabled(true);
emit Stop();
});
connect(view.actionPause, &QAction::triggered, this, [this]() {
textPauseToggle = !textPauseToggle;
view.actionPause->setText(textPauseToggle ? "Resume" : "Pause");
emit Pause();
});
connect(view.actionAbout, &QAction::triggered, this, [this]() {
QMessageBox::about(
this, tr("About Kaizen"),
tr("Kaizen is a Nintendo 64 emulator that strives to offer a friendly user "
"experience and great compatibility.\n"
"sliice is licensed under the BSD 3-clause license.\n"
"Nintendo 64 is a registered trademarks of Nintendo Co., Ltd."));
});
}