all repos — mgba @ 1414955da0359fc446ed97f72ce089e0e2ed1a1e

mGBA Game Boy Advance Emulator

Qt: Allow overrides to be saved before a game is loaded
Vicki Pfau vi@endrift.com
Wed, 20 Sep 2017 22:39:45 -0700
commit

1414955da0359fc446ed97f72ce089e0e2ed1a1e

parent

380bc189c3d49a38ba294faaa80c6840d49febd0

3 files changed, 14 insertions(+), 5 deletions(-)

jump to
M CHANGESCHANGES

@@ -33,6 +33,7 @@ - Qt: Don't rebuild library view if style hasn't changed

- SDL: Fix 2.0.5 build on macOS under some circumstances - GBA: Detect hardware for Pokémon FireRed ROM hacks - CMake: Fix CPack dependencies for libpng 1.6 + - Qt: Allow overrides to be saved before a game is loaded 0.6.0: (2017-07-16) Features:
M src/platform/qt/OverrideView.cppsrc/platform/qt/OverrideView.cpp

@@ -105,7 +105,6 @@ #endif

connect(m_ui.buttonBox, &QDialogButtonBox::accepted, this, &OverrideView::saveOverride); connect(m_ui.buttonBox, &QDialogButtonBox::rejected, this, &QWidget::close); - m_ui.buttonBox->button(QDialogButtonBox::Save)->setEnabled(false); if (controller->isLoaded()) { gameStarted(controller->thread());

@@ -149,10 +148,15 @@ #endif

} void OverrideView::saveOverride() { - if (!m_config) { + Override* override = m_controller->override(); + if (!override) { return; } - m_config->saveOverride(*m_controller->override()); + if (m_controller->isLoaded()) { + m_config->saveOverride(*override); + } else { + m_savePending = true; + } } void OverrideView::updateOverrides() {

@@ -230,7 +234,6 @@ return;

} m_ui.tabWidget->setEnabled(false); - m_ui.buttonBox->button(QDialogButtonBox::Save)->setEnabled(true); switch (thread->core->platform(thread->core)) { #ifdef M_CORE_GBA

@@ -275,13 +278,17 @@ #endif

case PLATFORM_NONE: break; } + + if (m_savePending) { + m_savePending = false; + saveOverride(); + } } void OverrideView::gameStopped() { m_ui.tabWidget->setEnabled(true); m_ui.savetype->setCurrentIndex(0); m_ui.idleLoop->clear(); - m_ui.buttonBox->button(QDialogButtonBox::Save)->setEnabled(false); m_ui.mbc->setCurrentIndex(0); m_ui.gbModel->setCurrentIndex(0);
M src/platform/qt/OverrideView.hsrc/platform/qt/OverrideView.h

@@ -44,6 +44,7 @@ Ui::OverrideView m_ui;

GameController* m_controller; ConfigController* m_config; + bool m_savePending = false; #ifdef M_CORE_GB uint32_t m_gbColors[4]{};