Bugfix in SpotRemoval tool GUI (Batch Editor) + Partial Paste handling
This commit is contained in:
parent
9bb19eb1a3
commit
8b60ea4794
@ -1022,6 +1022,7 @@ PARTIALPASTE_SHARPENEDGE;Bords
|
|||||||
PARTIALPASTE_SHARPENING;Netteté
|
PARTIALPASTE_SHARPENING;Netteté
|
||||||
PARTIALPASTE_SHARPENMICRO;Microcontraste
|
PARTIALPASTE_SHARPENMICRO;Microcontraste
|
||||||
PARTIALPASTE_SOFTLIGHT;Lumière douce
|
PARTIALPASTE_SOFTLIGHT;Lumière douce
|
||||||
|
PARTIALPASTE_SPOT;Retrait de taches
|
||||||
PARTIALPASTE_TM_FATTAL;Compression de plage dynamique
|
PARTIALPASTE_TM_FATTAL;Compression de plage dynamique
|
||||||
PARTIALPASTE_VIBRANCE;Vibrance
|
PARTIALPASTE_VIBRANCE;Vibrance
|
||||||
PARTIALPASTE_VIGNETTING;Correction du vignettage
|
PARTIALPASTE_VIGNETTING;Correction du vignettage
|
||||||
|
@ -1044,6 +1044,7 @@ PARTIALPASTE_SHARPENEDGE;Edges
|
|||||||
PARTIALPASTE_SHARPENING;Sharpening (USM/RL)
|
PARTIALPASTE_SHARPENING;Sharpening (USM/RL)
|
||||||
PARTIALPASTE_SHARPENMICRO;Microcontrast
|
PARTIALPASTE_SHARPENMICRO;Microcontrast
|
||||||
PARTIALPASTE_SOFTLIGHT;Soft light
|
PARTIALPASTE_SOFTLIGHT;Soft light
|
||||||
|
PARTIALPASTE_SPOT;Spot removal
|
||||||
PARTIALPASTE_TM_FATTAL;Dynamic range compression
|
PARTIALPASTE_TM_FATTAL;Dynamic range compression
|
||||||
PARTIALPASTE_VIBRANCE;Vibrance
|
PARTIALPASTE_VIBRANCE;Vibrance
|
||||||
PARTIALPASTE_VIGNETTING;Vignetting correction
|
PARTIALPASTE_VIGNETTING;Vignetting correction
|
||||||
|
@ -57,6 +57,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
|||||||
labcurve = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LABCURVE")));
|
labcurve = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LABCURVE")));
|
||||||
|
|
||||||
// Detail Settings:
|
// Detail Settings:
|
||||||
|
spot = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SPOT")));
|
||||||
sharpen = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENING")));
|
sharpen = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENING")));
|
||||||
localcontrast = Gtk::manage(new Gtk::CheckButton(M("PARTIALPASTE_LOCALCONTRAST")));
|
localcontrast = Gtk::manage(new Gtk::CheckButton(M("PARTIALPASTE_LOCALCONTRAST")));
|
||||||
sharpenedge = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENEDGE")));
|
sharpenedge = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENEDGE")));
|
||||||
@ -164,6 +165,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
|||||||
//DETAIL
|
//DETAIL
|
||||||
vboxes[1]->pack_start (*detail, Gtk::PACK_SHRINK, 2);
|
vboxes[1]->pack_start (*detail, Gtk::PACK_SHRINK, 2);
|
||||||
vboxes[1]->pack_start (*hseps[1], Gtk::PACK_SHRINK, 2);
|
vboxes[1]->pack_start (*hseps[1], Gtk::PACK_SHRINK, 2);
|
||||||
|
vboxes[1]->pack_start (*spot, Gtk::PACK_SHRINK, 2);
|
||||||
vboxes[1]->pack_start (*sharpen, Gtk::PACK_SHRINK, 2);
|
vboxes[1]->pack_start (*sharpen, Gtk::PACK_SHRINK, 2);
|
||||||
vboxes[1]->pack_start (*localcontrast, Gtk::PACK_SHRINK, 2);
|
vboxes[1]->pack_start (*localcontrast, Gtk::PACK_SHRINK, 2);
|
||||||
vboxes[1]->pack_start (*sharpenedge, Gtk::PACK_SHRINK, 2);
|
vboxes[1]->pack_start (*sharpenedge, Gtk::PACK_SHRINK, 2);
|
||||||
@ -326,6 +328,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
|||||||
labcurveConn = labcurve->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true));
|
labcurveConn = labcurve->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true));
|
||||||
|
|
||||||
// Detail Settings:
|
// Detail Settings:
|
||||||
|
spotConn = spot->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true));
|
||||||
sharpenConn = sharpen->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true));
|
sharpenConn = sharpen->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true));
|
||||||
localcontrastConn = localcontrast->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true));
|
localcontrastConn = localcontrast->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true));
|
||||||
gradsharpenConn = sharpenedge->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true));
|
gradsharpenConn = sharpenedge->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true));
|
||||||
@ -539,6 +542,7 @@ void PartialPasteDlg::basicToggled ()
|
|||||||
void PartialPasteDlg::detailToggled ()
|
void PartialPasteDlg::detailToggled ()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
ConnectionBlocker spotBlocker(spotConn);
|
||||||
ConnectionBlocker sharpenBlocker(sharpenConn);
|
ConnectionBlocker sharpenBlocker(sharpenConn);
|
||||||
ConnectionBlocker localcontrastBlocker(localcontrastConn);
|
ConnectionBlocker localcontrastBlocker(localcontrastConn);
|
||||||
ConnectionBlocker gradsharpenBlocker(gradsharpenConn);
|
ConnectionBlocker gradsharpenBlocker(gradsharpenConn);
|
||||||
@ -551,6 +555,7 @@ void PartialPasteDlg::detailToggled ()
|
|||||||
|
|
||||||
detail->set_inconsistent (false);
|
detail->set_inconsistent (false);
|
||||||
|
|
||||||
|
spot->set_active (detail->get_active ());
|
||||||
sharpen->set_active (detail->get_active ());
|
sharpen->set_active (detail->get_active ());
|
||||||
localcontrast->set_active(detail->get_active());
|
localcontrast->set_active(detail->get_active());
|
||||||
sharpenedge->set_active (detail->get_active ());
|
sharpenedge->set_active (detail->get_active ());
|
||||||
@ -717,6 +722,10 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param
|
|||||||
filterPE.colorappearance = falsePE.colorappearance;
|
filterPE.colorappearance = falsePE.colorappearance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!spot->get_active ()) {
|
||||||
|
filterPE.spot = falsePE.spot;
|
||||||
|
}
|
||||||
|
|
||||||
if (!sharpen->get_active ()) {
|
if (!sharpen->get_active ()) {
|
||||||
filterPE.sharpening = falsePE.sharpening;
|
filterPE.sharpening = falsePE.sharpening;
|
||||||
}
|
}
|
||||||
|
@ -67,6 +67,7 @@ public:
|
|||||||
Gtk::CheckButton* colorappearance;
|
Gtk::CheckButton* colorappearance;
|
||||||
|
|
||||||
// options in detail:
|
// options in detail:
|
||||||
|
Gtk::CheckButton* spot;
|
||||||
Gtk::CheckButton* sharpen;
|
Gtk::CheckButton* sharpen;
|
||||||
Gtk::CheckButton* sharpenedge;
|
Gtk::CheckButton* sharpenedge;
|
||||||
Gtk::CheckButton* sharpenmicro;
|
Gtk::CheckButton* sharpenmicro;
|
||||||
@ -146,7 +147,7 @@ public:
|
|||||||
sigc::connection everythingConn, basicConn, detailConn, colorConn, lensConn, compositionConn, metaConn, rawConn, advancedConn;
|
sigc::connection everythingConn, basicConn, detailConn, colorConn, lensConn, compositionConn, metaConn, rawConn, advancedConn;
|
||||||
|
|
||||||
sigc::connection wbConn, exposureConn, localcontrastConn, shConn, pcvignetteConn, gradientConn, labcurveConn, colorappearanceConn;
|
sigc::connection wbConn, exposureConn, localcontrastConn, shConn, pcvignetteConn, gradientConn, labcurveConn, colorappearanceConn;
|
||||||
sigc::connection sharpenConn, gradsharpenConn, microcontrastConn, impdenConn, dirpyrdenConn, defringeConn, epdConn, fattalConn, dirpyreqConn, waveletConn, retinexConn, dehazeConn;
|
sigc::connection spotConn, sharpenConn, gradsharpenConn, microcontrastConn, impdenConn, dirpyrdenConn, defringeConn, epdConn, fattalConn, dirpyreqConn, waveletConn, retinexConn, dehazeConn;
|
||||||
sigc::connection vibranceConn, chmixerConn, hsveqConn, rgbcurvesConn, chmixerbwConn, colortoningConn, filmSimulationConn, softlightConn;
|
sigc::connection vibranceConn, chmixerConn, hsveqConn, rgbcurvesConn, chmixerbwConn, colortoningConn, filmSimulationConn, softlightConn;
|
||||||
sigc::connection distortionConn, cacorrConn, vignettingConn, lcpConn;
|
sigc::connection distortionConn, cacorrConn, vignettingConn, lcpConn;
|
||||||
sigc::connection coarserotConn, finerotConn, cropConn, resizeConn, prsharpeningConn, perspectiveConn, commonTransConn;
|
sigc::connection coarserotConn, finerotConn, cropConn, resizeConn, prsharpeningConn, perspectiveConn, commonTransConn;
|
||||||
|
@ -131,11 +131,16 @@ void Spot::read (const ProcParams* pp, const ParamsEdited* pedited)
|
|||||||
activeSpot = -1;
|
activeSpot = -1;
|
||||||
lastObject = -1;
|
lastObject = -1;
|
||||||
|
|
||||||
if (spots.size() != oldSize) {
|
if (batchMode) {
|
||||||
createGeometry();
|
editedCheckBox->set_label(Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), spots.size()));
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
if (spots.size() != oldSize) {
|
||||||
|
createGeometry();
|
||||||
|
}
|
||||||
|
|
||||||
updateGeometry();
|
updateGeometry();
|
||||||
|
}
|
||||||
|
|
||||||
enableListener ();
|
enableListener ();
|
||||||
}
|
}
|
||||||
@ -147,7 +152,7 @@ void Spot::write (ProcParams* pp, ParamsEdited* pedited)
|
|||||||
|
|
||||||
if (pedited) {
|
if (pedited) {
|
||||||
pedited->spot.enabled = !get_inconsistent();
|
pedited->spot.enabled = !get_inconsistent();
|
||||||
pedited->spot.entries = !editedCheckBox->get_active();
|
pedited->spot.entries = editedCheckBox->get_active();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,8 +165,10 @@ void Spot::resetPressed()
|
|||||||
editedCheckBox->set_active (true);
|
editedCheckBox->set_active (true);
|
||||||
editedConn.block (false);
|
editedConn.block (false);
|
||||||
|
|
||||||
|
editedCheckBox->set_label(Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), spots.size()));
|
||||||
|
|
||||||
if (listener) {
|
if (listener) {
|
||||||
listener->panelChanged (EvSpotEntry, Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), spots.size()));
|
listener->panelChanged (EvSpotEntry, Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), 0));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!spots.empty()) {
|
if (!spots.empty()) {
|
||||||
@ -783,7 +790,7 @@ void Spot::tweakParams(procparams::ProcParams& pparams)
|
|||||||
//params->raw.xtranssensor.method = RAWParams::XTransSensor::getMethodString(RAWParams::XTransSensor::Method::FAST);
|
//params->raw.xtranssensor.method = RAWParams::XTransSensor::getMethodString(RAWParams::XTransSensor::Method::FAST);
|
||||||
|
|
||||||
// -> disabling all transform
|
// -> disabling all transform
|
||||||
//params->coarse = CoarseTransformParams();
|
//pparams.coarse = CoarseTransformParams();
|
||||||
pparams.lensProf = LensProfParams();
|
pparams.lensProf = LensProfParams();
|
||||||
pparams.cacorrection = CACorrParams();
|
pparams.cacorrection = CACorrParams();
|
||||||
pparams.distortion = DistortionParams();
|
pparams.distortion = DistortionParams();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user