mirror of https://github.com/mgba-emu/mgba.git
Fix QAction ownership
This commit is contained in:
parent
aaf9c42782
commit
78759dc12e
|
@ -148,19 +148,19 @@ void Window::setupMenu(QMenuBar* menubar) {
|
||||||
fileMenu->addAction(tr("Load &ROM..."), this, SLOT(selectROM()), QKeySequence::Open);
|
fileMenu->addAction(tr("Load &ROM..."), this, SLOT(selectROM()), QKeySequence::Open);
|
||||||
|
|
||||||
QMenu* emulationMenu = menubar->addMenu(tr("&Emulation"));
|
QMenu* emulationMenu = menubar->addMenu(tr("&Emulation"));
|
||||||
QAction* reset = new QAction(tr("&Reset"), nullptr);
|
QAction* reset = new QAction(tr("&Reset"), emulationMenu);
|
||||||
reset->setShortcut(tr("Ctrl+R"));
|
reset->setShortcut(tr("Ctrl+R"));
|
||||||
connect(reset, SIGNAL(triggered()), m_controller, SLOT(reset()));
|
connect(reset, SIGNAL(triggered()), m_controller, SLOT(reset()));
|
||||||
m_gameActions.append(reset);
|
m_gameActions.append(reset);
|
||||||
emulationMenu->addAction(reset);
|
emulationMenu->addAction(reset);
|
||||||
|
|
||||||
QAction* shutdown = new QAction(tr("Sh&utdown"), nullptr);
|
QAction* shutdown = new QAction(tr("Sh&utdown"), emulationMenu);
|
||||||
connect(shutdown, SIGNAL(triggered()), m_controller, SLOT(closeGame()));
|
connect(shutdown, SIGNAL(triggered()), m_controller, SLOT(closeGame()));
|
||||||
m_gameActions.append(shutdown);
|
m_gameActions.append(shutdown);
|
||||||
emulationMenu->addAction(shutdown);
|
emulationMenu->addAction(shutdown);
|
||||||
emulationMenu->addSeparator();
|
emulationMenu->addSeparator();
|
||||||
|
|
||||||
QAction* pause = new QAction(tr("&Pause"), nullptr);
|
QAction* pause = new QAction(tr("&Pause"), emulationMenu);
|
||||||
pause->setChecked(false);
|
pause->setChecked(false);
|
||||||
pause->setCheckable(true);
|
pause->setCheckable(true);
|
||||||
pause->setShortcut(tr("Ctrl+P"));
|
pause->setShortcut(tr("Ctrl+P"));
|
||||||
|
@ -170,56 +170,56 @@ void Window::setupMenu(QMenuBar* menubar) {
|
||||||
m_gameActions.append(pause);
|
m_gameActions.append(pause);
|
||||||
emulationMenu->addAction(pause);
|
emulationMenu->addAction(pause);
|
||||||
|
|
||||||
QAction* frameAdvance = new QAction(tr("&Next frame"), nullptr);
|
QAction* frameAdvance = new QAction(tr("&Next frame"), emulationMenu);
|
||||||
frameAdvance->setShortcut(tr("Ctrl+N"));
|
frameAdvance->setShortcut(tr("Ctrl+N"));
|
||||||
connect(frameAdvance, SIGNAL(triggered()), m_controller, SLOT(frameAdvance()));
|
connect(frameAdvance, SIGNAL(triggered()), m_controller, SLOT(frameAdvance()));
|
||||||
m_gameActions.append(frameAdvance);
|
m_gameActions.append(frameAdvance);
|
||||||
emulationMenu->addAction(frameAdvance);
|
emulationMenu->addAction(frameAdvance);
|
||||||
|
|
||||||
QMenu* target = emulationMenu->addMenu("FPS target");
|
QMenu* target = emulationMenu->addMenu("FPS target");
|
||||||
QAction* setTarget = new QAction(tr("15"), nullptr);
|
QAction* setTarget = new QAction(tr("15"), emulationMenu);
|
||||||
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(15); });
|
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(15); });
|
||||||
target->addAction(setTarget);
|
target->addAction(setTarget);
|
||||||
setTarget = new QAction(tr("30"), nullptr);
|
setTarget = new QAction(tr("30"), emulationMenu);
|
||||||
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(30); });
|
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(30); });
|
||||||
target->addAction(setTarget);
|
target->addAction(setTarget);
|
||||||
setTarget = new QAction(tr("45"), nullptr);
|
setTarget = new QAction(tr("45"), emulationMenu);
|
||||||
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(45); });
|
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(45); });
|
||||||
target->addAction(setTarget);
|
target->addAction(setTarget);
|
||||||
setTarget = new QAction(tr("60"), nullptr);
|
setTarget = new QAction(tr("60"), emulationMenu);
|
||||||
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(60); });
|
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(60); });
|
||||||
target->addAction(setTarget);
|
target->addAction(setTarget);
|
||||||
setTarget = new QAction(tr("90"), nullptr);
|
setTarget = new QAction(tr("90"), emulationMenu);
|
||||||
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(90); });
|
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(90); });
|
||||||
target->addAction(setTarget);
|
target->addAction(setTarget);
|
||||||
setTarget = new QAction(tr("120"), nullptr);
|
setTarget = new QAction(tr("120"), emulationMenu);
|
||||||
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(120); });
|
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(120); });
|
||||||
target->addAction(setTarget);
|
target->addAction(setTarget);
|
||||||
setTarget = new QAction(tr("240"), nullptr);
|
setTarget = new QAction(tr("240"), emulationMenu);
|
||||||
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(240); });
|
connect(setTarget, &QAction::triggered, [this]() { emit fpsTargetChanged(240); });
|
||||||
target->addAction(setTarget);
|
target->addAction(setTarget);
|
||||||
|
|
||||||
QMenu* videoMenu = menubar->addMenu(tr("&Video"));
|
QMenu* videoMenu = menubar->addMenu(tr("&Video"));
|
||||||
QMenu* frameMenu = videoMenu->addMenu(tr("Frame &size"));
|
QMenu* frameMenu = videoMenu->addMenu(tr("Frame &size"));
|
||||||
QAction* setSize = new QAction(tr("1x"), nullptr);
|
QAction* setSize = new QAction(tr("1x"), videoMenu);
|
||||||
connect(setSize, &QAction::triggered, [this]() {
|
connect(setSize, &QAction::triggered, [this]() {
|
||||||
showNormal();
|
showNormal();
|
||||||
resize(VIDEO_HORIZONTAL_PIXELS, VIDEO_VERTICAL_PIXELS);
|
resize(VIDEO_HORIZONTAL_PIXELS, VIDEO_VERTICAL_PIXELS);
|
||||||
});
|
});
|
||||||
frameMenu->addAction(setSize);
|
frameMenu->addAction(setSize);
|
||||||
setSize = new QAction(tr("2x"), nullptr);
|
setSize = new QAction(tr("2x"), videoMenu);
|
||||||
connect(setSize, &QAction::triggered, [this]() {
|
connect(setSize, &QAction::triggered, [this]() {
|
||||||
showNormal();
|
showNormal();
|
||||||
resize(VIDEO_HORIZONTAL_PIXELS * 2, VIDEO_VERTICAL_PIXELS * 2);
|
resize(VIDEO_HORIZONTAL_PIXELS * 2, VIDEO_VERTICAL_PIXELS * 2);
|
||||||
});
|
});
|
||||||
frameMenu->addAction(setSize);
|
frameMenu->addAction(setSize);
|
||||||
setSize = new QAction(tr("3x"), nullptr);
|
setSize = new QAction(tr("3x"), videoMenu);
|
||||||
connect(setSize, &QAction::triggered, [this]() {
|
connect(setSize, &QAction::triggered, [this]() {
|
||||||
showNormal();
|
showNormal();
|
||||||
resize(VIDEO_HORIZONTAL_PIXELS * 3, VIDEO_VERTICAL_PIXELS * 3);
|
resize(VIDEO_HORIZONTAL_PIXELS * 3, VIDEO_VERTICAL_PIXELS * 3);
|
||||||
});
|
});
|
||||||
frameMenu->addAction(setSize);
|
frameMenu->addAction(setSize);
|
||||||
setSize = new QAction(tr("4x"), nullptr);
|
setSize = new QAction(tr("4x"), videoMenu);
|
||||||
connect(setSize, &QAction::triggered, [this]() {
|
connect(setSize, &QAction::triggered, [this]() {
|
||||||
showNormal();
|
showNormal();
|
||||||
resize(VIDEO_HORIZONTAL_PIXELS * 4, VIDEO_VERTICAL_PIXELS * 4);
|
resize(VIDEO_HORIZONTAL_PIXELS * 4, VIDEO_VERTICAL_PIXELS * 4);
|
||||||
|
@ -229,22 +229,22 @@ void Window::setupMenu(QMenuBar* menubar) {
|
||||||
|
|
||||||
QMenu* soundMenu = menubar->addMenu(tr("&Sound"));
|
QMenu* soundMenu = menubar->addMenu(tr("&Sound"));
|
||||||
QMenu* buffersMenu = soundMenu->addMenu(tr("Buffer &size"));
|
QMenu* buffersMenu = soundMenu->addMenu(tr("Buffer &size"));
|
||||||
QAction* setBuffer = new QAction(tr("512"), nullptr);
|
QAction* setBuffer = new QAction(tr("512"), buffersMenu);
|
||||||
connect(setBuffer, &QAction::triggered, [this]() { emit audioBufferSamplesChanged(512); });
|
connect(setBuffer, &QAction::triggered, [this]() { emit audioBufferSamplesChanged(512); });
|
||||||
buffersMenu->addAction(setBuffer);
|
buffersMenu->addAction(setBuffer);
|
||||||
setBuffer = new QAction(tr("1024"), nullptr);
|
setBuffer = new QAction(tr("1024"), buffersMenu);
|
||||||
connect(setBuffer, &QAction::triggered, [this]() { emit audioBufferSamplesChanged(1024); });
|
connect(setBuffer, &QAction::triggered, [this]() { emit audioBufferSamplesChanged(1024); });
|
||||||
buffersMenu->addAction(setBuffer);
|
buffersMenu->addAction(setBuffer);
|
||||||
setBuffer = new QAction(tr("2048"), nullptr);
|
setBuffer = new QAction(tr("2048"), buffersMenu);
|
||||||
connect(setBuffer, &QAction::triggered, [this]() { emit audioBufferSamplesChanged(2048); });
|
connect(setBuffer, &QAction::triggered, [this]() { emit audioBufferSamplesChanged(2048); });
|
||||||
buffersMenu->addAction(setBuffer);
|
buffersMenu->addAction(setBuffer);
|
||||||
|
|
||||||
QMenu* debuggingMenu = menubar->addMenu(tr("&Debugging"));
|
QMenu* debuggingMenu = menubar->addMenu(tr("&Debugging"));
|
||||||
QAction* viewLogs = new QAction(tr("View &logs..."), nullptr);
|
QAction* viewLogs = new QAction(tr("View &logs..."), debuggingMenu);
|
||||||
connect(viewLogs, SIGNAL(triggered()), m_logView, SLOT(show()));
|
connect(viewLogs, SIGNAL(triggered()), m_logView, SLOT(show()));
|
||||||
debuggingMenu->addAction(viewLogs);
|
debuggingMenu->addAction(viewLogs);
|
||||||
#ifdef USE_GDB_STUB
|
#ifdef USE_GDB_STUB
|
||||||
QAction* gdbWindow = new QAction(tr("Start &GDB server..."), nullptr);
|
QAction* gdbWindow = new QAction(tr("Start &GDB server..."), debuggingMenu);
|
||||||
connect(gdbWindow, SIGNAL(triggered()), this, SLOT(gdbOpen()));
|
connect(gdbWindow, SIGNAL(triggered()), this, SLOT(gdbOpen()));
|
||||||
debuggingMenu->addAction(gdbWindow);
|
debuggingMenu->addAction(gdbWindow);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue