mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
Qt Advanced Panel: Convert QSliders into ConfigSliders.
Part of the refactor into the config system.
This commit is contained in:
@ -80,6 +80,36 @@ void ConfigSlider::OnConfigChanged()
|
||||
}
|
||||
}
|
||||
|
||||
ConfigSliderU32::ConfigSliderU32(u32 minimum, u32 maximum, const Config::Info<u32>& setting,
|
||||
u32 scale)
|
||||
: ConfigSliderU32(minimum, maximum, setting, nullptr, scale)
|
||||
{
|
||||
}
|
||||
|
||||
ConfigSliderU32::ConfigSliderU32(u32 minimum, u32 maximum, const Config::Info<u32>& setting,
|
||||
Config::Layer* layer, u32 scale)
|
||||
: ConfigControl(Qt::Horizontal, setting.GetLocation(), layer), m_setting(setting),
|
||||
m_scale(scale)
|
||||
|
||||
{
|
||||
setMinimum(minimum);
|
||||
setMaximum(maximum);
|
||||
setValue(ReadValue(setting));
|
||||
OnConfigChanged();
|
||||
|
||||
connect(this, &ConfigSliderU32::valueChanged, this, &ConfigSliderU32::Update);
|
||||
}
|
||||
|
||||
void ConfigSliderU32::Update(u32 value)
|
||||
{
|
||||
SaveValue(m_setting, value * m_scale);
|
||||
}
|
||||
|
||||
void ConfigSliderU32::OnConfigChanged()
|
||||
{
|
||||
setValue(ReadValue(m_setting) / m_scale);
|
||||
}
|
||||
|
||||
ConfigSliderLabel::ConfigSliderLabel(const QString& text, ConfigSlider* slider)
|
||||
: QLabel(text), m_slider(QPointer<ConfigSlider>(slider))
|
||||
{
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "DolphinQt/Config/ConfigControls/ConfigControl.h"
|
||||
#include "DolphinQt/Config/ToolTipControls/ToolTipSlider.h"
|
||||
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Common/Config/ConfigInfo.h"
|
||||
|
||||
class ConfigSlider final : public ConfigControl<ToolTipSlider>
|
||||
@ -38,6 +39,25 @@ private:
|
||||
std::vector<int> m_tick_values;
|
||||
};
|
||||
|
||||
class ConfigSliderU32 final : public ConfigControl<ToolTipSlider>
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ConfigSliderU32(u32 minimum, u32 maximum, const Config::Info<u32>& setting, u32 scale = 1);
|
||||
ConfigSliderU32(u32 minimum, u32 maximum, const Config::Info<u32>& setting, Config ::Layer* layer,
|
||||
u32 scale = 1);
|
||||
|
||||
void Update(u32 value);
|
||||
|
||||
protected:
|
||||
void OnConfigChanged() override;
|
||||
|
||||
private:
|
||||
const Config::Info<u32> m_setting;
|
||||
|
||||
u32 m_scale = 1;
|
||||
};
|
||||
|
||||
class ConfigSliderLabel final : public QLabel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
Reference in New Issue
Block a user