mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 04:20:27 +00:00
Qt: fix changing of double spinbox values
This commit is contained in:
parent
e4834250b9
commit
e78f2f63f7
@ -586,7 +586,6 @@ void ShaderParamsDialog::onShaderParamSpinBoxValueChanged(int value)
|
|||||||
QSlider *slider = NULL;
|
QSlider *slider = NULL;
|
||||||
struct video_shader *menu_shader = NULL;
|
struct video_shader *menu_shader = NULL;
|
||||||
struct video_shader *video_shader = NULL;
|
struct video_shader *video_shader = NULL;
|
||||||
double newValue = 0.0;
|
|
||||||
|
|
||||||
getShaders(&menu_shader, &video_shader);
|
getShaders(&menu_shader, &video_shader);
|
||||||
|
|
||||||
@ -612,6 +611,8 @@ void ShaderParamsDialog::onShaderParamSpinBoxValueChanged(int value)
|
|||||||
|
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
|
double newValue = 0.0;
|
||||||
|
|
||||||
if (menu_shader)
|
if (menu_shader)
|
||||||
{
|
{
|
||||||
struct video_shader_parameter *param = &menu_shader->parameters[parameter];
|
struct video_shader_parameter *param = &menu_shader->parameters[parameter];
|
||||||
@ -643,8 +644,10 @@ void ShaderParamsDialog::onShaderParamDoubleSpinBoxValueChanged(double value)
|
|||||||
QVariant sliderVariant;
|
QVariant sliderVariant;
|
||||||
QVariant paramVariant;
|
QVariant paramVariant;
|
||||||
QSlider *slider = NULL;
|
QSlider *slider = NULL;
|
||||||
struct video_shader_parameter *param = NULL;
|
struct video_shader *menu_shader = NULL;
|
||||||
double newValue = 0.0;
|
struct video_shader *video_shader = NULL;
|
||||||
|
|
||||||
|
getShaders(&menu_shader, &video_shader);
|
||||||
|
|
||||||
if (!doubleSpinBox)
|
if (!doubleSpinBox)
|
||||||
return;
|
return;
|
||||||
@ -663,15 +666,34 @@ void ShaderParamsDialog::onShaderParamDoubleSpinBoxValueChanged(double value)
|
|||||||
|
|
||||||
if (paramVariant.isValid())
|
if (paramVariant.isValid())
|
||||||
{
|
{
|
||||||
param = paramVariant.value<struct video_shader_parameter*>();
|
bool ok = false;
|
||||||
|
int parameter = paramVariant.toInt(&ok);
|
||||||
|
|
||||||
if (param)
|
if (ok)
|
||||||
{
|
{
|
||||||
param->current = value;
|
double newValue = 0.0;
|
||||||
newValue = MainWindow::lerp(param->minimum, param->maximum, 0, 100, param->current);
|
|
||||||
slider->blockSignals(true);
|
if (menu_shader)
|
||||||
slider->setValue(newValue);
|
{
|
||||||
slider->blockSignals(false);
|
struct video_shader_parameter *param = &menu_shader->parameters[parameter];
|
||||||
|
|
||||||
|
param->current = value;
|
||||||
|
newValue = MainWindow::lerp(param->minimum, param->maximum, 0, 100, param->current);
|
||||||
|
slider->blockSignals(true);
|
||||||
|
slider->setValue(newValue);
|
||||||
|
slider->blockSignals(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (video_shader)
|
||||||
|
{
|
||||||
|
struct video_shader_parameter *param = &video_shader->parameters[parameter];
|
||||||
|
|
||||||
|
param->current = value;
|
||||||
|
newValue = MainWindow::lerp(param->minimum, param->maximum, 0, 100, param->current);
|
||||||
|
slider->blockSignals(true);
|
||||||
|
slider->setValue(newValue);
|
||||||
|
slider->blockSignals(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user