diff --git a/rtengine/procevents.h b/rtengine/procevents.h index 0c2050576..a67680382 100644 --- a/rtengine/procevents.h +++ b/rtengine/procevents.h @@ -188,7 +188,7 @@ enum ProcEvent { EvRGBgCurve=163, EvRGBbCurve=164, EvNeutralExp=165, -// EvLBWtoning=166, -- can be reused -- + EvDemosaicMethodPreProc=166, EvLCCCurve=167, EvLCHCurve=168, EvVibranceSkinTonesCurve=169, diff --git a/rtengine/refreshmap.cc b/rtengine/refreshmap.cc index 90e37ceab..73f0007da 100644 --- a/rtengine/refreshmap.cc +++ b/rtengine/refreshmap.cc @@ -186,7 +186,7 @@ RGBCURVE, // EvRGBrCurve RGBCURVE, // EvRGBgCurve RGBCURVE, // EvRGBbCurve RGBCURVE, // EvNeutralExp -NONE, // --unused--, +DEMOSAIC|M_PREPROC, // EvDemosaicMethodPreProc LUMINANCECURVE, // EvLCCurve LUMINANCECURVE, // EvLCHCurve RGBCURVE, // EvVibranceSkinTonesCurve diff --git a/rtgui/rawprocess.cc b/rtgui/rawprocess.cc index 4a3c0dca1..0522f8e24 100644 --- a/rtgui/rawprocess.cc +++ b/rtgui/rawprocess.cc @@ -91,6 +91,7 @@ void RawProcess::read(const rtengine::procparams::ProcParams* pp, const ParamsEd for( size_t i=0; i< procparams::RAWParams::numMethods;i++) if( pp->raw.dmethod == procparams::RAWParams::methodstring[i]){ dmethod->set_active(i); + oldSelection = i; break; } @@ -221,11 +222,17 @@ void RawProcess::methodChanged () } Glib::ustring methodName=""; - if( curSelection>=0 && curSelection < procparams::RAWParams::numMethods) + bool ppreq = false; + if( curSelection>=0 && curSelection < procparams::RAWParams::numMethods) { methodName = procparams::RAWParams::methodstring[curSelection]; + if (curSelection == procparams::RAWParams::mono || oldSelection == procparams::RAWParams::mono) { + ppreq = true; + } + } + oldSelection = curSelection; if (listener) - listener->panelChanged (EvDemosaicMethod, methodName); + listener->panelChanged (ppreq ? EvDemosaicMethodPreProc : EvDemosaicMethod, methodName); } void RawProcess::dcbEnhanceChanged () diff --git a/rtgui/rawprocess.h b/rtgui/rawprocess.h index 5fbee271d..f88c7bdc0 100644 --- a/rtgui/rawprocess.h +++ b/rtgui/rawprocess.h @@ -41,6 +41,7 @@ class RawProcess : public ToolParamBlock, public AdjusterListener, public Foldab Adjuster* lmmseIterations; bool lastDCBen; + int oldSelection; //bool lastALLen; sigc::connection methodconn,dcbEnhconn; //,allEnhconn; public: