Prepare GUI for merge not enable
This commit is contained in:
parent
0de7b5bacf
commit
bb63d3cded
@ -1035,6 +1035,8 @@ HISTORY_MSG_794;Local - SH TRC slope
|
||||
HISTORY_MSG_795;Local - Mask save restore image
|
||||
HISTORY_MSG_796;Local - Recursive references
|
||||
HISTORY_MSG_797;Local - Merge and Masks method
|
||||
HISTORY_MSG_798;Local - Merge Original method
|
||||
HISTORY_MSG_799;Local - Opacity
|
||||
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
||||
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
||||
HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
|
||||
@ -2155,6 +2157,12 @@ TP_LOCALLAB_MERGETYPE;Merge image and mask
|
||||
TP_LOCALLAB_MERGENONE;None
|
||||
TP_LOCALLAB_MERGEONE;Short Curves 'L' Mask
|
||||
TP_LOCALLAB_MERGETWO;Original
|
||||
TP_LOCALLAB_MERGE1COLFRA;Merge with Original
|
||||
TP_LOCALLAB_OPACOL;Opacity
|
||||
TP_LOCALLAB_MERGECOLFRA;Mask LCH
|
||||
TP_LOCALLAB_MERONE;Normal
|
||||
TP_LOCALLAB_MERTWO;Substraction
|
||||
TP_LOCALLAB_MERTHR;Multiply
|
||||
TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTake into account deltaE image to avoid retouching the selection area when sliders gamma mask, slope mask, chroma mask and contrast curves and levels contrasts curves are used.\nDisabled in Inverse
|
||||
TP_LOCALLAB_WAMASKCOL;Mask Wavelet level
|
||||
TP_LOCALLAB_CSTHRESHOLDBLUR;Mask Wavelet level
|
||||
@ -2350,7 +2358,7 @@ TP_LOCALLAB_SHOWT;3 - Mask and modifications
|
||||
TP_LOCALLAB_SHOWS;4+* - Mask and modifications
|
||||
TP_LOCALLAB_SHOWR;5 - Mask and modifications
|
||||
TP_LOCALLAB_SHOWE;6+ - Mask and modifications
|
||||
TP_LOCALLAB_SHOWC;7+* - Mask and modifications
|
||||
TP_LOCALLAB_SHOWC;7+* - Mask and modifications - Merge
|
||||
TP_LOCALLAB_SHOWPLUS;1+* - Mask and modifications - Smooth-Blur & Denoise
|
||||
TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Display modifications.\nBeware, you can only view one modification (color and light or Exposure or Shadows-Highlight or TM or CBDL or Retinex MSR or Blur).\n\nUse Mask is before algorihtm shape detection
|
||||
TP_LOCALLAB_SHOWMNONE;None
|
||||
|
@ -824,6 +824,8 @@ enum ProcEventCode {
|
||||
Evlocallabsavrest = 794,
|
||||
Evlocallabrecurs = 795,
|
||||
EvLocallabSpotmergeMethod = 796,
|
||||
EvLocallabmergecolMethod = 797,
|
||||
Evlocallabopacol = 798,
|
||||
NUMOFEVENTS
|
||||
};
|
||||
|
||||
|
@ -2463,6 +2463,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
||||
lapmaskcol(0.0),
|
||||
qualitycurveMethod("none"),
|
||||
gridMethod("one"),
|
||||
mergecolMethod("one"),
|
||||
llcurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
||||
cccurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
||||
LHcurve{(double)FCT_MinMaxCPoints, 0.0, 0.50, 0.35, 0.35, 0.166, 0.50, 0.35, 0.35, 0.333, 0.50, 0.35, 0.35, 0.50, 0.50, 0.35, 0.35, 0.666, 0.50, 0.35, 0.35, 0.833, 0.50, 0.35, 0.35},
|
||||
@ -2473,6 +2474,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
||||
LLmaskcurve{(double)FCT_MinMaxCPoints, 0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.00, 1.0, 0.35, 0.35 },
|
||||
HHmaskcurve{(double)FCT_MinMaxCPoints, 0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.00, 1.0, 0.35, 0.35 },
|
||||
softradiuscol(0.0),
|
||||
opacol(100.0),
|
||||
Lmaskcurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
||||
LLmaskcolcurvewav{(double)FCT_MinMaxCPoints, 0.0, 0.5, 0.35, 0.35, 1., 0.5, 0.35, 0.35},
|
||||
csthresholdcol(0, 0, 6, 5, false),
|
||||
@ -2772,6 +2774,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
||||
&& lapmaskcol == other.lapmaskcol
|
||||
&& qualitycurveMethod == other.qualitycurveMethod
|
||||
&& gridMethod == other.gridMethod
|
||||
&& mergecolMethod == other.mergecolMethod
|
||||
&& llcurve == other.llcurve
|
||||
&& cccurve == other.cccurve
|
||||
&& LHcurve == other.LHcurve
|
||||
@ -2783,6 +2786,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
||||
&& HHmaskcurve == other.HHmaskcurve
|
||||
&& blurcolde == other.blurcolde
|
||||
&& softradiuscol == other.softradiuscol
|
||||
&& opacol == other.opacol
|
||||
&& Lmaskcurve == other.Lmaskcurve
|
||||
&& LLmaskcolcurvewav == other.LLmaskcolcurvewav
|
||||
&& csthresholdcol == other.csthresholdcol
|
||||
@ -4078,6 +4082,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).lapmaskcol, "Locallab", "Lapmaskcol_" + std::to_string(i), spot.lapmaskcol, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).qualitycurveMethod, "Locallab", "QualityCurveMethod_" + std::to_string(i), spot.qualitycurveMethod, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).gridMethod, "Locallab", "gridMethod_" + std::to_string(i), spot.gridMethod, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).mergecolMethod, "Locallab", "mergecolMethod_" + std::to_string(i), spot.mergecolMethod, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).llcurve, "Locallab", "LLCurve_" + std::to_string(i), spot.llcurve, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).cccurve, "Locallab", "CCCurve_" + std::to_string(i), spot.cccurve, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).LHcurve, "Locallab", "LHCurve_" + std::to_string(i), spot.LHcurve, keyFile);
|
||||
@ -4088,6 +4093,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).LLmaskcurve, "Locallab", "LLmaskCurve_" + std::to_string(i), spot.LLmaskcurve, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).HHmaskcurve, "Locallab", "HHmaskCurve_" + std::to_string(i), spot.HHmaskcurve, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).softradiuscol, "Locallab", "Softradiuscol_" + std::to_string(i), spot.softradiuscol, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).opacol, "Locallab", "Opacol_" + std::to_string(i), spot.opacol, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).Lmaskcurve, "Locallab", "LmaskCurve_" + std::to_string(i), spot.Lmaskcurve, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).LLmaskcolcurvewav, "Locallab", "LLmaskcolCurvewav_" + std::to_string(i), spot.LLmaskcolcurvewav, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).csthresholdcol, "Locallab", "CSThresholdcol_" + std::to_string(i), spot.csthresholdcol.toVector(), keyFile);
|
||||
@ -5491,6 +5497,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
||||
assignFromKeyfile(keyFile, "Locallab", "Lapmaskcol_" + std::to_string(i), pedited, spot.lapmaskcol, spotEdited.lapmaskcol);
|
||||
assignFromKeyfile(keyFile, "Locallab", "QualityCurveMethod_" + std::to_string(i), pedited, spot.qualitycurveMethod, spotEdited.qualitycurveMethod);
|
||||
assignFromKeyfile(keyFile, "Locallab", "gridMethod_" + std::to_string(i), pedited, spot.gridMethod, spotEdited.gridMethod);
|
||||
assignFromKeyfile(keyFile, "Locallab", "mergecolMethod_" + std::to_string(i), pedited, spot.mergecolMethod, spotEdited.mergecolMethod);
|
||||
assignFromKeyfile(keyFile, "Locallab", "LLCurve_" + std::to_string(i), pedited, spot.llcurve, spotEdited.llcurve);
|
||||
assignFromKeyfile(keyFile, "Locallab", "CCCurve_" + std::to_string(i), pedited, spot.cccurve, spotEdited.cccurve);
|
||||
assignFromKeyfile(keyFile, "Locallab", "LHCurve_" + std::to_string(i), pedited, spot.LHcurve, spotEdited.LHcurve);
|
||||
@ -5501,6 +5508,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
||||
assignFromKeyfile(keyFile, "Locallab", "LLmaskCurve_" + std::to_string(i), pedited, spot.LLmaskcurve, spotEdited.LLmaskcurve);
|
||||
assignFromKeyfile(keyFile, "Locallab", "HHmaskCurve_" + std::to_string(i), pedited, spot.HHmaskcurve, spotEdited.HHmaskcurve);
|
||||
assignFromKeyfile(keyFile, "Locallab", "Softradiuscol_" + std::to_string(i), pedited, spot.softradiuscol, spotEdited.softradiuscol);
|
||||
assignFromKeyfile(keyFile, "Locallab", "Opacol_" + std::to_string(i), pedited, spot.opacol, spotEdited.opacol);
|
||||
assignFromKeyfile(keyFile, "Locallab", "LmaskCurve_" + std::to_string(i), pedited, spot.Lmaskcurve, spotEdited.Lmaskcurve);
|
||||
assignFromKeyfile(keyFile, "Locallab", "LLmaskcolCurvewav_" + std::to_string(i), pedited, spot.LLmaskcolcurvewav, spotEdited.LLmaskcolcurvewav);
|
||||
if (keyFile.has_key("Locallab", "CSThresholdcol_" + std::to_string(i))) {
|
||||
|
@ -1010,6 +1010,7 @@ struct LocallabParams {
|
||||
double lapmaskcol;
|
||||
Glib::ustring qualitycurveMethod;
|
||||
Glib::ustring gridMethod;
|
||||
Glib::ustring mergecolMethod;
|
||||
std::vector<double> llcurve;
|
||||
std::vector<double> cccurve;
|
||||
std::vector<double> LHcurve;
|
||||
@ -1020,6 +1021,7 @@ struct LocallabParams {
|
||||
std::vector<double> LLmaskcurve;
|
||||
std::vector<double> HHmaskcurve;
|
||||
double softradiuscol;
|
||||
double opacol;
|
||||
std::vector<double> Lmaskcurve;
|
||||
std::vector<double> LLmaskcolcurvewav;
|
||||
Threshold<int> csthresholdcol;
|
||||
|
@ -823,7 +823,9 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
LUMINANCECURVE, //EvlocallabsloSH
|
||||
LUMINANCECURVE, //Evlocallabsavrest
|
||||
LUMINANCECURVE, //Evlocallabrecurs
|
||||
LUMINANCECURVE // EvLocallabSpotmergeMethod
|
||||
LUMINANCECURVE, // EvLocallabSpotmergeMethod
|
||||
LUMINANCECURVE, //EvLocallabmergecolMethod
|
||||
LUMINANCECURVE, //EvLocallabopacol
|
||||
};
|
||||
|
||||
namespace rtengine
|
||||
|
@ -204,6 +204,7 @@ Locallab::Locallab():
|
||||
lapmaskcol(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LAPMASKCOL"), 0.0, 100.0, 0.1, 0.))),
|
||||
shadmaskcol(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHAMASKCOL"), 0, 100, 1, 0))),
|
||||
softradiuscol(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SOFTRADIUSCOL"), 0.0, 100.0, 0.5, 0.))),
|
||||
opacol(Gtk::manage(new Adjuster(M("TP_LOCALLAB_OPACOL"), 0.0, 100.0, 0.5, 100.))),
|
||||
// Exposure
|
||||
expcomp(Gtk::manage(new Adjuster(M("TP_EXPOSURE_EXPCOMP"), -2.0, 4.0, 0.05, 0.0))),
|
||||
hlcompr(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRHIGHLIGHTS"), 0, 500, 1, 0))),
|
||||
@ -406,6 +407,7 @@ Locallab::Locallab():
|
||||
gridMethod(Gtk::manage(new MyComboBoxText())),
|
||||
showmaskcolMethod(Gtk::manage(new MyComboBoxText())),
|
||||
showmaskcolMethodinv(Gtk::manage(new MyComboBoxText())),
|
||||
mergecolMethod(Gtk::manage(new MyComboBoxText())),
|
||||
csThresholdcol(Gtk::manage(new ThresholdAdjuster(M("TP_LOCALLAB_CSTHRESHOLDBLUR"), 0, 9, 0, 0, 6, 5, 0, false))),
|
||||
//Exposure
|
||||
showmaskexpMethod(Gtk::manage(new MyComboBoxText())),
|
||||
@ -447,6 +449,8 @@ Locallab::Locallab():
|
||||
lumaneutralButton(Gtk::manage(new Gtk::Button(M("TP_DIRPYREQUALIZER_LUMANEUTRAL")))),
|
||||
lumacontrastPlusButton(Gtk::manage(new Gtk::Button(M("TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS")))),
|
||||
gridFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LABGRID")))),
|
||||
mergecolFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_MERGECOLFRA")))),
|
||||
merge1colFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_MERGE1COLFRA")))),
|
||||
pdeFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_PDEFRA")))),
|
||||
fatFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_FATFRA")))),
|
||||
fatSHFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_FATSHFRA")))),
|
||||
@ -527,6 +531,7 @@ Locallab::Locallab():
|
||||
slomaskcol->setAdjusterListener(this);
|
||||
shadmaskcol->setAdjusterListener(this);
|
||||
softradiuscol->setAdjusterListener(this);
|
||||
opacol->setAdjusterListener(this);
|
||||
lapmaskcol->setAdjusterListener(this);
|
||||
|
||||
if (showtooltip) {
|
||||
@ -624,6 +629,14 @@ Locallab::Locallab():
|
||||
|
||||
inversConn = invers->signal_toggled().connect(sigc::mem_fun(*this, &Locallab::inversChanged));
|
||||
|
||||
|
||||
mergecolMethod->append(M("TP_LOCALLAB_MERONE"));
|
||||
mergecolMethod->append(M("TP_LOCALLAB_MERTWO"));
|
||||
mergecolMethod->append(M("TP_LOCALLAB_MERTHR"));
|
||||
mergecolMethod->set_active(0);
|
||||
mergecolMethodConn = mergecolMethod->signal_changed().connect(sigc::mem_fun(*this, &Locallab::mergecolMethodChanged));
|
||||
|
||||
|
||||
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMNONE"));
|
||||
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMODIF"));
|
||||
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK"));
|
||||
@ -754,6 +767,14 @@ Locallab::Locallab():
|
||||
colorBox->pack_start(*llCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||
colorBox->pack_start(*HCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||
colorBox->pack_start(*invers);
|
||||
|
||||
mergecolFrame->set_label_align(0.025, 0.5);
|
||||
merge1colFrame->set_label_align(0.025, 0.5);
|
||||
ToolParamBlock* const mergecolBox = Gtk::manage(new ToolParamBlock());
|
||||
mergecolBox->pack_start(*mergecolMethod);
|
||||
mergecolBox->pack_start(*opacol);
|
||||
merge1colFrame->add(*mergecolBox);
|
||||
|
||||
ToolParamBlock* const maskcolBox = Gtk::manage(new ToolParamBlock());
|
||||
maskcolBox->pack_start(*showmaskcolMethod, Gtk::PACK_SHRINK, 4);
|
||||
maskcolBox->pack_start(*showmaskcolMethodinv, Gtk::PACK_SHRINK, 4);
|
||||
@ -769,7 +790,14 @@ Locallab::Locallab():
|
||||
maskcolBox->pack_start(*mask2CurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||
maskcolBox->pack_start(*mask2CurveEditorGwav, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||
maskcolBox->pack_start(*csThresholdcol, Gtk::PACK_SHRINK, 0);
|
||||
expmaskcol->add(*maskcolBox, false);
|
||||
|
||||
mergecolFrame->add(*maskcolBox);
|
||||
|
||||
ToolParamBlock* const maskcol1Box = Gtk::manage(new ToolParamBlock());
|
||||
maskcol1Box->pack_start(*merge1colFrame);
|
||||
maskcol1Box->pack_start(*mergecolFrame);
|
||||
|
||||
expmaskcol->add(*maskcol1Box, false);
|
||||
colorBox->pack_start(*expmaskcol);
|
||||
|
||||
expcolor->add(*colorBox, false);
|
||||
@ -2849,10 +2877,17 @@ void Locallab::read(const ProcParams* pp, const ParamsEdited* pedited)
|
||||
|
||||
if (pp->locallab.spots.at(i).mergeMethod == "none") {
|
||||
r->mergeMethod = 0;
|
||||
merge1colFrame->hide();
|
||||
mergecolFrame->show();
|
||||
} else if (pp->locallab.spots.at(i).mergeMethod == "short") {
|
||||
r->mergeMethod = 1;
|
||||
merge1colFrame->hide();
|
||||
mergecolFrame->show();
|
||||
} else if (pp->locallab.spots.at(i).mergeMethod == "orig") {
|
||||
r->mergeMethod = 2;
|
||||
merge1colFrame->show();
|
||||
mergecolFrame->hide();
|
||||
|
||||
}
|
||||
|
||||
r->sensiexclu = pp->locallab.spots.at(i).sensiexclu;
|
||||
@ -2972,10 +3007,17 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
|
||||
if (newSpot->mergeMethod == "none") {
|
||||
r->mergeMethod = 0;
|
||||
merge1colFrame->hide();
|
||||
mergecolFrame->show();
|
||||
} else if (newSpot->mergeMethod == "short") {
|
||||
r->mergeMethod = 1;
|
||||
merge1colFrame->hide();
|
||||
mergecolFrame->show();
|
||||
} else if (newSpot->mergeMethod == "orig") {
|
||||
r->mergeMethod = 2;
|
||||
merge1colFrame->show();
|
||||
mergecolFrame->hide();
|
||||
|
||||
}
|
||||
|
||||
r->sensiexclu = newSpot->sensiexclu;
|
||||
@ -3203,10 +3245,16 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
|
||||
if (newSpot->mergeMethod == "none") {
|
||||
r->mergeMethod = 0;
|
||||
merge1colFrame->hide();
|
||||
mergecolFrame->show();
|
||||
} else if (newSpot->mergeMethod == "short") {
|
||||
r->mergeMethod = 1;
|
||||
merge1colFrame->hide();
|
||||
mergecolFrame->show();
|
||||
} else if (newSpot->mergeMethod == "orig") {
|
||||
r->mergeMethod = 2;
|
||||
merge1colFrame->show();
|
||||
mergecolFrame->hide();
|
||||
}
|
||||
|
||||
r->sensiexclu = newSpot->sensiexclu;
|
||||
@ -3351,10 +3399,18 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
|
||||
if (r->mergeMethod == 0) {
|
||||
pp->locallab.spots.at(pp->locallab.selspot).mergeMethod = "none";
|
||||
merge1colFrame->hide();
|
||||
mergecolFrame->show();
|
||||
|
||||
} else if (r->mergeMethod == 1) {
|
||||
pp->locallab.spots.at(pp->locallab.selspot).mergeMethod = "short";
|
||||
merge1colFrame->hide();
|
||||
mergecolFrame->show();
|
||||
} else if (r->mergeMethod == 2) {
|
||||
pp->locallab.spots.at(pp->locallab.selspot).mergeMethod = "orig";
|
||||
merge1colFrame->show();
|
||||
mergecolFrame->hide();
|
||||
|
||||
}
|
||||
|
||||
pp->locallab.spots.at(pp->locallab.selspot).sensiexclu = r->sensiexclu;
|
||||
@ -3427,6 +3483,14 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
pp->locallab.spots.at(pp->locallab.selspot).gridMethod = "two";
|
||||
}
|
||||
|
||||
if (mergecolMethod->get_active_row_number() == 0) {
|
||||
pp->locallab.spots.at(pp->locallab.selspot).mergecolMethod = "one";
|
||||
} else if (mergecolMethod->get_active_row_number() == 1) {
|
||||
pp->locallab.spots.at(pp->locallab.selspot).mergecolMethod = "two";
|
||||
} else if (mergecolMethod->get_active_row_number() == 2) {
|
||||
pp->locallab.spots.at(pp->locallab.selspot).mergecolMethod = "thr";
|
||||
}
|
||||
|
||||
pp->locallab.spots.at(pp->locallab.selspot).llcurve = llshape->getCurve();
|
||||
pp->locallab.spots.at(pp->locallab.selspot).cccurve = ccshape->getCurve();
|
||||
pp->locallab.spots.at(pp->locallab.selspot).LHcurve = LHshape->getCurve();
|
||||
@ -3444,6 +3508,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
pp->locallab.spots.at(pp->locallab.selspot).shadmaskcol = shadmaskcol->getIntValue();
|
||||
pp->locallab.spots.at(pp->locallab.selspot).lapmaskcol = lapmaskcol->getValue();
|
||||
pp->locallab.spots.at(pp->locallab.selspot).softradiuscol = softradiuscol->getValue();
|
||||
pp->locallab.spots.at(pp->locallab.selspot).opacol = opacol->getValue();
|
||||
pp->locallab.spots.at(pp->locallab.selspot).Lmaskcurve = Lmaskshape->getCurve();
|
||||
pp->locallab.spots.at(pp->locallab.selspot).LLmaskcolcurvewav = LLmaskcolshapewav->getCurve();
|
||||
pp->locallab.spots.at(pp->locallab.selspot).csthresholdcol = csThresholdcol->getValue<int>();
|
||||
@ -3814,6 +3879,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
pe->locallab.spots.at(pp->locallab.selspot).structcol = pe->locallab.spots.at(pp->locallab.selspot).structcol || structcol->getEditedState();
|
||||
pe->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod = pe->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod || qualitycurveMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pe->locallab.spots.at(pp->locallab.selspot).gridMethod = pe->locallab.spots.at(pp->locallab.selspot).gridMethod || gridMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pe->locallab.spots.at(pp->locallab.selspot).mergecolMethod = pe->locallab.spots.at(pp->locallab.selspot).mergecolMethod || mergecolMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pe->locallab.spots.at(pp->locallab.selspot).llcurve = pe->locallab.spots.at(pp->locallab.selspot).llcurve || !llshape->isUnChanged();
|
||||
pe->locallab.spots.at(pp->locallab.selspot).cccurve = pe->locallab.spots.at(pp->locallab.selspot).cccurve || !ccshape->isUnChanged();
|
||||
pe->locallab.spots.at(pp->locallab.selspot).LHcurve = pe->locallab.spots.at(pp->locallab.selspot).LHcurve || !LHshape->isUnChanged();
|
||||
@ -3832,6 +3898,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
pe->locallab.spots.at(pp->locallab.selspot).shadmaskcol = pe->locallab.spots.at(pp->locallab.selspot).shadmaskcol || shadmaskcol->getEditedState();
|
||||
pe->locallab.spots.at(pp->locallab.selspot).lapmaskcol = pe->locallab.spots.at(pp->locallab.selspot).lapmaskcol || lapmaskcol->getEditedState();
|
||||
pe->locallab.spots.at(pp->locallab.selspot).softradiuscol = pe->locallab.spots.at(pp->locallab.selspot).softradiuscol || softradiuscol->getEditedState();
|
||||
pe->locallab.spots.at(pp->locallab.selspot).opacol = pe->locallab.spots.at(pp->locallab.selspot).opacol || opacol->getEditedState();
|
||||
pe->locallab.spots.at(pp->locallab.selspot).Lmaskcurve = pe->locallab.spots.at(pp->locallab.selspot).Lmaskcurve || !Lmaskshape->isUnChanged();
|
||||
pe->locallab.spots.at(pp->locallab.selspot).LLmaskcolcurvewav = pe->locallab.spots.at(pp->locallab.selspot).LLmaskcolcurvewav || !LLmaskcolshapewav->isUnChanged();
|
||||
pe->locallab.spots.at(pp->locallab.selspot).csthresholdcol = pe->locallab.spots.at(pp->locallab.selspot).csthresholdcol || csThresholdcol->getEditedState();
|
||||
@ -4132,6 +4199,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).structcol = pedited->locallab.spots.at(pp->locallab.selspot).structcol || structcol->getEditedState();
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod = pedited->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod || qualitycurveMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).gridMethod = pedited->locallab.spots.at(pp->locallab.selspot).gridMethod || gridMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).mergecolMethod = pedited->locallab.spots.at(pp->locallab.selspot).mergecolMethod || mergecolMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).llcurve = pedited->locallab.spots.at(pp->locallab.selspot).llcurve || !llshape->isUnChanged();
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).cccurve = pedited->locallab.spots.at(pp->locallab.selspot).cccurve || !ccshape->isUnChanged();
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).LHcurve = pedited->locallab.spots.at(pp->locallab.selspot).LHcurve || !LHshape->isUnChanged();
|
||||
@ -4150,6 +4218,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).shadmaskcol = pedited->locallab.spots.at(pp->locallab.selspot).shadmaskcol || shadmaskcol->getEditedState();
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).lapmaskcol = pedited->locallab.spots.at(pp->locallab.selspot).lapmaskcol || lapmaskcol->getEditedState();
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).softradiuscol = pedited->locallab.spots.at(pp->locallab.selspot).softradiuscol || softradiuscol->getEditedState();
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).opacol = pedited->locallab.spots.at(pp->locallab.selspot).opacol || opacol->getEditedState();
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).Lmaskcurve = pedited->locallab.spots.at(pp->locallab.selspot).Lmaskcurve || !Lmaskshape->isUnChanged();
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).LLmaskcolcurvewav = pedited->locallab.spots.at(pp->locallab.selspot).LLmaskcolcurvewav || !LLmaskcolshapewav->isUnChanged();
|
||||
pedited->locallab.spots.at(pp->locallab.selspot).csthresholdcol = pedited->locallab.spots.at(pp->locallab.selspot).csthresholdcol || csThresholdcol->getEditedState();
|
||||
@ -4946,6 +5015,18 @@ void Locallab::gridMethodChanged()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Locallab::mergecolMethodChanged()
|
||||
{
|
||||
// printf("mergecolMethodChanged\n");
|
||||
|
||||
if (getEnabled() && expcolor->getEnabled()) {
|
||||
if (listener) {
|
||||
listener->panelChanged(EvLocallabmergecolMethod, mergecolMethod->get_active_text());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Locallab::showmaskcolMethodChanged()
|
||||
{
|
||||
// printf("showmaskcolMethodChanged\n");
|
||||
@ -6183,6 +6264,7 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
||||
shadmaskcol->setDefault(defSpot->shadmaskcol);
|
||||
lapmaskcol->setDefault(defSpot->lapmaskcol);
|
||||
softradiuscol->setDefault(defSpot->softradiuscol);
|
||||
opacol->setDefault(defSpot->opacol);
|
||||
csThresholdcol->setDefault<int>(defSpot->csthresholdcol);
|
||||
// Exposure
|
||||
expcomp->setDefault(defSpot->expcomp);
|
||||
@ -6374,6 +6456,7 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
||||
shadmaskcol->setDefaultEditedState(Irrelevant);
|
||||
lapmaskcol->setDefaultEditedState(Irrelevant);
|
||||
softradiuscol->setDefaultEditedState(Irrelevant);
|
||||
opacol->setDefaultEditedState(Irrelevant);
|
||||
csThresholdcol->setDefaultEditedState(Irrelevant);
|
||||
// Exposure
|
||||
expcomp->setDefaultEditedState(Irrelevant);
|
||||
@ -6569,6 +6652,7 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
||||
shadmaskcol->setDefaultEditedState(defSpotState->shadmaskcol ? Edited : UnEdited);
|
||||
lapmaskcol->setDefaultEditedState(defSpotState->lapmaskcol ? Edited : UnEdited);
|
||||
softradiuscol->setDefaultEditedState(defSpotState->softradiuscol ? Edited : UnEdited);
|
||||
opacol->setDefaultEditedState(defSpotState->opacol ? Edited : UnEdited);
|
||||
csThresholdcol->setDefaultEditedState(defSpotState->csthresholdcol ? Edited : UnEdited);
|
||||
// Exposure
|
||||
expcomp->setDefaultEditedState(defSpotState->expcomp ? Edited : UnEdited);
|
||||
@ -6892,6 +6976,12 @@ void Locallab::adjusterChanged(Adjuster * a, double newval)
|
||||
}
|
||||
}
|
||||
|
||||
if (a == opacol) {
|
||||
if (listener) {
|
||||
listener->panelChanged(Evlocallabopacol, opacol->getTextValue());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Exposure
|
||||
@ -7925,6 +8015,7 @@ void Locallab::setBatchMode(bool batchMode)
|
||||
shadmaskcol->showEditedCB();
|
||||
lapmaskcol->showEditedCB();
|
||||
softradiuscol->showEditedCB();
|
||||
opacol->showEditedCB();
|
||||
csThresholdcol->showEditedCB();
|
||||
// Exposure
|
||||
expcomp->showEditedCB();
|
||||
@ -8099,6 +8190,7 @@ void Locallab::setBatchMode(bool batchMode)
|
||||
// Color & Light
|
||||
qualitycurveMethod->append(M("GENERAL_UNCHANGED"));
|
||||
gridMethod->append(M("GENERAL_UNCHANGED"));
|
||||
mergecolMethod->append(M("GENERAL_UNCHANGED"));
|
||||
//exposure
|
||||
expMethod->append(M("GENERAL_UNCHANGED"));
|
||||
exnoiseMethod->append(M("GENERAL_UNCHANGED"));
|
||||
@ -8266,6 +8358,7 @@ void Locallab::enableListener()
|
||||
curvactivConn.block(false);
|
||||
qualitycurveMethodConn.block(false);
|
||||
gridMethodConn.block(false);
|
||||
mergecolMethodConn.block(false);
|
||||
inversConn.block(false);
|
||||
showmaskcolMethodConn.block(false);
|
||||
showmaskcolMethodConninv.block(false);
|
||||
@ -8346,6 +8439,7 @@ void Locallab::disableListener()
|
||||
curvactivConn.block(true);
|
||||
qualitycurveMethodConn.block(true);
|
||||
gridMethodConn.block(true);
|
||||
mergecolMethodConn.block(true);
|
||||
inversConn.block(true);
|
||||
showmaskcolMethodConn.block(true);
|
||||
showmaskcolMethodConninv.block(true);
|
||||
@ -8445,6 +8539,14 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
||||
gridMethod->set_active(1);
|
||||
}
|
||||
|
||||
if (pp->locallab.spots.at(index).mergecolMethod == "one") {
|
||||
mergecolMethod->set_active(0);
|
||||
} else if (pp->locallab.spots.at(index).mergecolMethod == "two") {
|
||||
mergecolMethod->set_active(1);
|
||||
} else if (pp->locallab.spots.at(index).mergecolMethod == "thr") {
|
||||
mergecolMethod->set_active(2);
|
||||
}
|
||||
|
||||
|
||||
if (pp->locallab.spots.at(index).scalereti == 1) {
|
||||
LocalcurveEditorgainT->hide();
|
||||
@ -8477,6 +8579,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
||||
shadmaskcol->setValue(pp->locallab.spots.at(index).shadmaskcol);
|
||||
lapmaskcol->setValue(pp->locallab.spots.at(index).lapmaskcol);
|
||||
softradiuscol->setValue(pp->locallab.spots.at(index).softradiuscol);
|
||||
opacol->setValue(pp->locallab.spots.at(index).opacol);
|
||||
Lmaskshape->setCurve(pp->locallab.spots.at(index).Lmaskcurve);
|
||||
LLmaskcolshapewav->setCurve(pp->locallab.spots.at(index).LLmaskcolcurvewav);
|
||||
csThresholdcol->setValue<int>(pp->locallab.spots.at(index).csthresholdcol);
|
||||
@ -8870,6 +8973,10 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
||||
gridMethod->set_active_text(M("GENERAL_UNCHANGED"));
|
||||
}
|
||||
|
||||
if (!spotState->gridMethod) {
|
||||
mergecolMethod->set_active_text(M("GENERAL_UNCHANGED"));
|
||||
}
|
||||
|
||||
llshape->setUnChanged(!spotState->llcurve);
|
||||
ccshape->setUnChanged(!spotState->cccurve);
|
||||
LHshape->setUnChanged(!spotState->LHcurve);
|
||||
@ -8888,6 +8995,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
||||
shadmaskcol->setEditedState(spotState->shadmaskcol ? Edited : UnEdited);
|
||||
lapmaskcol->setEditedState(spotState->lapmaskcol ? Edited : UnEdited);
|
||||
softradiuscol->setEditedState(spotState->softradiuscol ? Edited : UnEdited);
|
||||
opacol->setEditedState(spotState->opacol ? Edited : UnEdited);
|
||||
Lmaskshape->setUnChanged(!spotState->Lmaskcurve);
|
||||
LLmaskcolshapewav->setUnChanged(!spotState->LLmaskcolcurvewav);
|
||||
csThresholdcol->setEditedState(spotState->csthresholdcol ? Edited : UnEdited);
|
||||
|
@ -160,6 +160,7 @@ private:
|
||||
Adjuster* const lapmaskcol;
|
||||
Adjuster* const shadmaskcol;
|
||||
Adjuster* const softradiuscol;
|
||||
Adjuster* const opacol;
|
||||
// Exposure
|
||||
Adjuster* const expcomp;
|
||||
Adjuster* const hlcompr;
|
||||
@ -395,6 +396,9 @@ private:
|
||||
sigc::connection showmaskcolMethodConn;
|
||||
MyComboBoxText* const showmaskcolMethodinv;
|
||||
sigc::connection showmaskcolMethodConninv;
|
||||
MyComboBoxText* const mergecolMethod;
|
||||
sigc::connection mergecolMethodConn;
|
||||
|
||||
ThresholdAdjuster* const csThresholdcol;
|
||||
//Exposure
|
||||
MyComboBoxText* const showmaskexpMethod;
|
||||
@ -454,6 +458,8 @@ private:
|
||||
Gtk::Button* const lumacontrastPlusButton;
|
||||
sigc::connection lumacontrastMinusPressedConn, lumaneutralPressedConn, lumacontrastPlusPressedConn;
|
||||
Gtk::Frame* gridFrame;
|
||||
Gtk::Frame* mergecolFrame;
|
||||
Gtk::Frame* merge1colFrame;
|
||||
Gtk::Frame* pdeFrame;
|
||||
Gtk::Frame* fatFrame;
|
||||
Gtk::Frame* fatSHFrame;
|
||||
@ -545,6 +551,7 @@ private:
|
||||
void gridMethodChanged();
|
||||
void showmaskcolMethodChanged();
|
||||
void showmaskcolMethodChangedinv();
|
||||
void mergecolMethodChanged();
|
||||
//Exposure
|
||||
void showmaskexpMethodChanged();
|
||||
void showmaskexpMethodChangedinv();
|
||||
|
@ -1004,6 +1004,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
||||
locallab.spots.at(j).lapmaskcol = locallab.spots.at(j).lapmaskcol && pSpot.lapmaskcol == otherSpot.lapmaskcol;
|
||||
locallab.spots.at(j).qualitycurveMethod = locallab.spots.at(j).qualitycurveMethod && pSpot.qualitycurveMethod == otherSpot.qualitycurveMethod;
|
||||
locallab.spots.at(j).gridMethod = locallab.spots.at(j).gridMethod && pSpot.gridMethod == otherSpot.gridMethod;
|
||||
locallab.spots.at(j).mergecolMethod = locallab.spots.at(j).mergecolMethod && pSpot.mergecolMethod == otherSpot.mergecolMethod;
|
||||
locallab.spots.at(j).llcurve = locallab.spots.at(j).llcurve && pSpot.llcurve == otherSpot.llcurve;
|
||||
locallab.spots.at(j).cccurve = locallab.spots.at(j).cccurve && pSpot.cccurve == otherSpot.cccurve;
|
||||
locallab.spots.at(j).LHcurve = locallab.spots.at(j).LHcurve && pSpot.LHcurve == otherSpot.LHcurve;
|
||||
@ -1014,6 +1015,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
||||
locallab.spots.at(j).LLmaskcurve = locallab.spots.at(j).LLmaskcurve && pSpot.LLmaskcurve == otherSpot.LLmaskcurve;
|
||||
locallab.spots.at(j).HHmaskcurve = locallab.spots.at(j).HHmaskcurve && pSpot.HHmaskcurve == otherSpot.HHmaskcurve;
|
||||
locallab.spots.at(j).softradiuscol = locallab.spots.at(j).softradiuscol && pSpot.softradiuscol == otherSpot.softradiuscol;
|
||||
locallab.spots.at(j).opacol = locallab.spots.at(j).opacol && pSpot.opacol == otherSpot.opacol;
|
||||
locallab.spots.at(j).Lmaskcurve = locallab.spots.at(j).Lmaskcurve && pSpot.Lmaskcurve == otherSpot.Lmaskcurve;
|
||||
locallab.spots.at(j).LLmaskcolcurvewav = locallab.spots.at(j).LLmaskcolcurvewav && pSpot.LLmaskcolcurvewav == otherSpot.LLmaskcolcurvewav;
|
||||
locallab.spots.at(j).csthresholdcol = locallab.spots.at(j).csthresholdcol && pSpot.csthresholdcol == otherSpot.csthresholdcol;
|
||||
@ -2934,6 +2936,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
||||
toEdit.locallab.spots.at(i).gridMethod = mods.locallab.spots.at(i).gridMethod;
|
||||
}
|
||||
|
||||
if (locallab.spots.at(i).mergecolMethod) {
|
||||
toEdit.locallab.spots.at(i).mergecolMethod = mods.locallab.spots.at(i).mergecolMethod;
|
||||
}
|
||||
|
||||
if (locallab.spots.at(i).llcurve) {
|
||||
toEdit.locallab.spots.at(i).llcurve = mods.locallab.spots.at(i).llcurve;
|
||||
}
|
||||
@ -2974,6 +2980,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
||||
toEdit.locallab.spots.at(i).softradiuscol = mods.locallab.spots.at(i).softradiuscol;
|
||||
}
|
||||
|
||||
if (locallab.spots.at(i).opacol) {
|
||||
toEdit.locallab.spots.at(i).opacol = mods.locallab.spots.at(i).opacol;
|
||||
}
|
||||
|
||||
if (locallab.spots.at(i).Lmaskcurve) {
|
||||
toEdit.locallab.spots.at(i).Lmaskcurve = mods.locallab.spots.at(i).Lmaskcurve;
|
||||
}
|
||||
@ -4916,6 +4926,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
||||
lapmaskcol(v),
|
||||
qualitycurveMethod(v),
|
||||
gridMethod(v),
|
||||
mergecolMethod(v),
|
||||
llcurve(v),
|
||||
cccurve(v),
|
||||
LHcurve(v),
|
||||
@ -4926,6 +4937,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
||||
LLmaskcurve(v),
|
||||
HHmaskcurve(v),
|
||||
softradiuscol(v),
|
||||
opacol(v),
|
||||
Lmaskcurve(v),
|
||||
LLmaskcolcurvewav(v),
|
||||
csthresholdcol(v),
|
||||
@ -5223,6 +5235,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
||||
lapmaskcol = v;
|
||||
qualitycurveMethod = v;
|
||||
gridMethod = v;
|
||||
mergecolMethod = v;
|
||||
llcurve = v;
|
||||
cccurve = v;
|
||||
LHcurve = v;
|
||||
@ -5233,6 +5246,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
||||
LLmaskcurve = v;
|
||||
HHmaskcurve = v;
|
||||
softradiuscol = v;
|
||||
opacol = v;
|
||||
Lmaskcurve = v;
|
||||
LLmaskcolcurvewav = v;
|
||||
csthresholdcol = v;
|
||||
|
@ -422,6 +422,7 @@ public:
|
||||
bool lapmaskcol;
|
||||
bool qualitycurveMethod;
|
||||
bool gridMethod;
|
||||
bool mergecolMethod;
|
||||
bool llcurve;
|
||||
bool cccurve;
|
||||
bool LHcurve;
|
||||
@ -432,6 +433,7 @@ public:
|
||||
bool LLmaskcurve;
|
||||
bool HHmaskcurve;
|
||||
bool softradiuscol;
|
||||
bool opacol;
|
||||
bool Lmaskcurve;
|
||||
bool LLmaskcolcurvewav;
|
||||
bool csthresholdcol;
|
||||
|
Loading…
x
Reference in New Issue
Block a user