ui: Warning for performance impact of softfloat

This commit is contained in:
cold-brewed
2024-03-21 07:54:09 -04:00
parent c6289fd85a
commit 57b064c412
3 changed files with 162 additions and 111 deletions

View File

@@ -61,6 +61,11 @@ SettingsMachine::SettingsMachine(QWidget *parent)
break; break;
} }
auto warning_icon = ui->softFloatWarningIcon->style()->standardIcon(QStyle::SP_MessageBoxWarning);
ui->softFloatWarningIcon->setPixmap(warning_icon.pixmap(warning_icon.actualSize(QSize(16, 16))));
ui->softFloatWarningIcon->setVisible(false);
ui->softFloatWarningText->setVisible(false);
auto *waitStatesModel = ui->comboBoxWaitStates->model(); auto *waitStatesModel = ui->comboBoxWaitStates->model();
waitStatesModel->insertRows(0, 9); waitStatesModel->insertRows(0, 9);
auto idx = waitStatesModel->index(0, 0); auto idx = waitStatesModel->index(0, 0);
@@ -337,3 +342,13 @@ SettingsMachine::on_pushButtonConfigure_clicked()
const auto *device = machine_get_device(machineId); const auto *device = machine_get_device(machineId);
DeviceConfig::ConfigureDevice(device, 0, qobject_cast<Settings *>(Settings::settings)); DeviceConfig::ConfigureDevice(device, 0, qobject_cast<Settings *>(Settings::settings));
} }
void SettingsMachine::on_checkBoxFPUSoftfloat_stateChanged(int state) {
if(state == Qt::Checked) {
ui->softFloatWarningIcon->setVisible(true);
ui->softFloatWarningText->setVisible(true);
} else {
ui->softFloatWarningIcon->setVisible(false);
ui->softFloatWarningText->setVisible(false);
}
}

View File

@@ -35,6 +35,7 @@ private slots:
private slots: private slots:
void on_comboBoxMachineType_currentIndexChanged(int index); void on_comboBoxMachineType_currentIndexChanged(int index);
void on_checkBoxFPUSoftfloat_stateChanged(int state);
private: private:
Ui::SettingsMachine *ui; Ui::SettingsMachine *ui;

View File

@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>458</width> <width>458</width>
<height>434</height> <height>459</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -41,13 +41,6 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Wait states:</string>
</property>
</widget>
</item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QComboBox" name="comboBoxMachineType"> <widget class="QComboBox" name="comboBoxMachineType">
<property name="maxVisibleItems"> <property name="maxVisibleItems">
@@ -55,6 +48,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>FPU:</string>
</property>
</widget>
</item>
<item row="5" column="0"> <item row="5" column="0">
<widget class="QLabel" name="label_6"> <widget class="QLabel" name="label_6">
<property name="text"> <property name="text">
@@ -69,55 +69,21 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="5" column="1">
<widget class="QWidget" name="widget_4" native="true"> <widget class="QSpinBox" name="spinBoxRAM">
<layout class="QHBoxLayout" name="horizontalLayout_3"> <property name="sizePolicy">
<property name="leftMargin"> <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<number>0</number> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
<property name="topMargin"> </sizepolicy>
<number>0</number> </property>
</property> </widget>
<property name="rightMargin"> </item>
<number>0</number> <item row="0" column="0">
</property> <widget class="QLabel" name="label">
<property name="bottomMargin"> <property name="text">
<number>0</number> <string>Machine type:</string>
</property> </property>
<item>
<widget class="QComboBox" name="comboBoxWaitStates">
<property name="maxVisibleItems">
<number>30</number>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_8">
<property name="text">
<string>PIT mode:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxPitMode">
<property name="maxVisibleItems">
<number>30</number>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
@@ -144,15 +110,15 @@
</property> </property>
<item> <item>
<widget class="QComboBox" name="comboBoxCPU"> <widget class="QComboBox" name="comboBoxCPU">
<property name="maxVisibleItems">
<number>30</number>
</property>
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@@ -167,27 +133,31 @@
</item> </item>
<item> <item>
<widget class="QComboBox" name="comboBoxSpeed"> <widget class="QComboBox" name="comboBoxSpeed">
<property name="maxVisibleItems">
<number>30</number>
</property>
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="5" column="1"> <item row="4" column="0">
<widget class="QSpinBox" name="spinBoxRAM"> <widget class="QLabel" name="label_5">
<property name="sizePolicy"> <property name="text">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed"> <string>Wait states:</string>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> </widget>
</sizepolicy> </item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Machine:</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -229,55 +199,120 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="0" column="0"> <item row="4" column="1">
<widget class="QLabel" name="label"> <widget class="QWidget" name="widget_4" native="true">
<property name="text"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<string>Machine type:</string> <property name="leftMargin">
</property> <number>0</number>
</widget> </property>
</item> <property name="topMargin">
<item row="1" column="0"> <number>0</number>
<widget class="QLabel" name="label_2"> </property>
<property name="text"> <property name="rightMargin">
<string>Machine:</string> <number>0</number>
</property> </property>
</widget> <property name="bottomMargin">
</item> <number>0</number>
<item row="3" column="0"> </property>
<widget class="QLabel" name="label_4"> <item>
<property name="text"> <widget class="QComboBox" name="comboBoxWaitStates">
<string>FPU:</string> <property name="sizePolicy">
</property> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_8">
<property name="text">
<string>PIT mode:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxPitMode">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="checkBoxDynamicRecompiler"> <layout class="QHBoxLayout" name="dynamicRecompilerLayout">
<property name="sizePolicy"> <item>
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <widget class="QCheckBox" name="checkBoxDynamicRecompiler">
<horstretch>2</horstretch> <property name="sizePolicy">
<verstretch>2</verstretch> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
</sizepolicy> <horstretch>2</horstretch>
</property> <verstretch>2</verstretch>
<property name="text"> </sizepolicy>
<string>Dynamic Recompiler</string> </property>
</property> <property name="text">
</widget> <string>Dynamic Recompiler</string>
</property>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="checkBoxFPUSoftfloat"> <layout class="QHBoxLayout" name="softFloatLayout">
<property name="sizePolicy"> <item>
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <widget class="QCheckBox" name="checkBoxFPUSoftfloat">
<horstretch>3</horstretch> <property name="sizePolicy">
<verstretch>3</verstretch> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</sizepolicy> <horstretch>3</horstretch>
</property> <verstretch>3</verstretch>
<property name="text"> </sizepolicy>
<string>Softfloat FPU</string> </property>
</property> <property name="text">
</widget> <string>Softfloat FPU</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="softFloatWarningIcon">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="softFloatWarningText">
<property name="text">
<string>High performance impact</string>
</property>
</widget>
</item>
<item>
<spacer name="softFloatHorizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">