PP3 save: make sure that when nothing is selected, the PP3 is truly empty
Fixes #4330
This commit is contained in:
@@ -97,6 +97,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
||||
commonTrans = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COMMONTRANSFORMPARAMS")));
|
||||
|
||||
// Metadata:
|
||||
metadata = Gtk::manage(new Gtk::CheckButton(M("PARTIALPASTE_METADATA")));
|
||||
exifch = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EXIFCHANGES")));
|
||||
iptc = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_IPTCINFO")));
|
||||
|
||||
@@ -349,6 +350,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
||||
commonTransConn = commonTrans->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true));
|
||||
|
||||
// Metadata:
|
||||
metadataConn = metadata->signal_toggled().connect(sigc::bind (sigc::mem_fun(*meta, &Gtk::CheckButton::set_inconsistent), true));
|
||||
exifchConn = exifch->signal_toggled().connect (sigc::bind (sigc::mem_fun(*meta, &Gtk::CheckButton::set_inconsistent), true));
|
||||
iptcConn = iptc->signal_toggled().connect (sigc::bind (sigc::mem_fun(*meta, &Gtk::CheckButton::set_inconsistent), true));
|
||||
|
||||
@@ -605,11 +607,13 @@ void PartialPasteDlg::compositionToggled ()
|
||||
void PartialPasteDlg::metaToggled ()
|
||||
{
|
||||
|
||||
ConnectionBlocker metadataBlocker(metadataConn);
|
||||
ConnectionBlocker exifchBlocker(exifchConn);
|
||||
ConnectionBlocker iptcBlocker(iptcConn);
|
||||
|
||||
meta->set_inconsistent (false);
|
||||
|
||||
metadata->set_active(meta->get_active());
|
||||
exifch->set_active (meta->get_active ());
|
||||
iptc->set_active (meta->get_active ());
|
||||
}
|
||||
@@ -785,6 +789,10 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param
|
||||
filterPE.commonTrans = falsePE.commonTrans;
|
||||
}
|
||||
|
||||
if (!metadata->get_active()) {
|
||||
filterPE.metadata = falsePE.metadata;
|
||||
}
|
||||
|
||||
if (!exifch->get_active ()) {
|
||||
filterPE.exif = falsePE.exif;
|
||||
}
|
||||
|
@@ -93,6 +93,7 @@ public:
|
||||
Gtk::CheckButton* commonTrans;
|
||||
|
||||
// options in meta:
|
||||
Gtk::CheckButton *metadata;
|
||||
Gtk::CheckButton* exifch;
|
||||
Gtk::CheckButton* iptc;
|
||||
|
||||
@@ -130,7 +131,7 @@ public:
|
||||
sigc::connection vibranceConn, chmixerConn, hsveqConn, rgbcurvesConn, chmixerbwConn, colortoningConn, filmSimulationConn;
|
||||
sigc::connection distortionConn, cacorrConn, vignettingConn, lcpConn;
|
||||
sigc::connection coarserotConn, finerotConn, cropConn, resizeConn, prsharpeningConn, perspectiveConn, commonTransConn;
|
||||
sigc::connection exifchConn, iptcConn, icmConn;
|
||||
sigc::connection metadataConn, exifchConn, iptcConn, icmConn;
|
||||
sigc::connection df_fileConn, df_AutoSelectConn, ff_fileConn, ff_AutoSelectConn, ff_BlurRadiusConn, ff_BlurTypeConn, ff_ClipControlConn;
|
||||
sigc::connection raw_caredblueConn, raw_ca_autocorrectConn, raw_hotpix_filtConn, raw_deadpix_filtConn, raw_linenoiseConn, raw_greenthreshConn, raw_ccStepsConn, raw_methodConn, raw_imagenumConn, raw_dcb_iterationsConn, raw_lmmse_iterationsConn, raw_pixelshiftConn, raw_dcb_enhanceConn, raw_exposConn, raw_preserConn, raw_blackConn;
|
||||
|
||||
|
Reference in New Issue
Block a user