Add in settings enable disable Spot

This commit is contained in:
Desmis 2020-07-07 08:20:34 +02:00
parent 9be94d1456
commit 89a9d1125c
12 changed files with 86 additions and 16 deletions

View File

@ -1752,6 +1752,7 @@ TP_LOCALCONTRAST_LABEL;Contraste Local
TP_LOCALCONTRAST_LIGHTNESS;Niveau des hautes-lumières
TP_LOCALCONTRAST_RADIUS;Rayon
TP_LOCALLAB_ACTIV;Luminosité seulement
TP_LOCALLAB_ACTIVSPOT;Activer le Spot
TP_LOCALLAB_ADJ;Egalisateur Bleu-jaune Rouge-vert
TP_LOCALLAB_ALL;Toutes les rubriques
TP_LOCALLAB_AMOUNT;Quantité

View File

@ -1193,6 +1193,7 @@ HISTORY_MSG_951;Local - Mask Common GF angle
HISTORY_MSG_952;Local - Mask Common soft radius
HISTORY_MSG_953;Local - Mask Common blend chroma
HISTORY_MSG_954;Local - Show-hide tools
HISTORY_MSG_955;Local - Enable Spot
HISTORY_MSG_BLSHAPE;Blur by level
HISTORY_MSG_BLURCWAV;Blur chroma
HISTORY_MSG_BLURWAV;Blur luminance
@ -2329,6 +2330,7 @@ TP_LOCALCONTRAST_LABEL;Local Contrast
TP_LOCALCONTRAST_LIGHTNESS;Lightness level
TP_LOCALCONTRAST_RADIUS;Radius
TP_LOCALLAB_ACTIV;Luminance only
TP_LOCALLAB_ACTIVSPOT;Enable Spot
TP_LOCALLAB_ADJ;Equalizer Blue-yellow Red-green
TP_LOCALLAB_ALL;All rubrics
TP_LOCALLAB_AMOUNT;Amount

View File

@ -684,6 +684,7 @@ struct local_params {
bool fftma;
float blurma;
float contma;
bool activspot;
};
@ -1357,25 +1358,26 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
for (int y = 0; y < 5; y++) {
lp.mullocsh[y] = multish[y];
}
lp.activspot = locallab.spots.at(sp).activ;
lp.logena = locallab.spots.at(sp).explog;
lp.logena = locallab.spots.at(sp).explog && lp.activspot;
lp.detailsh = locallab.spots.at(sp).detailSH;
lp.threshol = thresho;
lp.chromacb = chromcbdl;
lp.expvib = locallab.spots.at(sp).expvibrance;
lp.colorena = locallab.spots.at(sp).expcolor && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0; // Color & Light tool is deactivated if Exposure mask is visible or SHMask
lp.blurena = locallab.spots.at(sp).expblur && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.tonemapena = locallab.spots.at(sp).exptonemap && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.retiena = locallab.spots.at(sp).expreti && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0 && ll_Mask == 0;
lp.lcena = locallab.spots.at(sp).expcontrast && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0 && ll_Mask == 0;
lp.cbdlena = locallab.spots.at(sp).expcbdl && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llretiMask == 0 && lllcMask == 0 && llsharMask == 0 && lllcMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.exposena = locallab.spots.at(sp).expexpose && llColorMask == 0 && llsoftMask == 0 && llSHMask == 0 && lllcMask == 0 && llsharMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0; // Exposure tool is deactivated if Color & Light mask SHmask is visible
lp.hsena = locallab.spots.at(sp).expshadhigh && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0;// Shadow Highlight tool is deactivated if Color & Light mask or SHmask is visible
lp.vibena = locallab.spots.at(sp).expvibrance && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && ll_Mask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible
lp.sharpena = locallab.spots.at(sp).expsharp && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.sfena = locallab.spots.at(sp).expsoft && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.maskena = locallab.spots.at(sp).expmask && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible
lp.expvib = locallab.spots.at(sp).expvibrance && lp.activspot ;
lp.colorena = locallab.spots.at(sp).expcolor && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0; // Color & Light tool is deactivated if Exposure mask is visible or SHMask
lp.blurena = locallab.spots.at(sp).expblur && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.tonemapena = locallab.spots.at(sp).exptonemap && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.retiena = locallab.spots.at(sp).expreti && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0 && ll_Mask == 0;
lp.lcena = locallab.spots.at(sp).expcontrast && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0 && ll_Mask == 0;
lp.cbdlena = locallab.spots.at(sp).expcbdl && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llretiMask == 0 && lllcMask == 0 && llsharMask == 0 && lllcMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.exposena = locallab.spots.at(sp).expexpose && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llSHMask == 0 && lllcMask == 0 && llsharMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0; // Exposure tool is deactivated if Color & Light mask SHmask is visible
lp.hsena = locallab.spots.at(sp).expshadhigh && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && ll_Mask == 0;// Shadow Highlight tool is deactivated if Color & Light mask or SHmask is visible
lp.vibena = locallab.spots.at(sp).expvibrance && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && ll_Mask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible
lp.sharpena = locallab.spots.at(sp).expsharp && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.sfena = locallab.spots.at(sp).expsoft && lp.activspot && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && llvibMask == 0 && ll_Mask == 0;
lp.maskena = locallab.spots.at(sp).expmask && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible
lp.sensv = local_sensiv;
lp.past = chromaPastel;
@ -1421,6 +1423,7 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
lp.sens = lp.senscolor;
lp.sensv = lp.senscolor;
lp.senshs = lp.senscolor;
}
static void calcTransitionrect(const float lox, const float loy, const float ach, const local_params& lp, int &zone, float &localFactor)

