GameSettings: Add multitap mode

This commit is contained in:
Connor McLaughlin
2021-03-03 21:43:20 +10:00
parent 1d00f96f89
commit 05ac272c3f
6 changed files with 68 additions and 20 deletions

View File

@ -152,6 +152,12 @@ void GamePropertiesDialog::setupAdditionalUi()
qApp->translate("GPUTextureFilter", Settings::GetTextureFilterDisplayName(static_cast<GPUTextureFilter>(i))));
}
m_ui.userMultitapMode->addItem(tr("(unchanged)"));
for (u32 i = 0; i < static_cast<u32>(MultitapMode::Count); i++)
{
m_ui.userMultitapMode->addItem(
qApp->translate("MultitapMode", Settings::GetMultitapModeDisplayName(static_cast<MultitapMode>(i))));
}
m_ui.userControllerType1->addItem(tr("(unchanged)"));
for (u32 i = 0; i < static_cast<u32>(ControllerType::Count); i++)
{
@ -409,6 +415,11 @@ void GamePropertiesDialog::populateGameSettings()
populateBooleanUserSetting(m_ui.userPGXPProjectionPrecision, gs.gpu_pgxp_projection_precision);
populateBooleanUserSetting(m_ui.userPGXPDepthBuffer, gs.gpu_pgxp_depth_buffer);
if (gs.multitap_mode.has_value())
{
QSignalBlocker sb(m_ui.userMultitapMode);
m_ui.userMultitapMode->setCurrentIndex(static_cast<int>(gs.multitap_mode.value()) + 1);
}
if (gs.controller_1_type.has_value())
{
QSignalBlocker sb(m_ui.userControllerType1);
@ -605,6 +616,14 @@ void GamePropertiesDialog::connectUi()
connectBooleanUserSetting(m_ui.userPGXPProjectionPrecision, &m_game_settings.gpu_pgxp_projection_precision);
connectBooleanUserSetting(m_ui.userPGXPDepthBuffer, &m_game_settings.gpu_pgxp_depth_buffer);
connect(m_ui.userMultitapMode, QOverload<int>::of(&QComboBox::currentIndexChanged), [this](int index) {
if (index <= 0)
m_game_settings.multitap_mode.reset();
else
m_game_settings.multitap_mode = static_cast<MultitapMode>(index - 1);
saveGameSettings();
});
connect(m_ui.userControllerType1, QOverload<int>::of(&QComboBox::currentIndexChanged), [this](int index) {
if (index <= 0)
m_game_settings.controller_1_type.reset();

View File

@ -613,36 +613,46 @@
<string>Controller Settings</string>
</property>
<layout class="QFormLayout" name="formLayout_4">
<item row="0" column="0">
<item row="1" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Controller 1 Type:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<item row="1" column="1">
<widget class="QComboBox" name="userControllerType1"/>
</item>
<item row="1" column="0">
<item row="2" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>Controller 2 Type:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<item row="2" column="1">
<widget class="QComboBox" name="userControllerType2"/>
</item>
<item row="2" column="0">
<item row="3" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Input Profile For Bindings:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<item row="3" column="1">
<widget class="QComboBox" name="userInputProfile"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_33">
<property name="text">
<string>Multitap Mode:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="userMultitapMode"/>
</item>
</layout>
</widget>
</item>