Qt: Fix up debug CPU mode switch menu
This commit is contained in:
parent
057263bda3
commit
e4e15f234b
|
@ -222,12 +222,26 @@ void MainWindow::setupAdditionalUi()
|
||||||
m_status_frame_time_widget->setFixedSize(190, 16);
|
m_status_frame_time_widget->setFixedSize(190, 16);
|
||||||
m_status_frame_time_widget->hide();
|
m_status_frame_time_widget->hide();
|
||||||
|
|
||||||
|
for (u32 i = 0; i < static_cast<u32>(CPUExecutionMode::Count); i++)
|
||||||
|
{
|
||||||
|
const CPUExecutionMode mode = static_cast<CPUExecutionMode>(i);
|
||||||
|
QAction* action = m_ui.menuCPUExecutionMode->addAction(tr(Settings::GetCPUExecutionModeDisplayName(mode)));
|
||||||
|
action->setCheckable(true);
|
||||||
|
connect(action, &QAction::triggered, [this, mode]() {
|
||||||
|
m_host_interface->putSettingValue(QStringLiteral("CPU/ExecutionMode"),
|
||||||
|
QString(Settings::GetCPUExecutionModeName(mode)));
|
||||||
|
m_host_interface->applySettings();
|
||||||
|
updateDebugMenuCPUExecutionMode();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
updateDebugMenuCPUExecutionMode();
|
||||||
|
|
||||||
for (u32 i = 0; i < static_cast<u32>(GPURenderer::Count); i++)
|
for (u32 i = 0; i < static_cast<u32>(GPURenderer::Count); i++)
|
||||||
{
|
{
|
||||||
const GPURenderer renderer = static_cast<GPURenderer>(i);
|
const GPURenderer renderer = static_cast<GPURenderer>(i);
|
||||||
QAction* action = m_ui.menuRenderer->addAction(tr(Settings::GetRendererDisplayName(renderer)));
|
QAction* action = m_ui.menuRenderer->addAction(tr(Settings::GetRendererDisplayName(renderer)));
|
||||||
action->setCheckable(true);
|
action->setCheckable(true);
|
||||||
connect(action, &QAction::triggered, [this, action, renderer]() {
|
connect(action, &QAction::triggered, [this, renderer]() {
|
||||||
m_host_interface->putSettingValue(QStringLiteral("GPU/Renderer"), QString(Settings::GetRendererName(renderer)));
|
m_host_interface->putSettingValue(QStringLiteral("GPU/Renderer"), QString(Settings::GetRendererName(renderer)));
|
||||||
m_host_interface->applySettings();
|
m_host_interface->applySettings();
|
||||||
});
|
});
|
||||||
|
@ -396,21 +410,36 @@ void MainWindow::doSettings(SettingsDialog::Category category)
|
||||||
dlg->setCategory(category);
|
dlg->setCategory(category);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::updateDebugMenuCPUExecutionMode()
|
||||||
|
{
|
||||||
|
std::optional<CPUExecutionMode> current_mode = Settings::ParseCPUExecutionMode(
|
||||||
|
m_host_interface->getSettingValue(QStringLiteral("CPU/ExecutionMode")).toString().toStdString().c_str());
|
||||||
|
if (!current_mode.has_value())
|
||||||
|
return;
|
||||||
|
|
||||||
|
const QString current_mode_display_name(tr(Settings::GetCPUExecutionModeDisplayName(current_mode.value())));
|
||||||
|
for (QObject* obj : m_ui.menuCPUExecutionMode->children())
|
||||||
|
{
|
||||||
|
QAction* action = qobject_cast<QAction*>(obj);
|
||||||
|
if (action)
|
||||||
|
action->setChecked(action->text() == current_mode_display_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::updateDebugMenuGPURenderer()
|
void MainWindow::updateDebugMenuGPURenderer()
|
||||||
{
|
{
|
||||||
// update the menu with the new selected renderer
|
// update the menu with the new selected renderer
|
||||||
std::optional<GPURenderer> current_renderer = Settings::ParseRendererName(
|
std::optional<GPURenderer> current_renderer = Settings::ParseRendererName(
|
||||||
m_host_interface->getSettingValue(QStringLiteral("GPU/Renderer")).toString().toStdString().c_str());
|
m_host_interface->getSettingValue(QStringLiteral("GPU/Renderer")).toString().toStdString().c_str());
|
||||||
if (current_renderer.has_value())
|
if (!current_renderer.has_value())
|
||||||
|
return;
|
||||||
|
|
||||||
|
const QString current_renderer_display_name(tr(Settings::GetRendererDisplayName(current_renderer.value())));
|
||||||
|
for (QObject* obj : m_ui.menuRenderer->children())
|
||||||
{
|
{
|
||||||
const QString current_renderer_display_name(
|
QAction* action = qobject_cast<QAction*>(obj);
|
||||||
QString::fromUtf8(Settings::GetRendererDisplayName(current_renderer.value())));
|
if (action)
|
||||||
for (QObject* obj : m_ui.menuRenderer->children())
|
action->setChecked(action->text() == current_renderer_display_name);
|
||||||
{
|
|
||||||
QAction* action = qobject_cast<QAction*>(obj);
|
|
||||||
if (action)
|
|
||||||
action->setChecked(action->text() == current_renderer_display_name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,7 @@ private:
|
||||||
void switchToEmulationView();
|
void switchToEmulationView();
|
||||||
SettingsDialog* getSettingsDialog();
|
SettingsDialog* getSettingsDialog();
|
||||||
void doSettings(SettingsDialog::Category category = SettingsDialog::Category::Count);
|
void doSettings(SettingsDialog::Category category = SettingsDialog::Category::Count);
|
||||||
|
void updateDebugMenuCPUExecutionMode();
|
||||||
void updateDebugMenuGPURenderer();
|
void updateDebugMenuGPURenderer();
|
||||||
void populateLoadSaveStateMenus(QString game_code);
|
void populateLoadSaveStateMenus(QString game_code);
|
||||||
|
|
||||||
|
|
|
@ -117,9 +117,6 @@
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Switch CPU Emulation Mode</string>
|
<string>Switch CPU Emulation Mode</string>
|
||||||
</property>
|
</property>
|
||||||
<addaction name="actionCPUExecutionModeInterpreter"/>
|
|
||||||
<addaction name="actionCPUExecutionModeCachedInterpreter"/>
|
|
||||||
<addaction name="actionCPUExecutionModeRecompiler"/>
|
|
||||||
</widget>
|
</widget>
|
||||||
<addaction name="menuCPUExecutionMode"/>
|
<addaction name="menuCPUExecutionMode"/>
|
||||||
<addaction name="menuRenderer"/>
|
<addaction name="menuRenderer"/>
|
||||||
|
@ -288,30 +285,6 @@
|
||||||
<string>Fullscreen</string>
|
<string>Fullscreen</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionCPUExecutionModeInterpreter">
|
|
||||||
<property name="checkable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Interpreter (Slowest)</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actionCPUExecutionModeCachedInterpreter">
|
|
||||||
<property name="checkable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Cached Interpreter (Slower)</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actionCPUExecutionModeRecompiler">
|
|
||||||
<property name="checkable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Recompiler (Fastest)</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actionResolution_Scale">
|
<action name="actionResolution_Scale">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Resolution Scale</string>
|
<string>Resolution Scale</string>
|
||||||
|
|
Loading…
Reference in New Issue