View File

@ -977,6 +977,7 @@ enum ProcEventCode {
Evlocallabsoftradiusmask = 951,
Evlocallabblendmaskab = 952,
EvLocallabSpotprevMethod = 953,
Evlocallabactiv = 954,
NUMOFEVENTS
};

View File

@ -2639,6 +2639,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
colorscope(30.0),
transitweak(1.0),
transitgrad(0.0),
activ(true),
avoid(false),
blwh(false),
recurs(false),
@ -3869,6 +3870,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
&& colorscope == other.colorscope
&& transitweak == other.transitweak
&& transitgrad == other.transitgrad
&& activ == other.activ
&& avoid == other.avoid
&& blwh == other.blwh
&& recurs == other.recurs
@ -5390,6 +5392,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
saveToKeyfile(!pedited || spot_edited->colorscope, "Locallab", "Colorscope_" + index_str, spot.colorscope, keyFile);
saveToKeyfile(!pedited || spot_edited->transitweak, "Locallab", "Transitweak_" + index_str, spot.transitweak, keyFile);
saveToKeyfile(!pedited || spot_edited->transitgrad, "Locallab", "Transitgrad_" + index_str, spot.transitgrad, keyFile);
saveToKeyfile(!pedited || spot_edited->activ, "Locallab", "Activ_" + index_str, spot.activ, keyFile);
saveToKeyfile(!pedited || spot_edited->avoid, "Locallab", "Avoid_" + index_str, spot.avoid, keyFile);
saveToKeyfile(!pedited || spot_edited->blwh, "Locallab", "Blwh_" + index_str, spot.blwh, keyFile);
saveToKeyfile(!pedited || spot_edited->recurs, "Locallab", "Recurs_" + index_str, spot.recurs, keyFile);
@ -7056,6 +7059,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
assignFromKeyfile(keyFile, "Locallab", "Colorscope_" + index_str, pedited, spot.colorscope, spotEdited.colorscope);
assignFromKeyfile(keyFile, "Locallab", "Transitweak_" + index_str, pedited, spot.transitweak, spotEdited.transitweak);
assignFromKeyfile(keyFile, "Locallab", "Transitgrad_" + index_str, pedited, spot.transitgrad, spotEdited.transitgrad);
assignFromKeyfile(keyFile, "Locallab", "Activ_" + index_str, pedited, spot.activ, spotEdited.activ);
assignFromKeyfile(keyFile, "Locallab", "Avoid_" + index_str, pedited, spot.avoid, spotEdited.avoid);
assignFromKeyfile(keyFile, "Locallab", "Blwh_" + index_str, pedited, spot.blwh, spotEdited.blwh);
assignFromKeyfile(keyFile, "Locallab", "Recurs_" + index_str, pedited, spot.recurs, spotEdited.recurs);

View File

@ -1000,6 +1000,7 @@ struct LocallabParams {
double colorscope;
double transitweak;
double transitgrad;
bool activ;
bool avoid;
bool blwh;
bool recurs;

View File

@ -980,7 +980,8 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
LUMINANCECURVE, // Evlocallabang_mask
LUMINANCECURVE, // Evlocallabsoftradiusmask
LUMINANCECURVE, // Evlocallabblendmaskab
LUMINANCECURVE // EvLocallabSpotprevMethod
LUMINANCECURVE, // EvLocallabSpotprevMethod
LUMINANCECURVE // Evlocallabactiv
};

View File

