From c9d8cd3613633dbf660a76a2db6cae90604a05bb Mon Sep 17 00:00:00 2001 From: Megamouse Date: Sat, 20 Oct 2018 11:34:38 +0200 Subject: [PATCH] Qt: refactor settings_dialog and add EnhanceSlider --- rpcs3/rpcs3qt/settings_dialog.cpp | 78 +++++++++++++++---------------- rpcs3/rpcs3qt/settings_dialog.h | 2 + 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index fa47bd3f19..da2a009b88 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -358,7 +358,9 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: { // List found unselected modules if (prxf.is_directory || (prxf.name.substr(std::max(size_t(3), prxf.name.length()) - 4)) != "sprx") + { continue; + } if (verify_npdrm_self_headers(fs::file(lle_dir + prxf.name)) && !set.count(prxf.name)) { lle_module_list_unselected.push_back(prxf.name); @@ -535,7 +537,10 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: int resolutionScaleDef = stoi(xemu_settings->GetSettingDefault(emu_settings::ResolutionScale)); auto ScaledResolution = [resolutionScaleDef](int percentage) { - if (percentage == resolutionScaleDef) return QString(tr("100% (Default)")); + if (percentage == resolutionScaleDef) + { + return QString(tr("100% (Default)")); + } return QString("%1% (%2x%3)").arg(percentage).arg(1280 * percentage / 100).arg(720 * percentage / 100); }; ui->resolutionScale->setPageStep(50); @@ -560,7 +565,10 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: int minimumScalableDimensionDef = stoi(xemu_settings->GetSettingDefault(emu_settings::MinimumScalableDimension)); auto MinScalableDimension = [minimumScalableDimensionDef](int dim) { - if (dim == minimumScalableDimensionDef) return tr("%1x%1 (Default)").arg(dim); + if (dim == minimumScalableDimensionDef) + { + return tr("%1x%1 (Default)").arg(dim); + } return QString("%1x%1").arg(dim); }; ui->minimumScalableDimension->setPageStep(64); @@ -604,7 +612,10 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: auto setRenderer = [=](QString text) { - if (text.isEmpty()) return; + if (text.isEmpty()) + { + return; + } auto switchTo = [=](emu_settings::Render_Info renderer) { @@ -659,7 +670,10 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: auto setAdapter = [=](QString text) { - if (text.isEmpty()) return; + if (text.isEmpty()) + { + return; + } // don't set adapter if signal was created by switching render QString newRender = ui->renderBox->currentText(); @@ -724,13 +738,8 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: // Sliders - xemu_settings->EnhanceSlider(ui->masterVolume, emu_settings::MasterVolume); + EnhanceSlider(emu_settings::MasterVolume, ui->masterVolume, ui->masterVolumeLabel, tr("Master: %0 %")); SubscribeTooltip(ui->masterVolume, json_audio["masterVolume"].toString()); - ui->masterVolumeLabel->setText(tr("Master: %0%").arg(ui->masterVolume->value())); - connect(ui->masterVolume, &QSlider::valueChanged, [this](int value) - { - ui->masterVolumeLabel->setText(tr("Master: %0%").arg(value)); - }); // _____ __ ____ _______ _ // |_ _| / / / __ \ |__ __| | | @@ -914,45 +923,20 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: // Sliders - xemu_settings->EnhanceSlider(ui->perfOverlayUpdateInterval, emu_settings::PerfOverlayUpdateInterval); + EnhanceSlider(emu_settings::PerfOverlayUpdateInterval, ui->perfOverlayUpdateInterval, ui->label_update_interval, tr("Update Interval: %0 ms")); SubscribeTooltip(ui->perfOverlayUpdateInterval, json_emu_overlay["perfOverlayUpdateInterval"].toString()); - ui->label_update_interval->setText(tr("Update Interval: %0 ms").arg(ui->perfOverlayUpdateInterval->value())); - connect(ui->perfOverlayUpdateInterval, &QSlider::valueChanged, [this](int value) - { - ui->label_update_interval->setText(tr("Update Interval: %0 ms").arg(value)); - }); - xemu_settings->EnhanceSlider(ui->perfOverlayFontSize, emu_settings::PerfOverlayFontSize); + EnhanceSlider(emu_settings::PerfOverlayFontSize, ui->perfOverlayFontSize, ui->label_font_size, tr("Font Size: %0 px")); SubscribeTooltip(ui->perfOverlayFontSize, json_emu_overlay["perfOverlayFontSize"].toString()); - ui->label_font_size->setText(tr("Font Size: %0 px").arg(ui->perfOverlayFontSize->value())); - connect(ui->perfOverlayFontSize, &QSlider::valueChanged, [this](int value) - { - ui->label_font_size->setText(tr("Font Size: %0 px").arg(value)); - }); - xemu_settings->EnhanceSlider(ui->perfOverlayOpacity, emu_settings::PerfOverlayOpacity); + EnhanceSlider(emu_settings::PerfOverlayOpacity, ui->perfOverlayOpacity, ui->label_opacity, tr("Opacity: %0 %")); SubscribeTooltip(ui->perfOverlayOpacity, json_emu_overlay["perfOverlayOpacity"].toString()); - ui->label_opacity->setText(tr("Opacity: %0 %").arg(ui->perfOverlayOpacity->value())); - connect(ui->perfOverlayOpacity, &QSlider::valueChanged, [this](int value) - { - ui->label_opacity->setText(tr("Opacity: %0 %").arg(value)); - }); - xemu_settings->EnhanceSlider(ui->shaderLoadBgDarkening, emu_settings::ShaderLoadBgDarkening); + EnhanceSlider(emu_settings::ShaderLoadBgDarkening, ui->shaderLoadBgDarkening, ui->label_shaderLoadBgDarkening, tr("Background darkening: %0 %")); SubscribeTooltip(ui->shaderLoadBgDarkening, json_emu_shaders["shaderLoadBgDarkening"].toString()); - ui->label_shaderLoadBgDarkening->setText(tr("Background darkening: %0 %").arg(ui->shaderLoadBgDarkening->value())); - connect(ui->shaderLoadBgDarkening, &QSlider::valueChanged, [this](int value) - { - ui->label_shaderLoadBgDarkening->setText(tr("Background darkening: %0 %").arg(value)); - }); - xemu_settings->EnhanceSlider(ui->shaderLoadBgBlur, emu_settings::ShaderLoadBgBlur); + EnhanceSlider(emu_settings::ShaderLoadBgBlur, ui->shaderLoadBgBlur, ui->label_shaderLoadBgBlur, tr("Background blur: %0 %")); SubscribeTooltip(ui->shaderLoadBgBlur, json_emu_shaders["shaderLoadBgBlur"].toString()); - ui->label_shaderLoadBgBlur->setText(tr("Background blur: %0 %").arg(ui->shaderLoadBgBlur->value())); - connect(ui->shaderLoadBgBlur, &QSlider::valueChanged, [this](int value) - { - ui->label_shaderLoadBgBlur->setText(tr("Background blur: %0 %").arg(value)); - }); // SpinBoxes @@ -1250,6 +1234,20 @@ settings_dialog::~settings_dialog() delete ui; } +void settings_dialog::EnhanceSlider(emu_settings::SettingsType settings_type, QSlider* slider, QLabel* label, const QString& label_text) +{ + xemu_settings->EnhanceSlider(slider, settings_type); + + if (slider && label) + { + label->setText(label_text.arg(slider->value())); + connect(slider, &QSlider::valueChanged, [label, label_text](int value) + { + label->setText(label_text.arg(value)); + }); + } +} + void settings_dialog::AddConfigs() { ui->combo_configs->clear(); diff --git a/rpcs3/rpcs3qt/settings_dialog.h b/rpcs3/rpcs3qt/settings_dialog.h index 33d9b68b79..a917b969b3 100644 --- a/rpcs3/rpcs3qt/settings_dialog.h +++ b/rpcs3/rpcs3qt/settings_dialog.h @@ -34,6 +34,8 @@ private Q_SLOTS: void OnApplyConfig(); void OnApplyStylesheet(); private: + void EnhanceSlider(emu_settings::SettingsType settings_type, QSlider* slider, QLabel* label, const QString& label_text); + //emulator tab void AddConfigs(); void AddStylesheets();