diff --git a/rtgui/addsetids.h b/rtgui/addsetids.h index c18ebddc6..2a123a9f7 100644 --- a/rtgui/addsetids.h +++ b/rtgui/addsetids.h @@ -118,6 +118,7 @@ enum { ADDSET_WA_EDGS, ADDSET_WA_SCALE, ADDSET_WA_GAMMA, + ADDSET_LENSGEOM_SCALE, ADDSET_RETI_STR, ADDSET_RETI_NEIGH, ADDSET_RETI_LIMD, diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index a717bc8e5..c9221aeba 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -3445,7 +3445,7 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng } if (commonTrans.scale) { - toEdit.commonTrans.scale = mods.commonTrans.scale; + toEdit.commonTrans.scale = dontforceSet && options.baBehav[ADDSET_LENSGEOM_SCALE] ? toEdit.commonTrans.scale + mods.commonTrans.scale : mods.commonTrans.scale; } if (commonTrans.autofill) { @@ -3464,7 +3464,7 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.distortion.defish = mods.distortion.defish; } - if (distortion.focal_length != DistortionParams::DEFAULT_FOCAL_LENGTH) { + if (distortion.focal_length) { toEdit.distortion.focal_length = dontforceSet && options.baBehav[ADDSET_DIST_FOCAL_LENGTH] ? toEdit.distortion.focal_length + mods.distortion.focal_length : mods.distortion.focal_length; } diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index bb5b49de6..6c9756051 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -364,6 +364,9 @@ Gtk::Widget* Preferences::getBatchProcPanel() mi->set_value(behavColumns.label, M("TP_RESIZE_LABEL")); appendBehavList(mi, M("TP_RESIZE_SCALE"), ADDSET_RESIZE_SCALE, true); + mi = behModel->append(); + mi->set_value(behavColumns.label, M("TP_LENSGEOM_SCALE")); + appendBehavList(mi, M("TP_LENSGEOM_SCALE"), ADDSET_LENSGEOM_SCALE, true); mi = behModel->append(); mi->set_value(behavColumns.label, M("TP_DISTORTION_LABEL"));