System: Prevent using both runahead and rewind concurrently

This commit is contained in:
Connor McLaughlin
2021-01-25 00:56:03 +10:00
parent 3f96473fb5
commit b3ce2b21c0
2 changed files with 25 additions and 3 deletions

View File

@ -101,7 +101,7 @@ void EmulationSettingsWidget::onTurboSpeedIndexChanged(int index)
void EmulationSettingsWidget::updateRewindSummaryLabel()
{
if (m_ui.rewindEnable->isChecked())
if (m_ui.rewindEnable->isEnabled() && m_ui.rewindEnable->isChecked())
{
const u32 frames = static_cast<u32>(m_ui.rewindSaveSlots->value());
const float frequency = static_cast<float>(m_ui.rewindSaveFrequency->value());
@ -122,8 +122,15 @@ void EmulationSettingsWidget::updateRewindSummaryLabel()
}
else
{
m_ui.rewindSummary->setText(
tr("Rewind is not enabled. Please note that enabling rewind may significantly increase system requirements."));
if (!m_ui.rewindEnable->isEnabled())
{
m_ui.rewindSummary->setText(tr("Rewind is disabled because runahead is enabled."));
}
else
{
m_ui.rewindSummary->setText(
tr("Rewind is not enabled. Please note that enabling rewind may significantly increase system requirements."));
}
m_ui.rewindSaveFrequency->setEnabled(false);
m_ui.rewindSaveSlots->setEnabled(false);
}
@ -132,4 +139,6 @@ void EmulationSettingsWidget::updateRewindSummaryLabel()
void EmulationSettingsWidget::updateRunaheadFields()
{
m_ui.runaheadFrames->setEnabled(m_ui.runaheadEnable->isChecked());
m_ui.rewindEnable->setEnabled(!m_ui.runaheadEnable->isChecked());
updateRewindSummaryLabel();
}