Qt: Separate out new Gameplay settings tab

This commit is contained in:
Vicki Pfau 2022-07-17 21:53:30 -07:00
parent e56653319e
commit ca484d38b8
3 changed files with 538 additions and 491 deletions

View File

@ -35,16 +35,17 @@ SettingsView::SettingsView(ConfigController* controller, InputController* inputC
m_ui.setupUi(this);
m_pageIndex[Page::AV] = 0;
m_pageIndex[Page::INTERFACE] = 1;
m_pageIndex[Page::UPDATE] = 2;
m_pageIndex[Page::EMULATION] = 3;
m_pageIndex[Page::ENHANCEMENTS] = 4;
m_pageIndex[Page::BIOS] = 5;
m_pageIndex[Page::PATHS] = 6;
m_pageIndex[Page::LOGGING] = 7;
m_pageIndex[Page::GAMEPLAY] = 1;
m_pageIndex[Page::INTERFACE] = 2;
m_pageIndex[Page::UPDATE] = 3;
m_pageIndex[Page::EMULATION] = 4;
m_pageIndex[Page::ENHANCEMENTS] = 5;
m_pageIndex[Page::BIOS] = 6;
m_pageIndex[Page::PATHS] = 7;
m_pageIndex[Page::LOGGING] = 8;
#ifdef M_CORE_GB
m_pageIndex[Page::GB] = 8;
m_pageIndex[Page::GB] = 9;
for (auto model : GameBoy::modelList()) {
m_ui.gbModel->addItem(GameBoy::modelName(model), model);

View File

@ -34,6 +34,7 @@ public:
enum class Page {
AV,
INTERFACE,
GAMEPLAY,
UPDATE,
EMULATION,
ENHANCEMENTS,

View File

@ -45,6 +45,11 @@
<string>Audio/Video</string>
</property>
</item>
<item>
<property name="text">
<string>Gameplay</string>
</property>
</item>
<item>
<property name="text">
<string>Interface</string>
@ -87,23 +92,19 @@
</item>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QStackedWidget" name="stackedWidget">
<property name="currentIndex">
<number>0</number>
<number>9</number>
</property>
<widget class="QWidget" name="av">
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::FieldsStayAtSizeHint</enum>
<layout class="QVBoxLayout" name="formLayout">
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Audio</string>
</property>
<layout class="QFormLayout" name="formLayout_12">
<item row="0" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
@ -238,14 +239,14 @@
</item>
</layout>
</item>
<item row="3" column="0">
<item row="4" column="0">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Volume:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="4" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QSlider" name="volume">
@ -278,14 +279,14 @@
</item>
</layout>
</item>
<item row="4" column="0">
<item row="5" column="0">
<widget class="QLabel" name="label_34">
<property name="text">
<string>Fast forward volume:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<item row="5" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_17">
<item>
<widget class="QSlider" name="volumeFf">
@ -318,14 +319,14 @@
</item>
</layout>
</item>
<item row="5" column="0">
<item row="7" column="0">
<widget class="QLabel" name="label_43">
<property name="text">
<string>Audio in multiplayer:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<item row="7" column="1">
<widget class="QRadioButton" name="multiplayerAudioAll">
<property name="text">
<string>All windows</string>
@ -338,7 +339,7 @@
</attribute>
</widget>
</item>
<item row="6" column="1">
<item row="8" column="1">
<widget class="QRadioButton" name="multiplayerAudio1">
<property name="text">
<string>Player 1 window only</string>
@ -348,7 +349,7 @@
</attribute>
</widget>
</item>
<item row="7" column="1">
<item row="9" column="1">
<widget class="QRadioButton" name="multiplayerAudioActive">
<property name="text">
<string>Currently active player window</string>
@ -358,21 +359,37 @@
</attribute>
</widget>
</item>
<item row="8" column="0" colspan="2">
<item row="3" column="0" colspan="2">
<widget class="Line" name="line_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="9" column="0">
<item row="6" column="0" colspan="2">
<widget class="Line" name="line_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>Video</string>
</property>
<layout class="QFormLayout" name="formLayout_13">
<item row="0" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Display driver:</string>
</property>
</widget>
</item>
<item row="9" column="1">
<item row="0" column="1">
<widget class="QComboBox" name="displayDriver">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@ -382,14 +399,14 @@
</property>
</widget>
</item>
<item row="10" column="0">
<item row="1" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Frameskip:</string>
</property>
</widget>
</item>
<item row="10" column="1">
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_16">
<item>
<widget class="QLabel" name="label_12">
@ -410,14 +427,56 @@
</item>
</layout>
</item>
<item row="11" column="0">
<item row="3" column="1">
<widget class="QCheckBox" name="lockAspectRatio">
<property name="text">
<string>Lock aspect ratio</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="lockIntegerScaling">
<property name="text">
<string>Force integer scaling</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="interframeBlending">
<property name="text">
<string>Interframe blending</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QCheckBox" name="resampleVideo">
<property name="text">
<string>Bilinear filtering</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="Line" name="line_12">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="gameplay">
<layout class="QFormLayout" name="formLayout_14">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>FPS target:</string>
</property>
</widget>
</item>
<item row="11" column="1">
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QDoubleSpinBox" name="fpsTarget">
@ -444,28 +503,21 @@
</item>
</layout>
</item>
<item row="12" column="1">
<item row="1" column="1">
<widget class="QPushButton" name="nativeGB">
<property name="text">
<string>Native (59.7275)</string>
</property>
</widget>
</item>
<item row="13" column="0" colspan="2">
<widget class="Line" name="line_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="14" column="0">
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Sync:</string>
</property>
</widget>
</item>
<item row="14" column="1">
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QCheckBox" name="videoSync">
@ -483,31 +535,160 @@
</item>
</layout>
</item>
<item row="15" column="1">
<widget class="QCheckBox" name="lockAspectRatio">
<item row="3" column="0" colspan="2">
<widget class="Line" name="line_16">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_24">
<property name="text">
<string>Lock aspect ratio</string>
<string>On loading a game:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="autoload">
<property name="text">
<string>Load last state</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="cheatAutoload">
<property name="text">
<string>Load cheats</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<widget class="Line" name="line_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QCheckBox" name="autosave">
<property name="text">
<string>Periodally autosave state</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QCheckBox" name="cheatAutosave">
<property name="text">
<string>Save entered cheats</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="9" column="0" colspan="2">
<widget class="Line" name="line_21">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_51">
<property name="text">
<string>Save state extra data:</string>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QCheckBox" name="saveStateScreenshot">
<property name="text">
<string>Screenshot</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QCheckBox" name="saveStateSave">
<property name="text">
<string>Save game</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QCheckBox" name="saveStateCheats">
<property name="text">
<string>Cheat codes</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="13" column="0" colspan="2">
<widget class="Line" name="line_22">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QLabel" name="label_52">
<property name="text">
<string>Load state extra data:</string>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QCheckBox" name="loadStateScreenshot">
<property name="text">
<string>Screenshot</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="15" column="1">
<widget class="QCheckBox" name="loadStateSave">
<property name="text">
<string>Save game</string>
</property>
</widget>
</item>
<item row="16" column="1">
<widget class="QCheckBox" name="lockIntegerScaling">
<widget class="QCheckBox" name="loadStateCheats">
<property name="text">
<string>Force integer scaling</string>
<string>Cheat codes</string>
</property>
</widget>
</item>
<item row="17" column="1">
<widget class="QCheckBox" name="interframeBlending">
<property name="text">
<string>Interframe blending</string>
<item row="17" column="0" colspan="2">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="18" column="1">
<widget class="QCheckBox" name="resampleVideo">
<widget class="QCheckBox" name="useDiscordPresence">
<property name="text">
<string>Bilinear filtering</string>
<string>Enable Discord Rich Presence</string>
</property>
</widget>
</item>
@ -726,67 +907,6 @@
</item>
</layout>
</item>
<item row="18" column="1">
<widget class="QCheckBox" name="useDiscordPresence">
<property name="text">
<string>Enable Discord Rich Presence</string>
</property>
</widget>
</item>
<item row="19" column="0" colspan="2">
<widget class="Line" name="line_13">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="20" column="1">
<widget class="QCheckBox" name="autosave">
<property name="text">
<string>Automatically save state</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="21" column="1">
<widget class="QCheckBox" name="autoload">
<property name="text">
<string>Automatically load state</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="22" column="0" colspan="2">
<widget class="Line" name="line_16">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="23" column="1">
<widget class="QCheckBox" name="cheatAutosave">
<property name="text">
<string>Automatically save cheats</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="24" column="1">
<widget class="QCheckBox" name="cheatAutoload">
<property name="text">
<string>Automatically load cheats</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="update">
@ -1097,88 +1217,6 @@
</property>
</widget>
</item>
<item row="11" column="0" colspan="2">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="label_24">
<property name="text">
<string>Save state extra data:</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QCheckBox" name="saveStateScreenshot">
<property name="text">
<string>Screenshot</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QCheckBox" name="saveStateSave">
<property name="text">
<string>Save game</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QCheckBox" name="saveStateCheats">
<property name="text">
<string>Cheat codes</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="15" column="0" colspan="2">
<widget class="Line" name="line_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="16" column="0">
<widget class="QLabel" name="label_25">
<property name="text">
<string>Load state extra data:</string>
</property>
</widget>
</item>
<item row="16" column="1">
<widget class="QCheckBox" name="loadStateScreenshot">
<property name="text">
<string>Screenshot</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="17" column="1">
<widget class="QCheckBox" name="loadStateSave">
<property name="text">
<string>Save game</string>
</property>
</widget>
</item>
<item row="18" column="1">
<widget class="QCheckBox" name="loadStateCheats">
<property name="text">
<string>Cheat codes</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="enhancements">
@ -2146,6 +2184,13 @@
</widget>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>