Merge pull request #7325 from Lawrence37/partial-profile-extra-params-fix

Fix for unwanted partial profile parameters
This commit is contained in:
Lawrence37 2025-03-10 23:36:33 -07:00 committed by GitHub
commit 5b81ac1ad6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 1 deletions

View File

@ -1891,6 +1891,7 @@ PARTIALPASTE_COLORGROUP;Color Related Settings
PARTIALPASTE_COLORTONING;Color toning PARTIALPASTE_COLORTONING;Color toning
PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto-fill PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto-fill
PARTIALPASTE_COMPOSITIONGROUP;Composition Settings PARTIALPASTE_COMPOSITIONGROUP;Composition Settings
PARTIALPASTE_COMPRESSGAMUT;Gamut Compression
PARTIALPASTE_CROP;Crop PARTIALPASTE_CROP;Crop
PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark-frame auto-selection PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark-frame auto-selection
PARTIALPASTE_DARKFRAMEFILE;Dark-frame file PARTIALPASTE_DARKFRAMEFILE;Dark-frame file

View File

@ -244,6 +244,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
wavelet = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EQUALIZER"))); wavelet = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EQUALIZER")));
// Color-Related Settings // Color-Related Settings
compressGamut = Gtk::manage(new Gtk::CheckButton(M("PARTIALPASTE_COMPRESSGAMUT")));
icm = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_ICMSETTINGS"))); icm = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_ICMSETTINGS")));
vibrance = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_VIBRANCE"))); vibrance = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_VIBRANCE")));
chmixer = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_CHANNELMIXER"))); chmixer = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_CHANNELMIXER")));
@ -358,6 +359,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
//COLOR //COLOR
vboxes[2]->pack_start (*color, Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*color, Gtk::PACK_SHRINK, 2);
vboxes[2]->pack_start (*hseps[2], Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*hseps[2], Gtk::PACK_SHRINK, 2);
vboxes[2]->pack_start (*compressGamut, Gtk::PACK_SHRINK, 2);
vboxes[2]->pack_start (*icm, Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*icm, Gtk::PACK_SHRINK, 2);
vboxes[2]->pack_start (*vibrance, Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*vibrance, Gtk::PACK_SHRINK, 2);
vboxes[2]->pack_start (*chmixer, Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*chmixer, Gtk::PACK_SHRINK, 2);
@ -527,6 +529,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
waveletConn = wavelet->signal_toggled().connect (sigc::bind (sigc::mem_fun(*advanced, &Gtk::CheckButton::set_inconsistent), true)); waveletConn = wavelet->signal_toggled().connect (sigc::bind (sigc::mem_fun(*advanced, &Gtk::CheckButton::set_inconsistent), true));
// Color-related Settings: // Color-related Settings:
compressGamutConn = compressGamut->signal_toggled().connect(sigc::bind(sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true));
icmConn = icm->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); icmConn = icm->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true));
vibranceConn = vibrance->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); vibranceConn = vibrance->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true));
chmixerConn = chmixer->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); chmixerConn = chmixer->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true));
@ -777,6 +780,7 @@ void PartialPasteDlg::advancedToggled ()
void PartialPasteDlg::colorToggled () void PartialPasteDlg::colorToggled ()
{ {
ConnectionBlocker compressGamutBlocker(compressGamutConn);
ConnectionBlocker icmBlocker(icmConn); ConnectionBlocker icmBlocker(icmConn);
ConnectionBlocker vibranceBlocker(vibranceConn); ConnectionBlocker vibranceBlocker(vibranceConn);
ConnectionBlocker chmixerBlocker(chmixerConn); ConnectionBlocker chmixerBlocker(chmixerConn);
@ -790,6 +794,7 @@ void PartialPasteDlg::colorToggled ()
color->set_inconsistent (false); color->set_inconsistent (false);
compressGamut->set_active(color->get_active());
icm->set_active (color->get_active ()); icm->set_active (color->get_active ());
vibrance->set_active (color->get_active ()); vibrance->set_active (color->get_active ());
chmixer->set_active (color->get_active ()); chmixer->set_active (color->get_active ());
@ -972,6 +977,10 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param
filterPE.wavelet = falsePE.wavelet; filterPE.wavelet = falsePE.wavelet;
} }
if (!compressGamut->get_active()) {
filterPE.cg = falsePE.cg;
}
if (!icm->get_active ()) { if (!icm->get_active ()) {
filterPE.icm = falsePE.icm; filterPE.icm = falsePE.icm;
} }
@ -1114,9 +1123,11 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param
filterPE.raw.bayersensor.exBlack2 = falsePE.raw.bayersensor.exBlack2; filterPE.raw.bayersensor.exBlack2 = falsePE.raw.bayersensor.exBlack2;
filterPE.raw.bayersensor.exBlack3 = falsePE.raw.bayersensor.exBlack3; filterPE.raw.bayersensor.exBlack3 = falsePE.raw.bayersensor.exBlack3;
filterPE.raw.bayersensor.exTwoGreen = falsePE.raw.bayersensor.exTwoGreen; filterPE.raw.bayersensor.exTwoGreen = falsePE.raw.bayersensor.exTwoGreen;
filterPE.raw.bayersensor.Dehablack = falsePE.raw.bayersensor.Dehablack;
filterPE.raw.xtranssensor.exBlackRed = falsePE.raw.xtranssensor.exBlackRed; filterPE.raw.xtranssensor.exBlackRed = falsePE.raw.xtranssensor.exBlackRed;
filterPE.raw.xtranssensor.exBlackGreen = falsePE.raw.xtranssensor.exBlackGreen; filterPE.raw.xtranssensor.exBlackGreen = falsePE.raw.xtranssensor.exBlackGreen;
filterPE.raw.xtranssensor.exBlackBlue = falsePE.raw.xtranssensor.exBlackBlue; filterPE.raw.xtranssensor.exBlackBlue = falsePE.raw.xtranssensor.exBlackBlue;
filterPE.raw.xtranssensor.Dehablackx = falsePE.raw.xtranssensor.Dehablackx;
} }
if (!raw_pixelshift->get_active ()) { if (!raw_pixelshift->get_active ()) {

View File

@ -158,6 +158,7 @@ public:
Gtk::CheckButton* wavelet; Gtk::CheckButton* wavelet;
// options in color: // options in color:
Gtk::CheckButton* compressGamut;
Gtk::CheckButton* icm; Gtk::CheckButton* icm;
Gtk::CheckButton* vibrance; Gtk::CheckButton* vibrance;
Gtk::CheckButton* chmixer; Gtk::CheckButton* chmixer;
@ -230,7 +231,7 @@ public:
sigc::connection wbConn, exposureConn, localcontrastConn, shConn, pcvignetteConn, gradientConn, labcurveConn, colorappearanceConn; sigc::connection wbConn, exposureConn, localcontrastConn, shConn, pcvignetteConn, gradientConn, labcurveConn, colorappearanceConn;
sigc::connection toneEqualizerConn; sigc::connection toneEqualizerConn;
sigc::connection spotConn, 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 compressGamutConn, 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, framingConn, perspectiveConn, commonTransConn; sigc::connection coarserotConn, finerotConn, cropConn, resizeConn, prsharpeningConn, framingConn, perspectiveConn, commonTransConn;
sigc::connection metadataConn, exifchConn, iptcConn, icmConn; sigc::connection metadataConn, exifchConn, iptcConn, icmConn;