Duckstation/src/duckstation-qt/consolesettingswidget.cpp

37 lines
1.7 KiB
C++
Raw Normal View History

2019-12-31 06:17:17 +00:00
#include "consolesettingswidget.h"
2020-01-01 04:01:58 +00:00
#include "settingwidgetbinder.h"
#include <QtWidgets/QFileDialog>
static constexpr char BIOS_IMAGE_FILTER[] = "Binary Images (*.bin);;All Files (*.*)";
2019-12-31 06:17:17 +00:00
2020-01-01 04:01:58 +00:00
ConsoleSettingsWidget::ConsoleSettingsWidget(QtHostInterface* host_interface, QWidget* parent /* = nullptr */)
: QWidget(parent), m_host_interface(host_interface)
2019-12-31 06:17:17 +00:00
{
m_ui.setupUi(this);
2020-01-01 04:01:58 +00:00
SettingWidgetBinder::BindWidgetToEnumSetting(m_host_interface, m_ui.region, "Console/Region",
&Settings::ParseConsoleRegionName, &Settings::GetConsoleRegionName);
SettingWidgetBinder::BindWidgetToStringSetting(m_host_interface, m_ui.biosPath, "BIOS/Path");
SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.enableTTYOutput, "BIOS/PatchTTYEnable");
SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.fastBoot, "BIOS/PatchFastBoot");
SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.enableSpeedLimiter,
"General/SpeedLimiterEnabled");
SettingWidgetBinder::BindWidgetToBoolSetting(m_host_interface, m_ui.pauseOnStart, "General/StartPaused");
connect(m_ui.biosPathBrowse, &QPushButton::pressed, this, &ConsoleSettingsWidget::onBrowseBIOSPathButtonClicked);
2019-12-31 06:17:17 +00:00
}
ConsoleSettingsWidget::~ConsoleSettingsWidget() = default;
void ConsoleSettingsWidget::onBrowseBIOSPathButtonClicked()
{
QString path = QFileDialog::getOpenFileName(this, tr("Select BIOS Image"), QString(), tr(BIOS_IMAGE_FILTER));
if (path.isEmpty())
return;
m_ui.biosPath->setText(path);
m_host_interface->putSettingValue("BIOS/Path", path);
m_host_interface->applySettings();
}