diff --git a/src/duckstation-qt/gamepropertiesdialog.cpp b/src/duckstation-qt/gamepropertiesdialog.cpp index d5f0846bb..be868e215 100644 --- a/src/duckstation-qt/gamepropertiesdialog.cpp +++ b/src/duckstation-qt/gamepropertiesdialog.cpp @@ -311,6 +311,7 @@ void GamePropertiesDialog::populateGameSettings() populateBooleanUserSetting(m_ui.userEnableCPUClockSpeedControl, gs.cpu_overclock_enable); populateBooleanUserSetting(m_ui.userEnable8MBRAM, gs.enable_8mb_ram); + m_ui.userCPUClockSpeed->setEnabled(m_ui.userEnableCPUClockSpeedControl->checkState() != Qt::Unchecked); updateCPUClockSpeedLabel(); if (gs.cdrom_read_speedup.has_value()) @@ -567,7 +568,7 @@ void GamePropertiesDialog::connectUi() connectBooleanUserSetting(m_ui.userEnableCPUClockSpeedControl, &m_game_settings.cpu_overclock_enable); connectBooleanUserSetting(m_ui.userEnable8MBRAM, &m_game_settings.enable_8mb_ram); connect(m_ui.userEnableCPUClockSpeedControl, &QCheckBox::stateChanged, this, - &GamePropertiesDialog::updateCPUClockSpeedLabel); + &GamePropertiesDialog::onEnableCPUClockSpeedControlChecked); connect(m_ui.userCPUClockSpeed, &QSlider::valueChanged, [this](int value) { if (value == 100) @@ -856,11 +857,18 @@ void GamePropertiesDialog::connectUi() void GamePropertiesDialog::updateCPUClockSpeedLabel() { - const int percent = m_ui.userCPUClockSpeed->value(); + const int percent = + m_ui.userEnableCPUClockSpeedControl->checkState() != Qt::Unchecked ? m_ui.userCPUClockSpeed->value() : 100; const double frequency = (static_cast(System::MASTER_CLOCK) * static_cast(percent)) / 100.0; m_ui.userCPUClockSpeedLabel->setText(tr("%1% (%2MHz)").arg(percent).arg(frequency / 1000000.0, 0, 'f', 2)); } +void GamePropertiesDialog::onEnableCPUClockSpeedControlChecked(int state) +{ + m_ui.userCPUClockSpeed->setEnabled(state != Qt::Unchecked); + updateCPUClockSpeedLabel(); +} + void GamePropertiesDialog::onUserAspectRatioChanged() { const int index = m_ui.userAspectRatio->currentIndex(); diff --git a/src/duckstation-qt/gamepropertiesdialog.h b/src/duckstation-qt/gamepropertiesdialog.h index d42ebfd85..be4c83395 100644 --- a/src/duckstation-qt/gamepropertiesdialog.h +++ b/src/duckstation-qt/gamepropertiesdialog.h @@ -37,6 +37,7 @@ private Q_SLOTS: void onVerifyDumpClicked(); void onExportCompatibilityInfoClicked(); void updateCPUClockSpeedLabel(); + void onEnableCPUClockSpeedControlChecked(int state); private: void setupAdditionalUi();