Rerun preprocess when changing to or from mono demosaicer

This commit is contained in:
torger
2014-06-25 00:22:58 +02:00
parent 67e472b4b8
commit f9e7072194
4 changed files with 12 additions and 4 deletions

View File

@@ -188,7 +188,7 @@ enum ProcEvent {
EvRGBgCurve=163, EvRGBgCurve=163,
EvRGBbCurve=164, EvRGBbCurve=164,
EvNeutralExp=165, EvNeutralExp=165,
// EvLBWtoning=166, -- can be reused -- EvDemosaicMethodPreProc=166,
EvLCCCurve=167, EvLCCCurve=167,
EvLCHCurve=168, EvLCHCurve=168,
EvVibranceSkinTonesCurve=169, EvVibranceSkinTonesCurve=169,

View File

@@ -186,7 +186,7 @@ RGBCURVE, // EvRGBrCurve
RGBCURVE, // EvRGBgCurve RGBCURVE, // EvRGBgCurve
RGBCURVE, // EvRGBbCurve RGBCURVE, // EvRGBbCurve
RGBCURVE, // EvNeutralExp RGBCURVE, // EvNeutralExp
NONE, // --unused--, DEMOSAIC|M_PREPROC, // EvDemosaicMethodPreProc
LUMINANCECURVE, // EvLCCurve LUMINANCECURVE, // EvLCCurve
LUMINANCECURVE, // EvLCHCurve LUMINANCECURVE, // EvLCHCurve
RGBCURVE, // EvVibranceSkinTonesCurve RGBCURVE, // EvVibranceSkinTonesCurve

View File

@@ -91,6 +91,7 @@ void RawProcess::read(const rtengine::procparams::ProcParams* pp, const ParamsEd
for( size_t i=0; i< procparams::RAWParams::numMethods;i++) for( size_t i=0; i< procparams::RAWParams::numMethods;i++)
if( pp->raw.dmethod == procparams::RAWParams::methodstring[i]){ if( pp->raw.dmethod == procparams::RAWParams::methodstring[i]){
dmethod->set_active(i); dmethod->set_active(i);
oldSelection = i;
break; break;
} }
@@ -221,11 +222,17 @@ void RawProcess::methodChanged ()
} }
Glib::ustring methodName=""; 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]; methodName = procparams::RAWParams::methodstring[curSelection];
if (curSelection == procparams::RAWParams::mono || oldSelection == procparams::RAWParams::mono) {
ppreq = true;
}
}
oldSelection = curSelection;
if (listener) if (listener)
listener->panelChanged (EvDemosaicMethod, methodName); listener->panelChanged (ppreq ? EvDemosaicMethodPreProc : EvDemosaicMethod, methodName);
} }
void RawProcess::dcbEnhanceChanged () void RawProcess::dcbEnhanceChanged ()

View File

@@ -41,6 +41,7 @@ class RawProcess : public ToolParamBlock, public AdjusterListener, public Foldab
Adjuster* lmmseIterations; Adjuster* lmmseIterations;
bool lastDCBen; bool lastDCBen;
int oldSelection;
//bool lastALLen; //bool lastALLen;
sigc::connection methodconn,dcbEnhconn; //,allEnhconn; sigc::connection methodconn,dcbEnhconn; //,allEnhconn;
public: public: