summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/ConfigControls/ConfigFloatSlider.cpp
diff options
context:
space:
mode:
authorTryTwo <taolas@gmail.com>2024-09-17 23:29:13 -0700
committerJosJuice <josjuice@gmail.com>2024-12-07 16:31:34 +0100
commit08df9a66e03acb614dca6d1c118818f84f1cbcfd (patch)
treec8f1e1c18b24ec4e4aaa50e572a78776aac37092 /Source/Core/DolphinQt/Config/ConfigControls/ConfigFloatSlider.cpp
parent0a84d93a8e64d946405b0e17edd1a29ccfac0606 (diff)
DolphinQt: Refactor, add ConfigControl class
This reduces code duplication in the different ConfigControls. This is helpful for the next commit, which will modify the now deduplicated code.
Diffstat (limited to 'Source/Core/DolphinQt/Config/ConfigControls/ConfigFloatSlider.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/ConfigControls/ConfigFloatSlider.cpp29
1 files changed, 10 insertions, 19 deletions
diff --git a/Source/Core/DolphinQt/Config/ConfigControls/ConfigFloatSlider.cpp b/Source/Core/DolphinQt/Config/ConfigControls/ConfigFloatSlider.cpp
index 3f7bed01c8..b8aa2c82fc 100644
--- a/Source/Core/DolphinQt/Config/ConfigControls/ConfigFloatSlider.cpp
+++ b/Source/Core/DolphinQt/Config/ConfigControls/ConfigFloatSlider.cpp
@@ -3,20 +3,15 @@
#include "DolphinQt/Config/ConfigControls/ConfigFloatSlider.h"
-#include <QSignalBlocker>
-
-#include "Common/Config/Config.h"
-
-#include "DolphinQt/Settings.h"
-
ConfigFloatSlider::ConfigFloatSlider(float minimum, float maximum,
const Config::Info<float>& setting, float step)
- : ToolTipSlider(Qt::Horizontal), m_minimum(minimum), m_step(step), m_setting(setting)
+ : ConfigControl(Qt::Horizontal, setting.GetLocation()), m_minimum(minimum), m_step(step),
+ m_setting(setting)
{
const float range = maximum - minimum;
const int steps = std::round(range / step);
const int interval = std::round(range / steps);
- const int current_value = std::round((Config::Get(m_setting) - minimum) / step);
+ const int current_value = std::round((ReadValue(setting) - minimum) / step);
setMinimum(0);
setMaximum(steps);
@@ -24,25 +19,21 @@ ConfigFloatSlider::ConfigFloatSlider(float minimum, float maximum,
setValue(current_value);
connect(this, &ConfigFloatSlider::valueChanged, this, &ConfigFloatSlider::Update);
-
- connect(&Settings::Instance(), &Settings::ConfigChanged, this, [this] {
- QFont bf = font();
- bf.setBold(Config::GetActiveLayerForConfig(m_setting) != Config::LayerType::Base);
- setFont(bf);
-
- const QSignalBlocker blocker(this);
- const int value = std::round((Config::Get(m_setting) - m_minimum) / m_step);
- setValue(value);
- });
}
void ConfigFloatSlider::Update(int value)
{
const float current_value = (m_step * value) + m_minimum;
- Config::SetBaseOrCurrent(m_setting, current_value);
+
+ SaveValue(m_setting, current_value);
}
float ConfigFloatSlider::GetValue() const
{
return (m_step * value()) + m_minimum;
}
+
+void ConfigFloatSlider::OnConfigChanged()
+{
+ setValue(std::round((ReadValue(m_setting) - m_minimum) / m_step));
+}