@ -79,6 +79,7 @@ ControlSpotPanel::ControlSpotPanel():
scopemask_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SCOPEMASK"), 0, 100, 1, 60))),
lumask_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LUMASK"), 0, 30, 1, 10))),
activ_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_ACTIVSPOT")))),
avoid_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_AVOID")))),
blwh_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_BLWH")))),
recurs_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_RECURS")))),
@ -190,8 +191,11 @@ ControlSpotPanel::ControlSpotPanel():
scrolledwindow_->set_min_content_height(150);
pack_start(*scrolledwindow_);
// Gtk::HBox* const ctboxshape = Gtk::manage(new Gtk::HBox());
Gtk::HBox* const ctboxactivmethod = Gtk::manage(new Gtk::HBox());
ctboxactivmethod->pack_start(*activ_);
pack_start(*ctboxactivmethod);
// Gtk::HBox* const ctboxshape = Gtk::manage(new Gtk::HBox());
Gtk::Label* const labelshape = Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_SHAPETYPE") + ":"));
ctboxshape->pack_start(*labelshape, Gtk::PACK_SHRINK, 4);
shape_->append(M("TP_LOCALLAB_ELI"));
@ -245,6 +249,7 @@ ControlSpotPanel::ControlSpotPanel():
excluFrame->add(*excluBox);
pack_start(*excluFrame);
Gtk::HBox* const ctboxshapemethod = Gtk::manage(new Gtk::HBox());
Gtk::Label* const labelshapemethod = Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_STYPE") + ":"));
ctboxshapemethod->pack_start(*labelshapemethod, Gtk::PACK_SHRINK, 4);
@ -387,6 +392,9 @@ ControlSpotPanel::ControlSpotPanel():
pack_start(*artifBox2);
ToolParamBlock* const specCaseBox = Gtk::manage(new ToolParamBlock());
activConn_ = activ_->signal_toggled().connect(
sigc::mem_fun(*this, &ControlSpotPanel::activChanged));
avoidConn_ = avoid_->signal_toggled().connect(
sigc::mem_fun(*this, &ControlSpotPanel::avoidChanged));
specCaseBox->pack_start(*avoid_);
@ -823,6 +831,7 @@ void ControlSpotPanel::load_ControlSpot_param()
balanh_->setValue((double)row[spots_.balanh]);
colorde_->setValue((double)row[spots_.colorde]);
colorscope_->setValue((double)row[spots_.colorscope]);
activ_->set_active(row[spots_.activ]);
avoid_->set_active(row[spots_.avoid]);
blwh_->set_active(row[spots_.blwh]);
recurs_->set_active(row[spots_.recurs]);
@ -1461,6 +1470,32 @@ void ControlSpotPanel::avoidChanged()
}
}
void ControlSpotPanel::activChanged()
{
// printf("activChanged\n");
// Get selected control spot
const auto s = treeview_->get_selection();
if (!s->count_selected_rows()) {
return;
}
const auto iter = s->get_selected();
Gtk::TreeModel::Row row = *iter;
row[spots_.activ] = activ_->get_active();
// Raise event
if (listener) {
if (activ_->get_active()) {
listener->panelChanged(Evlocallabactiv, M("GENERAL_ENABLED"));
} else {
listener->panelChanged(Evlocallabactiv, M("GENERAL_DISABLED"));
}
}
}
void ControlSpotPanel::blwhChanged()
{
// printf("blwhChanged\n");
@ -1652,6 +1687,7 @@ void ControlSpotPanel::disableParamlistener(bool cond)
balanh_->block(cond);
colorde_->block(cond);
colorscope_->block(cond);
activConn_.block(cond);
avoidConn_.block(cond);
blwhConn_.block(cond);
recursConn_.block(cond);
@ -1694,6 +1730,7 @@ void ControlSpotPanel::setParamEditable(bool cond)
balanh_->set_sensitive(cond);
colorde_->set_sensitive(cond);
colorscope_->set_sensitive(cond);
activ_->set_sensitive(cond);
avoid_->set_sensitive(cond);
blwh_->set_sensitive(cond);
recurs_->set_sensitive(cond);
@ -2355,6 +2392,7 @@ ControlSpotPanel::SpotRow* ControlSpotPanel::getSpot(const int index)
r->transitgrad = row[spots_.transitgrad];
r->scopemask = row[spots_.scopemask];
r->lumask = row[spots_.lumask];
r->activ = row[spots_.activ];
r->avoid = row[spots_.avoid];
r->blwh = row[spots_.blwh];
r->recurs = row[spots_.recurs];
@ -2484,6 +2522,7 @@ void ControlSpotPanel::addControlSpot(SpotRow* newSpot)
row[spots_.balanh] = newSpot->balanh;
row[spots_.colorde] = newSpot->colorde;
row[spots_.colorscope] = newSpot->colorscope;
row[spots_.activ] = newSpot->activ;
row[spots_.avoid] = newSpot->avoid;
row[spots_.blwh] = newSpot->blwh;
row[spots_.recurs] = newSpot->recurs;
@ -2597,6 +2636,7 @@ ControlSpotPanel::ControlSpots::ControlSpots()
add(balanh);
add(colorde);
add(colorscope);
add(activ);
add(avoid);
add(blwh);
add(recurs);

View File

@ -75,6 +75,7 @@ public:
double balanh;
double colorde;
double colorscope;
bool activ;
bool avoid;
bool blwh;
bool recurs;
@ -244,6 +245,7 @@ private:
void adjusterChanged(Adjuster* a, double newval) override;
void activChanged();
void avoidChanged();
void blwhChanged();
void recursChanged();
@ -303,6 +305,7 @@ private:
Gtk::TreeModelColumn<double> balanh;
Gtk::TreeModelColumn<double> colorde;
Gtk::TreeModelColumn<double> colorscope;
Gtk::TreeModelColumn<bool> activ;
Gtk::TreeModelColumn<bool> avoid;
Gtk::TreeModelColumn<bool> blwh;
Gtk::TreeModelColumn<bool> recurs;
@ -390,6 +393,8 @@ private:
Adjuster* const scopemask_;
Adjuster* const lumask_;
Gtk::CheckButton* const activ_;
sigc::connection activConn_;
Gtk::CheckButton* const avoid_;
sigc::connection avoidConn_;
Gtk::CheckButton* const blwh_;

View File

@ -311,6 +311,7 @@ void Locallab::read(const rtengine::procparams::ProcParams* pp, const ParamsEdit
r->balanh = pp->locallab.spots.at(i).balanh;
r->colorde = pp->locallab.spots.at(i).colorde;
r->colorscope = pp->locallab.spots.at(i).colorscope;
r->activ = pp->locallab.spots.at(i).activ;
r->avoid = pp->locallab.spots.at(i).avoid;
r->blwh = pp->locallab.spots.at(i).blwh;
r->recurs = pp->locallab.spots.at(i).recurs;
@ -485,6 +486,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited
r->balanh = newSpot->balanh;
r->colorde = newSpot->colorde;
r->colorscope = newSpot->colorscope;
r->activ = newSpot->activ;
r->avoid = newSpot->avoid;
r->blwh = newSpot->blwh;
r->recurs = newSpot->recurs;
@ -768,6 +770,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited
r->balanh = newSpot->balanh;
r->colorde = newSpot->colorde;
r->colorscope = newSpot->colorscope;
r->activ = newSpot->activ;
r->avoid = newSpot->avoid;
r->blwh = newSpot->blwh;
r->recurs = newSpot->recurs;
@ -915,6 +918,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited
pp->locallab.spots.at(pp->locallab.selspot).balanh = r->balanh;
pp->locallab.spots.at(pp->locallab.selspot).colorde = r->colorde;
pp->locallab.spots.at(pp->locallab.selspot).colorscope = r->colorscope;
pp->locallab.spots.at(pp->locallab.selspot).activ = r->activ;
pp->locallab.spots.at(pp->locallab.selspot).avoid = r->avoid;
pp->locallab.spots.at(pp->locallab.selspot).blwh = r->blwh;
pp->locallab.spots.at(pp->locallab.selspot).recurs = r->recurs;

View File

@ -1048,6 +1048,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
locallab.spots.at(j).colorscope = locallab.spots.at(j).colorscope && pSpot.colorscope == otherSpot.colorscope;
locallab.spots.at(j).transitweak = locallab.spots.at(j).transitweak && pSpot.transitweak == otherSpot.transitweak;
locallab.spots.at(j).transitgrad = locallab.spots.at(j).transitgrad && pSpot.transitgrad == otherSpot.transitgrad;
locallab.spots.at(j).activ = locallab.spots.at(j).activ && pSpot.activ == otherSpot.activ;
locallab.spots.at(j).avoid = locallab.spots.at(j).avoid && pSpot.avoid == otherSpot.avoid;
locallab.spots.at(j).blwh = locallab.spots.at(j).blwh && pSpot.blwh == otherSpot.blwh;
locallab.spots.at(j).recurs = locallab.spots.at(j).recurs && pSpot.recurs == otherSpot.recurs;
@ -3159,6 +3160,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.locallab.spots.at(i).transitgrad = mods.locallab.spots.at(i).transitgrad;
}
if (locallab.spots.at(i).activ) {
toEdit.locallab.spots.at(i).activ = mods.locallab.spots.at(i).activ;
}
if (locallab.spots.at(i).avoid) {
toEdit.locallab.spots.at(i).avoid = mods.locallab.spots.at(i).avoid;
}
@ -6077,6 +6082,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
colorscope(v),
transitweak(v),
transitgrad(v),
activ(v),
avoid(v),
blwh(v),
recurs(v),
@ -6560,6 +6566,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
colorscope = v;
transitweak = v;
transitgrad = v;
activ = v;
avoid = v;
blwh = v;
recurs = v;

View File

@ -414,6 +414,7 @@ public:
bool colorscope;
bool transitweak;
bool transitgrad;
bool activ;
bool avoid;
bool blwh;
bool recurs;