Fix framing tool batch mode behavior

* Add adjuster add/set options to preferences
* Update width/height limits
* Trim adjuster values
* Batch mode fixes
  * Display all settings with sensitivity
  * Add "(Unchanged)" option to combo boxes
  * Fix checked button toggle modes
This commit is contained in:
Daniel Gao
2024-11-12 22:30:48 -05:00
parent 7ccab91434
commit 55480f40ea
7 changed files with 175 additions and 43 deletions

View File

@@ -151,6 +151,7 @@ void BatchToolPanelCoordinator::initSession ()
colorappearance->setAdjusterBehavior (false, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
rotate->setAdjusterBehavior (false);
resize->setAdjusterBehavior (false);
framing->setAdjusterBehavior (false, false, false, false);
distortion->setAdjusterBehavior (false, false);
perspective->setAdjusterBehavior (false, false, false, false, false, false, false);
gradient->setAdjusterBehavior (false, false, false, false);
@@ -196,6 +197,11 @@ void BatchToolPanelCoordinator::initSession ()
colorappearance->setAdjusterBehavior (options.baBehav[ADDSET_CAT_DEGREE], options.baBehav[ADDSET_CAT_ADAPTSCENE], options.baBehav[ADDSET_CAT_ADAPTVIEWING], options.baBehav[ADDSET_CAT_BADPIX], options.baBehav[ADDSET_CAT_LIGHT], options.baBehav[ADDSET_CAT_CHROMA], options.baBehav[ADDSET_CAT_CONTRAST], options.baBehav[ADDSET_CAT_RSTPRO], options.baBehav[ADDSET_CAT_BRIGHT], options.baBehav[ADDSET_CAT_CONTRAST_Q], options.baBehav[ADDSET_CAT_CHROMA_S], options.baBehav[ADDSET_CAT_CHROMA_M], options.baBehav[ADDSET_CAT_HUE],options.baBehav[ADDSET_CAT_DEGREEOUT], options.baBehav[ADDSET_CAT_TEMPOUT] );
rotate->setAdjusterBehavior (options.baBehav[ADDSET_ROTATE_DEGREE]);
resize->setAdjusterBehavior (options.baBehav[ADDSET_RESIZE_SCALE]);
framing->setAdjusterBehavior (
options.baBehav[ADDSET_FRAMING_RELATIVE_SCALE],
options.baBehav[ADDSET_FRAMING_BORDER_RED],
options.baBehav[ADDSET_FRAMING_BORDER_GREEN],
options.baBehav[ADDSET_FRAMING_BORDER_BLUE]);
distortion->setAdjusterBehavior (
options.baBehav[ADDSET_DIST_AMOUNT],
options.baBehav[ADDSET_DIST_FOCAL_LENGTH]
@@ -324,6 +330,10 @@ void BatchToolPanelCoordinator::initSession ()
if (options.baBehav[ADDSET_DEHAZE_STRENGTH]) { pparams.dehaze.strength = 0; }
if (options.baBehav[ADDSET_ROTATE_DEGREE]) { pparams.rotate.degree = 0; }
if (options.baBehav[ADDSET_RESIZE_SCALE]) { pparams.resize.scale = 0; }
if (options.baBehav[ADDSET_FRAMING_RELATIVE_SCALE]) { pparams.framing.relativeBorderSize = 0; }
if (options.baBehav[ADDSET_FRAMING_BORDER_RED]) { pparams.framing.borderRed = 0; }
if (options.baBehav[ADDSET_FRAMING_BORDER_GREEN]) { pparams.framing.borderGreen = 0; }
if (options.baBehav[ADDSET_FRAMING_BORDER_BLUE]) { pparams.framing.borderBlue = 0; }
if (options.baBehav[ADDSET_DIST_AMOUNT]) { pparams.distortion.amount = 0; }
if (options.baBehav[ADDSET_PERSPECTIVE]) { pparams.perspective.horizontal = pparams.perspective.vertical = 0; }
if (options.baBehav[ADDSET_PERSP_CAM_FOCAL_LENGTH]) { pparams.perspective.camera_focal_length = pparams.perspective.camera_crop_factor = 0; }
@@ -467,12 +477,12 @@ void BatchToolPanelCoordinator::panelChanged(const rtengine::ProcEvent& event, c
crop->write (&pparams, &pparamsEdited);
resize->update (pparams.crop.enabled, pparams.crop.w, pparams.crop.h, w, h);
resize->write (&pparams, &pparamsEdited);
framing->update (pparams.crop.enabled, pparams.crop.w, pparams.crop.h, w, h);
framing->update (w, h);
framing->write (&pparams, &pparamsEdited);
} else if (event == rtengine::EvCrop) {
resize->update (pparams.crop.enabled, pparams.crop.w, pparams.crop.h);
resize->write (&pparams, &pparamsEdited);
framing->update (pparams.crop.enabled, pparams.crop.w, pparams.crop.h, w, h);
framing->update (w, h);
framing->write (&pparams, &pparamsEdited);
}
} else {