7
7
* Description : Local Contrast settings view.
8
8
* LDR ToneMapper <http://zynaddsubfx.sourceforge.net/other/tonemapping>
10
* Copyright (C) 2010 by Gilles Caulier <caulier dot gilles at gmail dot com>
10
* Copyright (C) 2010-2012 by Gilles Caulier <caulier dot gilles at gmail dot com>
12
12
* This program is free software; you can redistribute it
13
13
* and/or modify it under the terms of the GNU General
142
142
RExpanderBox* expanderBox;
144
const QString LocalContrastSettingsPriv::configLowSaturationEntry("LowSaturation");
145
const QString LocalContrastSettingsPriv::configHighSaturationEntry("HighSaturation");
146
const QString LocalContrastSettingsPriv::configPower1Entry("Power1");
147
const QString LocalContrastSettingsPriv::configBlur1Entry("Blur1");
148
const QString LocalContrastSettingsPriv::configPower2Entry("Power2");
149
const QString LocalContrastSettingsPriv::configBlur2Entry("Blur2");
150
const QString LocalContrastSettingsPriv::configPower3Entry("Power3");
151
const QString LocalContrastSettingsPriv::configBlur3Entry("Blur3");
152
const QString LocalContrastSettingsPriv::configPower4Entry("Power4");
153
const QString LocalContrastSettingsPriv::configBlur4Entry("Blur4");
154
const QString LocalContrastSettingsPriv::configStretchContrastEntry("StretchContrast");
155
const QString LocalContrastSettingsPriv::configStageOneEntry("StageOne");
156
const QString LocalContrastSettingsPriv::configStageTwoEntry("StageTwo");
157
const QString LocalContrastSettingsPriv::configStageThreeEntry("StageThree");
158
const QString LocalContrastSettingsPriv::configStageFourEntry("StageFour");
159
const QString LocalContrastSettingsPriv::configFunctionInputEntry("FunctionInput");
145
const QString LocalContrastSettings::Private::configLowSaturationEntry("LowSaturation");
146
const QString LocalContrastSettings::Private::configHighSaturationEntry("HighSaturation");
147
const QString LocalContrastSettings::Private::configPower1Entry("Power1");
148
const QString LocalContrastSettings::Private::configBlur1Entry("Blur1");
149
const QString LocalContrastSettings::Private::configPower2Entry("Power2");
150
const QString LocalContrastSettings::Private::configBlur2Entry("Blur2");
151
const QString LocalContrastSettings::Private::configPower3Entry("Power3");
152
const QString LocalContrastSettings::Private::configBlur3Entry("Blur3");
153
const QString LocalContrastSettings::Private::configPower4Entry("Power4");
154
const QString LocalContrastSettings::Private::configBlur4Entry("Blur4");
155
const QString LocalContrastSettings::Private::configStretchContrastEntry("StretchContrast");
156
const QString LocalContrastSettings::Private::configStageOneEntry("StageOne");
157
const QString LocalContrastSettings::Private::configStageTwoEntry("StageTwo");
158
const QString LocalContrastSettings::Private::configStageThreeEntry("StageThree");
159
const QString LocalContrastSettings::Private::configStageFourEntry("StageFour");
160
const QString LocalContrastSettings::Private::configFunctionInputEntry("FunctionInput");
161
162
// --------------------------------------------------------
163
LocalContrastSettings::LocalContrastSettings(QWidget* parent)
164
LocalContrastSettings::LocalContrastSettings(QWidget* const parent)
164
165
: QWidget(parent),
165
d(new LocalContrastSettingsPriv)
167
168
QGridLayout* grid = new QGridLayout(parent);
468
469
LocalContrastContainer prm;
470
prm.stretch_contrast = d->stretchContrastCheck->isChecked();
471
prm.low_saturation = d->lowSaturationInput->value();
472
prm.high_saturation = d->highSaturationInput->value();
473
prm.function_id = d->functionInput->currentIndex();
471
prm.stretchContrast = d->stretchContrastCheck->isChecked();
472
prm.lowSaturation = d->lowSaturationInput->value();
473
prm.highSaturation = d->highSaturationInput->value();
474
prm.functionId = d->functionInput->currentIndex();
475
476
prm.stage[0].enabled = d->expanderBox->isChecked(1);
476
477
prm.stage[0].power = d->powerInput1->value();
496
497
blockSignals(true);
497
498
d->expanderBox->setEnabled(false);
499
d->stretchContrastCheck->setChecked(settings.stretch_contrast);
500
d->lowSaturationInput->setValue(settings.low_saturation);
501
d->highSaturationInput->setValue(settings.high_saturation);
502
d->functionInput->setCurrentIndex(settings.function_id);
500
d->stretchContrastCheck->setChecked(settings.stretchContrast);
501
d->lowSaturationInput->setValue(settings.lowSaturation);
502
d->highSaturationInput->setValue(settings.highSaturation);
503
d->functionInput->setCurrentIndex(settings.functionId);
504
505
d->expanderBox->setChecked(1, settings.stage[0].enabled);
505
506
d->powerInput1->setValue(settings.stage[0].power);
517
518
d->powerInput4->setValue(settings.stage[3].power);
518
519
d->blurInput4->setValue(settings.stage[3].blur);
521
522
slotStage1Enabled(d->stageOne->isChecked());
522
523
slotStage2Enabled(d->stageTwo->isChecked());
523
524
slotStage3Enabled(d->stageThree->isChecked());
524
525
slotStage4Enabled(d->stageFour->isChecked());
527
528
d->expanderBox->setEnabled(true);
528
529
blockSignals(false);
561
562
LocalContrastContainer prm;
563
prm.stretch_contrast = true;
564
prm.low_saturation = d->lowSaturationInput->defaultValue();
565
prm.high_saturation = d->highSaturationInput->defaultValue();
566
prm.function_id = d->functionInput->defaultIndex();
564
prm.stretchContrast = true;
565
prm.lowSaturation = d->lowSaturationInput->defaultValue();
566
prm.highSaturation = d->highSaturationInput->defaultValue();
567
prm.functionId = d->functionInput->defaultIndex();
568
569
prm.stage[0].enabled = true;
569
570
prm.stage[0].power = d->powerInput1->defaultValue();
589
590
LocalContrastContainer prm;
590
591
LocalContrastContainer defaultPrm = defaultSettings();
592
prm.stretch_contrast = group.readEntry(d->configStretchContrastEntry, defaultPrm.stretch_contrast);
593
prm.low_saturation = group.readEntry(d->configLowSaturationEntry, defaultPrm.low_saturation);
594
prm.high_saturation = group.readEntry(d->configHighSaturationEntry, defaultPrm.high_saturation);
595
prm.function_id = group.readEntry(d->configFunctionInputEntry, defaultPrm.function_id);
593
prm.stretchContrast = group.readEntry(d->configStretchContrastEntry, defaultPrm.stretchContrast);
594
prm.lowSaturation = group.readEntry(d->configLowSaturationEntry, defaultPrm.lowSaturation);
595
prm.highSaturation = group.readEntry(d->configHighSaturationEntry, defaultPrm.highSaturation);
596
prm.functionId = group.readEntry(d->configFunctionInputEntry, defaultPrm.functionId);
597
598
prm.stage[0].enabled = group.readEntry(d->configStageOneEntry, defaultPrm.stage[0].enabled);
598
599
prm.stage[0].power = group.readEntry(d->configPower1Entry, defaultPrm.stage[0].power);
626
627
LocalContrastContainer prm = settings();
628
group.writeEntry(d->configStretchContrastEntry, prm.stretch_contrast);
629
group.writeEntry(d->configLowSaturationEntry, prm.low_saturation);
630
group.writeEntry(d->configHighSaturationEntry, prm.high_saturation);
631
group.writeEntry(d->configFunctionInputEntry, prm.function_id);
629
group.writeEntry(d->configStretchContrastEntry, prm.stretchContrast);
630
group.writeEntry(d->configLowSaturationEntry, prm.lowSaturation);
631
group.writeEntry(d->configHighSaturationEntry, prm.highSaturation);
632
group.writeEntry(d->configFunctionInputEntry, prm.functionId);
633
634
group.writeEntry(d->configStageOneEntry, prm.stage[0].enabled);
634
635
group.writeEntry(d->configPower1Entry, prm.stage[0].power);