diff options
Diffstat (limited to 'Source/Core/DolphinQt/Config/GameConfigWidget.cpp')
| -rw-r--r-- | Source/Core/DolphinQt/Config/GameConfigWidget.cpp | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/Source/Core/DolphinQt/Config/GameConfigWidget.cpp b/Source/Core/DolphinQt/Config/GameConfigWidget.cpp index efaae69c62..32734a445f 100644 --- a/Source/Core/DolphinQt/Config/GameConfigWidget.cpp +++ b/Source/Core/DolphinQt/Config/GameConfigWidget.cpp @@ -24,9 +24,9 @@ #include "Core/ConfigManager.h" #include "DolphinQt/Config/ConfigControls/ConfigBool.h" #include "DolphinQt/Config/ConfigControls/ConfigChoice.h" +#include "DolphinQt/Config/ConfigControls/ConfigFloatSlider.h" #include "DolphinQt/Config/ConfigControls/ConfigInteger.h" #include "DolphinQt/Config/ConfigControls/ConfigRadio.h" -#include "DolphinQt/Config/ConfigControls/ConfigSlider.h" #include "DolphinQt/Config/GameConfigEdit.h" #include "DolphinQt/Config/Graphics/GraphicsPane.h" #include "DolphinQt/QtUtils/QtUtils.h" @@ -140,26 +140,35 @@ void GameConfigWidget::CreateWidgets() auto* stereoscopy_layout = new QGridLayout; stereoscopy_box->setLayout(stereoscopy_layout); - m_depth_slider = new ConfigSlider(100, 200, Config::GFX_STEREO_DEPTH_PERCENTAGE, layer); - m_convergence_spin = new ConfigInteger(0, INT32_MAX, Config::GFX_STEREO_CONVERGENCE, layer); + m_depth_slider = + new ConfigFloatSlider(100, 200, Config::GFX_STEREO_DEPTH_PERCENTAGE, 1.0f, layer); + m_convergence_slider = + new ConfigFloatSlider(0, 1000, Config::GFX_STEREO_CONVERGENCE, 0.01f, layer); + auto* const depth_slider_value = new QLabel(); + auto* const convergence_slider_value = new QLabel(); m_use_monoscopic_shadows = new ConfigBool(tr("Monoscopic Shadows"), Config::GFX_STEREO_EFB_MONO_DEPTH, layer); m_depth_slider->SetDescription( tr("This value is multiplied with the depth set in the graphics configuration.")); - m_convergence_spin->SetDescription( + m_convergence_slider->SetDescription( tr("This value is added to the convergence value set in the graphics configuration.")); m_use_monoscopic_shadows->SetDescription( tr("Use a single depth buffer for both eyes. Needed for a few games.")); - stereoscopy_layout->addWidget(new ConfigSliderLabel(tr("Depth Percentage:"), m_depth_slider), 0, + stereoscopy_layout->addWidget(new ConfigFloatLabel(tr("Depth Percentage:"), m_depth_slider), 0, 0); stereoscopy_layout->addWidget(m_depth_slider, 0, 1); - stereoscopy_layout->addWidget(new ConfigIntegerLabel(tr("Convergence:"), m_convergence_spin), 1, + stereoscopy_layout->addWidget(depth_slider_value, 0, 2); + stereoscopy_layout->addWidget(new ConfigFloatLabel(tr("Convergence:"), m_convergence_slider), 1, 0); - stereoscopy_layout->addWidget(m_convergence_spin, 1, 1); + stereoscopy_layout->addWidget(m_convergence_slider, 1, 1); + stereoscopy_layout->addWidget(convergence_slider_value, 1, 2); stereoscopy_layout->addWidget(m_use_monoscopic_shadows, 2, 0); + depth_slider_value->setText(QString::asprintf("%.0f%%", m_depth_slider->GetValue())); + convergence_slider_value->setText(QString::asprintf("%.2f", m_convergence_slider->GetValue())); + auto* general_layout = new QVBoxLayout; general_layout->addWidget(core_box); general_layout->addWidget(stereoscopy_box); @@ -239,6 +248,15 @@ void GameConfigWidget::CreateWidgets() m_prev_tab_index = index; }); + connect(m_depth_slider, &ConfigFloatSlider::valueChanged, this, [this, depth_slider_value] { + depth_slider_value->setText(QString::asprintf("%.0f%%", m_depth_slider->GetValue())); + }); + connect(m_convergence_slider, &ConfigFloatSlider::valueChanged, this, + [this, convergence_slider_value] { + convergence_slider_value->setText( + QString::asprintf("%.2f", m_convergence_slider->GetValue())); + }); + const QString help_msg = tr( "Italics mark default game settings, bold marks user settings.\nRight-click to remove user " "settings.\nGraphics tabs don't display the value of a default game setting.\nAnti-Aliasing " @@ -320,7 +338,7 @@ void GameConfigWidget::LoadSettings() update_bool(m_emulate_disc_speed, true); update_int(m_depth_slider); - update_int(m_convergence_spin); + update_int(m_convergence_slider); } void GameConfigWidget::SetItalics() @@ -337,7 +355,7 @@ void GameConfigWidget::SetItalics() for (auto* config : findChildren<ConfigBool*>()) italics(config); - for (auto* config : findChildren<ConfigSlider*>()) + for (auto* config : findChildren<ConfigFloatSlider*>()) italics(config); for (auto* config : findChildren<ConfigInteger*>()) italics(config); |
