diff --git a/rtdata/languages/default b/rtdata/languages/default index 8b6f64edb..942bf0afb 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -402,6 +402,7 @@ NAVIGATOR_V_VALUE;V = %1 NAVIGATOR_XY_NA;x = n/a, y = n/a PARTIALPASTE_BASICGROUP;Basic settings PARTIALPASTE_CACORRECTION;C/A correction +PARTIALPASTE_CHANNELMIXER;Channel mixer PARTIALPASTE_COARSETRANS;90 deg rotation / flipping PARTIALPASTE_COLORBOOST;Color boost PARTIALPASTE_COLORDENOISE;Color denoise @@ -409,26 +410,52 @@ PARTIALPASTE_COLORGROUP;Color related settings PARTIALPASTE_COLORMIXER;Color mixer PARTIALPASTE_COLORSHIFT;Color shift PARTIALPASTE_COMPOSITIONGROUP;Composition settings +PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill PARTIALPASTE_CROP;Crop +PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select +PARTIALPASTE_DARKFRAMEFILE;Dark Frame File +PARTIALPASTE_DEFRINGE;Defringe +PARTIALPASTE_DETAILGROUP;Detail settings PARTIALPASTE_DIALOGLABEL;Partial paste processing profile +PARTIALPASTE_DIRPYRDENOISE;Noise reduction +PARTIALPASTE_DIRPYREQUALIZER;Contrast by detail levels PARTIALPASTE_DISTORTION;Distortion correction +PARTIALPASTE_EVERYTHING;Everything PARTIALPASTE_EXIFCHANGES;Changes to exif data PARTIALPASTE_EXPOSURE;Exposure +PARTIALPASTE_HLRECONSTRUCTION;Highlight reconstruction PARTIALPASTE_HLRECOVERY;Highlight recovery PARTIALPASTE_HLRECOVERYAMOUNT;Highlight recovery amount PARTIALPASTE_HLRECOVERYTHRESHOLD;Highlight recovery threshold +PARTIALPASTE_HSVEQUALIZER;HSV Equalizer +PARTIALPASTE_IMPULSEDENOISE;Impulse noise reduction PARTIALPASTE_ICMSETTINGS;ICM settings PARTIALPASTE_IPTCINFO;IPTC info -PARTIALPASTE_LABCURVE;Lab curve +PARTIALPASTE_LABCURVE;Lab adjustments PARTIALPASTE_LENSGROUP;Lens related settings PARTIALPASTE_LUMADENOISE;Luminance noise reduction PARTIALPASTE_LUMINANCEGROUP;Luminance related settings PARTIALPASTE_METAICMGROUP;Metadata/ICM settings +PARTIALPASTE_PERSPECTIVE;Perspective +PARTIALPASTE_PREPROCESS_GREENEQUIL;Green equilibration +PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Apply hot/dead pixel filter +PARTIALPASTE_PREPROCESS_LINEDENOISE;Line noise filter +PARTIALPASTE_RAWCACORR_AUTO;CA auto correction +PARTIALPASTE_RAWCACORR_CABLUE;CA Blue +PARTIALPASTE_RAWCACORR_CARED;CA Red +PARTIALPASTE_RAWEXPOS_LINEAR;Exposure linear corr. factor +PARTIALPASTE_RAWEXPOS_PRESER;Exposure HL preserving corr. (EV) +PARTIALPASTE_RAWGROUP;Raw settings +PARTIALPASTE_RAW_DCBENHANCE;Apply DCB enhancement step +PARTIALPASTE_RAW_DCBITERATIONS;Number of DCB iterations +PARTIALPASTE_RAW_DMETHOD;Demosaic Method +PARTIALPASTE_RAW_FALSECOLOR;Demosaic False color suppression steps PARTIALPASTE_RESIZE;Resize PARTIALPASTE_ROTATION;Rotation PARTIALPASTE_SHADOWSHIGHLIGHTS;Shadows/Highlights PARTIALPASTE_SHARPENING;Sharpening PARTIALPASTE_VIGNETTING;Vignetting correction +PARTIALPASTE_WAVELETEQUALIZER;Wavelet equalizer PARTIALPASTE_WHITEBALANCE;White balance POPUPBUTTON_SELECTOPTIONHINT;RMB to change option PREFERENCES_ADD;ADD @@ -526,6 +553,7 @@ PREFERENCES_TAB_GENERAL;General PREFERENCES_TAB_IMPROC;Image Processing PREFERENCES_TAB_OUTPUT;Output Options PREFERENCES_THUMBSIZE;Thumbnail Size +PREFERENCES_TUNNELMETADATA;Copy IPTC/XMP unchanged to output file (when tagging with other program) PREFERENCES_USESYSTEMTHEME; Use System Theme PREFERENCES_WORKFLOW;Workflow PROFILEPANEL_FILEDLGFILTERANY;Any files diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index 37fe8099c..595ab30b2 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -487,7 +487,7 @@ void ImProcFunctions::chrominanceCurve (LabImage* lold, LabImage* lnew, float* a void ImProcFunctions::colorCurve (LabImage* lold, LabImage* lnew) { - double* cmultiplier = new double [181021]; + /*double* cmultiplier = new double [181021]; double boost_a = (params->colorBoost.amount + 100.0) / 100.0; double boost_b = (params->colorBoost.amount + 100.0) / 100.0; @@ -561,7 +561,7 @@ void ImProcFunctions::colorCurve (LabImage* lold, LabImage* lnew) { lnew->b[i][j] = CLIPTO(nnb,-32000,32000); } - delete [] cmultiplier; + delete [] cmultiplier;*/ } void ImProcFunctions::impulsedenoise (LabImage* lab) { @@ -597,15 +597,17 @@ void ImProcFunctions::colorCurve (LabImage* lold, LabImage* lnew) { void ImProcFunctions::lumadenoise (LabImage* lab, int** b2) { - if (params->lumaDenoise.enabled && lab->W>=8 && lab->H>=8) + /*if (params->lumaDenoise.enabled && lab->W>=8 && lab->H>=8) #ifdef _OPENMP #pragma omp parallel #endif - bilateral (lab->L, lab->L, (unsigned short**)b2, lab->W, lab->H, params->lumaDenoise.radius / scale, params->lumaDenoise.edgetolerance, multiThread); + bilateral (lab->L, lab->L, (unsigned short**)b2, lab->W, lab->H, \ + params->lumaDenoise.radius / scale, params->lumaDenoise.edgetolerance, multiThread); + */ } void ImProcFunctions::colordenoise (LabImage* lab, int** b2) { - + /* if (params->colorDenoise.enabled && lab->W>=8 && lab->H>=8) { #ifdef _OPENMP #pragma omp parallel @@ -620,6 +622,7 @@ void ImProcFunctions::colordenoise (LabImage* lab, int** b2) { delete buffer; } } + */ } void ImProcFunctions::getAutoExp (unsigned int* histogram, int histcompr, double expcomp, double clip, double& br, int& bl) { diff --git a/rtgui/partialpastedlg.cc b/rtgui/partialpastedlg.cc index 88dd47e32..dcff37bc2 100644 --- a/rtgui/partialpastedlg.cc +++ b/rtgui/partialpastedlg.cc @@ -24,29 +24,33 @@ PartialPasteDlg::PartialPasteDlg () { set_modal (true); set_title (M("PARTIALPASTE_DIALOGLABEL")); + everything = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EVERYTHING"))); + basic = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_BASICGROUP"))); - luminance = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LUMINANCEGROUP"))); + detail = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DETAILGROUP"))); color = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORGROUP"))); lens = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LENSGROUP"))); composition = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COMPOSITIONGROUP"))); metaicm = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_METAICMGROUP"))); + raw = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWGROUP"))); // options in basic: wb = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_WHITEBALANCE"))); exposure = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EXPOSURE"))); - hlrec = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_HLRECOVERY"))); + hlrec = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_HLRECONSTRUCTION"))); + sh = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHADOWSHIGHLIGHTS"))); + labcurve = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LABCURVE"))); - // options in luminance: + // options in detail: sharpen = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENING"))); impden = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_IMPULSEDENOISE"))); lumaden = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LUMADENOISE"))); - labcurve = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LABCURVE"))); - sh = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHADOWSHIGHLIGHTS"))); dirpyreq = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DIRPYREQUALIZER"))); waveq = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_WAVELETEQUALIZER"))); + defringe = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DEFRINGE"))); // options in color: - colormixer = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORMIXER"))); + chmixer = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_CHANNELMIXER"))); colorshift = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORSHIFT"))); colorboost = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORBOOST"))); colorden = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORDENOISE"))); @@ -63,17 +67,39 @@ PartialPasteDlg::PartialPasteDlg () { finerot = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_ROTATION"))); crop = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_CROP"))); resize = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RESIZE"))); + perspective = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_PERSPECTIVE"))); + commonTrans = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COMMONTRANSFORMPARAMS"))); // options in metaicm: exifch = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EXIFCHANGES"))); iptc = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_IPTCINFO"))); icm = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_ICMSETTINGS"))); - Gtk::VBox* vboxes[6]; - Gtk::HSeparator* hseps[6]; - for (int i=0; i<6; i++) { + // options in raw: + raw_expos = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWEXPOS_LINEAR"))); + raw_preser = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWEXPOS_PRESER"))); + raw_ca_autocorrect = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWCACORR_AUTO"))); + raw_cared = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWCACORR_CARED"))); + raw_cablue = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWCACORR_CABLUE"))); + raw_hotdeadpix_filt = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT"))); + raw_linenoise = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_PREPROCESS_LINEDENOISE"))); + raw_greenthresh = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_PREPROCESS_GREENEQUIL"))); + raw_dmethod = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAW_DMETHOD"))); + raw_ccSteps = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAW_FALSECOLOR"))); + raw_dcb_iterations = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAW_DCBITERATIONS"))); + raw_dcb_enhance = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAW_DCBENHANCE"))); + df_file = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DARKFRAMEFILE"))); + df_AutoSelect = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DARKFRAMEAUTOSELECT"))); + //ff_file = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDFILE"))); + //ff_AutoSelect = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDAUTOSELECT"))); + //ff_BlurRadius = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDBLURRADIUS"))); + //ff_BlurType = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDBLURTYPE"))); + + Gtk::VBox* vboxes[7]; + Gtk::HSeparator* hseps[7]; + for (int i=0; i<7; i++) { vboxes[i] = Gtk::manage (new Gtk::VBox ()); - vboxes[i]->set_border_width (16); + vboxes[i]->set_border_width (6); hseps[i] = Gtk::manage (new Gtk::HSeparator ()); } @@ -82,26 +108,26 @@ PartialPasteDlg::PartialPasteDlg () { vboxes[0]->pack_start (*wb, Gtk::PACK_SHRINK, 2); vboxes[0]->pack_start (*exposure, Gtk::PACK_SHRINK, 2); vboxes[0]->pack_start (*hlrec, Gtk::PACK_SHRINK, 2); + vboxes[0]->pack_start (*sh, Gtk::PACK_SHRINK, 2); + vboxes[0]->pack_start (*labcurve, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*luminance, Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*detail, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*hseps[1], Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*sharpen, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*impden, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*lumaden, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*labcurve, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*sh, Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*impden, Gtk::PACK_SHRINK, 2); + //vboxes[1]->pack_start (*lumaden, Gtk::PACK_SHRINK, 2); + //vboxes[1]->pack_start (*colorden, Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*dirpyrden, Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*defringe, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*dirpyreq, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*waveq, Gtk::PACK_SHRINK, 2); + //vboxes[1]->pack_start (*waveq, Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*color, Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*hseps[2], Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*colormixer, Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*colorshift, Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*colorboost, Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*hsveq, Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*colorden, Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*dirpyrden, Gtk::PACK_SHRINK, 2); - + vboxes[2]->pack_start (*chmixer, Gtk::PACK_SHRINK, 2); + //vboxes[2]->pack_start (*colorshift, Gtk::PACK_SHRINK, 2); + //vboxes[2]->pack_start (*colorboost, Gtk::PACK_SHRINK, 2); + vboxes[2]->pack_start (*hsveq, Gtk::PACK_SHRINK, 2); vboxes[3]->pack_start (*lens, Gtk::PACK_SHRINK, 2); vboxes[3]->pack_start (*hseps[3], Gtk::PACK_SHRINK, 2); @@ -115,6 +141,8 @@ PartialPasteDlg::PartialPasteDlg () { vboxes[4]->pack_start (*finerot, Gtk::PACK_SHRINK, 2); vboxes[4]->pack_start (*crop, Gtk::PACK_SHRINK, 2); vboxes[4]->pack_start (*resize, Gtk::PACK_SHRINK, 2); + vboxes[4]->pack_start (*perspective, Gtk::PACK_SHRINK, 2); + vboxes[4]->pack_start (*commonTrans, Gtk::PACK_SHRINK, 2); vboxes[5]->pack_start (*metaicm, Gtk::PACK_SHRINK, 2); vboxes[5]->pack_start (*hseps[5], Gtk::PACK_SHRINK, 2); @@ -122,49 +150,88 @@ PartialPasteDlg::PartialPasteDlg () { vboxes[5]->pack_start (*iptc, Gtk::PACK_SHRINK, 2); vboxes[5]->pack_start (*icm, Gtk::PACK_SHRINK, 2); - Gtk::VBox* vbleft = Gtk::manage (new Gtk::VBox ()); - Gtk::VBox* vbright = Gtk::manage (new Gtk::VBox ()); + vboxes[6]->pack_start (*raw, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*hseps[6], Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_dmethod, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_ccSteps, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_dcb_iterations, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_dcb_enhance, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_linenoise, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_greenthresh, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_hotdeadpix_filt, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_expos, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_preser, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*df_file, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*df_AutoSelect, Gtk::PACK_SHRINK, 2); + //vboxes[6]->pack_start (*ff_file, Gtk::PACK_SHRINK, 2); + //vboxes[6]->pack_start (*ff_AutoSelect, Gtk::PACK_SHRINK, 2); + //vboxes[6]->pack_start (*ff_BlurType, Gtk::PACK_SHRINK, 2); + //vboxes[6]->pack_start (*ff_BlurRadius, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_ca_autocorrect, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_cared, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_cablue, Gtk::PACK_SHRINK, 2); - vbleft->set_border_width (16); - vbright->set_border_width (16); + Gtk::VBox* vbCol1 = Gtk::manage (new Gtk::VBox ()); + Gtk::VBox* vbCol2 = Gtk::manage (new Gtk::VBox ()); + Gtk::VBox* vbCol3 = Gtk::manage (new Gtk::VBox ()); + + vbCol1->set_border_width (8); + vbCol2->set_border_width (8); + vbCol3->set_border_width (8); for (int i=0; i<3; i++) - vbleft->pack_start (*vboxes[i]); + vbCol1->pack_start (*vboxes[i]); for (int i=3; i<6; i++) - vbright->pack_start (*vboxes[i]); + vbCol2->pack_start (*vboxes[i]); + for (int i=6; i<7; i++) + vbCol3->pack_start (*vboxes[i]); + + Gtk::VBox* vbtop = Gtk::manage (new Gtk::VBox ()); + vbtop->pack_start (*everything, Gtk::PACK_SHRINK, 2); + vbtop->pack_start (*(Gtk::manage (new Gtk::HSeparator ()))); + vbtop->set_border_width (8); + + get_vbox()->pack_start (*vbtop); Gtk::HBox* hbmain = Gtk::manage (new Gtk::HBox ()); - hbmain->pack_start (*vbleft); + hbmain->pack_start (*vbCol1); hbmain->pack_start (*(Gtk::manage (new Gtk::VSeparator ()))); - hbmain->pack_start (*vbright); + hbmain->pack_start (*vbCol2); + hbmain->pack_start (*(Gtk::manage (new Gtk::VSeparator ()))); + hbmain->pack_start (*vbCol3); get_vbox()->pack_start (*hbmain); + // This can be improved + // there is currently no binding of subsettings to CheckButton 'everything' for its inconsistent status + everythingConn = everything->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::everythingToggled)); basicConn = basic->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::basicToggled)); - luminanceConn = luminance->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::luminanceToggled)); + detailConn = detail->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::detailToggled)); colorConn = color->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::colorToggled)); lensConn = lens->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::lensToggled)); compositionConn = composition->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::compositionToggled)); metaicmConn = metaicm->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::metaicmToggled)); + rawConn = raw->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::rawToggled)); wbConn = wb->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); exposureConn = exposure->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); hlrecConn = hlrec->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); + shConn = sh->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); + labcurveConn = labcurve->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); - sharpenConn = sharpen->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - impdenConn = impden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - lumadenConn = lumaden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - labcurveConn = labcurve->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - shConn = sh->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - dirpyreqConn = dirpyreq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - waveqConn = waveq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); + sharpenConn = sharpen->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + impdenConn = impden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + //lumadenConn = lumaden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + //colordenConn = colorden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + dirpyrdenConn = dirpyrden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + dirpyreqConn = dirpyreq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + //waveqConn = waveq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + defringeConn = defringe->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); - colormixerConn = colormixer->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - colorshiftConn = colorshift->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - colorboostConn = colorboost->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - hsveqConn = hsveq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - colordenConn = colorden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - dirpyrdenConn = dirpyrden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); + chmixerConn = chmixer->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); + //colorshiftConn = colorshift->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); + //colorboostConn = colorboost->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); + hsveqConn = hsveq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); distortionConn = distortion->signal_toggled().connect (sigc::bind (sigc::mem_fun(*lens, &Gtk::CheckButton::set_inconsistent), true)); cacorrConn = cacorr->signal_toggled().connect (sigc::bind (sigc::mem_fun(*lens, &Gtk::CheckButton::set_inconsistent), true)); @@ -174,11 +241,32 @@ PartialPasteDlg::PartialPasteDlg () { finerotConn = finerot->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); cropConn = crop->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); resizeConn = resize->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); + perspectiveConn = perspective->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); + commonTransConn = commonTrans->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); exifchConn = exifch->signal_toggled().connect (sigc::bind (sigc::mem_fun(*metaicm, &Gtk::CheckButton::set_inconsistent), true)); iptcConn = iptc->signal_toggled().connect (sigc::bind (sigc::mem_fun(*metaicm, &Gtk::CheckButton::set_inconsistent), true)); icmConn = icm->signal_toggled().connect (sigc::bind (sigc::mem_fun(*metaicm, &Gtk::CheckButton::set_inconsistent), true)); + raw_dmethodConn = raw_dmethod->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_ccStepsConn = raw_ccSteps->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_dcb_iterationsConn = raw_dcb_iterations->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_dcb_enhanceConn = raw_dcb_enhance->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_exposConn = raw_expos->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_preserConn = raw_preser->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_ca_autocorrectConn = raw_ca_autocorrect->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_caredConn = raw_cared->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_cablueConn = raw_cablue->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_hotdeadpix_filtConn = raw_hotdeadpix_filt->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_linenoiseConn = raw_linenoise->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_greenthreshConn = raw_greenthresh->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + df_fileConn = df_file->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + df_AutoSelectConn = df_AutoSelect->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + //ff_fileConn = ff_file->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + //ff_AutoSelectConn = ff_AutoSelect->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + //ff_BlurRadiusConn = ff_BlurRadius->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + //ff_BlurTypeConn = ff_BlurType->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + add_button (Gtk::StockID("gtk-ok"), 1); add_button (Gtk::StockID("gtk-cancel"), 0); set_response_sensitive (1); @@ -186,74 +274,180 @@ PartialPasteDlg::PartialPasteDlg () { show_all_children (); } +void PartialPasteDlg::everythingToggled () { + + basicConn.block (true); + detailConn.block (true); + colorConn.block (true); + lensConn.block (true); + compositionConn.block (true); + metaicmConn.block (true); + rawConn.block (true); + + everything->set_inconsistent (false); + + //toggle group headings + basic->set_active(everything->get_active()); + detail->set_active(everything->get_active()); + color->set_active(everything->get_active()); + lens->set_active(everything->get_active()); + composition->set_active(everything->get_active()); + metaicm->set_active(everything->get_active()); + raw->set_active(everything->get_active()); + + //toggle group children + PartialPasteDlg::basicToggled (); + PartialPasteDlg::detailToggled (); + PartialPasteDlg::colorToggled (); + PartialPasteDlg::lensToggled (); + PartialPasteDlg::compositionToggled (); + PartialPasteDlg::metaicmToggled (); + PartialPasteDlg::rawToggled (); + + basicConn.block (false); + detailConn.block (false); + colorConn.block (false); + lensConn.block (false); + compositionConn.block (false); + metaicmConn.block (false); + rawConn.block (false); +} + +void PartialPasteDlg::rawToggled () { + + raw_dmethodConn.block (true); + raw_ccStepsConn.block (true); + raw_dcb_iterationsConn.block (true); + raw_dcb_enhanceConn.block (true); + raw_exposConn.block (true); + raw_preserConn.block (true); + raw_ca_autocorrectConn.block (true); + raw_caredConn.block (true); + raw_cablueConn.block (true); + raw_hotdeadpix_filtConn.block (true); + raw_linenoiseConn.block (true); + raw_greenthreshConn.block (true); + df_fileConn.block (true); + df_AutoSelectConn.block (true); + //ff_fileConn.block (true); + //ff_AutoSelectConn.block (true); + //ff_BlurRadiusConn.block (true); + //ff_BlurTypeConn.block (true); + + raw->set_inconsistent (false); + + raw_dmethod->set_active (raw->get_active ()); + raw_ccSteps->set_active (raw->get_active ()); + raw_dcb_iterations->set_active (raw->get_active ()); + raw_dcb_enhance->set_active (raw->get_active ()); + raw_expos->set_active (raw->get_active ()); + raw_preser->set_active (raw->get_active ()); + raw_ca_autocorrect->set_active (raw->get_active ()); + raw_cared->set_active (raw->get_active ()); + raw_cablue->set_active (raw->get_active ()); + raw_hotdeadpix_filt->set_active (raw->get_active ()); + raw_linenoise->set_active (raw->get_active ()); + raw_greenthresh->set_active (raw->get_active ()); + df_file->set_active (raw->get_active ()); + df_AutoSelect->set_active (raw->get_active ()); + //ff_file->set_active (raw->get_active ()); + //ff_AutoSelect->set_active (raw->get_active ()); + //ff_BlurRadius->set_active (raw->get_active ()); + //ff_BlurType->set_active (raw->get_active ()); + + raw_dmethodConn.block (false); + raw_ccStepsConn.block (false); + raw_dcb_iterationsConn.block (false); + raw_dcb_enhanceConn.block (false); + raw_exposConn.block (false); + raw_preserConn.block (false); + raw_ca_autocorrectConn.block (false); + raw_caredConn.block (false); + raw_cablueConn.block (false); + raw_hotdeadpix_filtConn.block (false); + raw_linenoiseConn.block (false); + raw_greenthreshConn.block (false); + df_fileConn.block (false); + df_AutoSelectConn.block (false); + //ff_fileConn.block (false); + //ff_AutoSelectConn.block (false); + //ff_BlurRadiusConn.block (false); + //ff_BlurTypeConn.block (false); +} + void PartialPasteDlg::basicToggled () { wbConn.block (true); exposureConn.block (true); hlrecConn.block (true); + shConn.block (true); + labcurveConn.block (true); basic->set_inconsistent (false); wb->set_active (basic->get_active ()); exposure->set_active (basic->get_active ()); hlrec->set_active (basic->get_active ()); + sh->set_active (basic->get_active ()); + labcurve->set_active (basic->get_active ()); wbConn.block (false); exposureConn.block (false); hlrecConn.block (false); + labcurveConn.block (false); + shConn.block (false); } -void PartialPasteDlg::luminanceToggled () { +void PartialPasteDlg::detailToggled () { sharpenConn.block (true); impdenConn.block (true); - lumadenConn.block (true); - labcurveConn.block (true); - shConn.block (true); + dirpyrdenConn.block (true); + //lumadenConn.block (true); + //colordenConn.block (true); + defringeConn.block (true); dirpyreqConn.block (true); - waveqConn.block (true); + //waveqConn.block (true); - luminance->set_inconsistent (false); + detail->set_inconsistent (false); - sharpen->set_active (luminance->get_active ()); - impden->set_active (luminance->get_active ()); - lumaden->set_active (luminance->get_active ()); - labcurve->set_active (luminance->get_active ()); - sh->set_active (luminance->get_active ()); - dirpyreq->set_active (luminance->get_active ()); - waveq->set_active (luminance->get_active ()); + sharpen->set_active (detail->get_active ()); + impden->set_active (detail->get_active ()); + dirpyrden->set_active (detail->get_active ()); + //lumaden->set_active (detail->get_active ()); + //colorden->set_active (detail->get_active ()); + defringe->set_active (detail->get_active ()); + dirpyreq->set_active (detail->get_active ()); + //waveq->set_active (detail->get_active ()); sharpenConn.block (false); impdenConn.block (false); - lumadenConn.block (false); - labcurveConn.block (false); - shConn.block (false); - dirpyreqConn.block (false); - waveqConn.block (false); + dirpyrdenConn.block (false); + //lumadenConn.block (false); + //colordenConn.block (false); + defringeConn.block (false); + dirpyreqConn.block (false); + //waveqConn.block (false); } void PartialPasteDlg::colorToggled () { - colormixerConn.block (true); - colorshiftConn.block (true); - colorboostConn.block (true); - colordenConn.block (true); - dirpyrdenConn.block (true); + chmixerConn.block (true); + hsveqConn.block (true); + //colorshiftConn.block (true); + //colorboostConn.block (true); color->set_inconsistent (false); - colormixer->set_active (color->get_active ()); - colorshift->set_active (color->get_active ()); - colorboost->set_active (color->get_active ()); + chmixer->set_active (color->get_active ()); + //colorshift->set_active (color->get_active ()); + //colorboost->set_active (color->get_active ()); hsveq->set_active (color->get_active ()); - colorden->set_active (color->get_active ()); - dirpyrden->set_active (color->get_active ()); - colormixerConn.block (false); - colorshiftConn.block (false); - colorboostConn.block (false); - colordenConn.block (false); - dirpyrdenConn.block (false); + chmixerConn.block (false); + hsveqConn.block (false); + //colorshiftConn.block (false); + //colorboostConn.block (false); } void PartialPasteDlg::lensToggled () { @@ -279,6 +473,8 @@ void PartialPasteDlg::compositionToggled () { finerotConn.block (true); cropConn.block (true); resizeConn.block (true); + perspectiveConn.block (true); + commonTransConn.block (true); composition->set_inconsistent (false); @@ -286,11 +482,15 @@ void PartialPasteDlg::compositionToggled () { finerot->set_active (composition->get_active ()); crop->set_active (composition->get_active ()); resize->set_active (composition->get_active ()); + perspective->set_active (composition->get_active ()); + commonTrans->set_active (composition->get_active ()); coarserotConn.block (false); finerotConn.block (false); cropConn.block (false); resizeConn.block (false); + perspectiveConn.block (false); + commonTransConn.block (false); } void PartialPasteDlg::metaicmToggled () { @@ -316,22 +516,23 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dst, const r if (wb->get_active ()) dst->wb = src->wb; if (exposure->get_active ()) dst->toneCurve = src->toneCurve; if (hlrec->get_active ()) dst->hlrecovery = src->hlrecovery; + if (sh->get_active ()) dst->sh = src->sh; + if (labcurve->get_active ()) dst->labCurve = src->labCurve; if (sharpen->get_active ()) dst->sharpening = src->sharpening; if (impden->get_active ()) dst->impulseDenoise = src->impulseDenoise; - if (lumaden->get_active ()) dst->lumaDenoise = src->lumaDenoise; - if (labcurve->get_active ()) dst->labCurve = src->labCurve; - if (sh->get_active ()) dst->sh = src->sh; + //if (lumaden->get_active ()) dst->lumaDenoise = src->lumaDenoise; if (dirpyreq->get_active ()) dst->dirpyrequalizer = src->dirpyrequalizer; - if (waveq->get_active ()) dst->equalizer = src->equalizer; - - if (colormixer->get_active ()) dst->chmixer = src->chmixer; - if (colorshift->get_active ()) dst->colorShift = src->colorShift; - if (colorboost->get_active ()) dst->colorBoost = src->colorBoost; - if (hsveq->get_active ()) dst->hsvequalizer = src->hsvequalizer; - if (colorden->get_active ()) dst->colorDenoise = src->colorDenoise; + //if (waveq->get_active ()) dst->equalizer = src->equalizer; + if (defringe->get_active ()) dst->defringe = src->defringe; if (dirpyrden->get_active ()) dst->dirpyrDenoise = src->dirpyrDenoise; + if (chmixer->get_active ()) dst->chmixer = src->chmixer; + //if (colorshift->get_active ()) dst->colorShift = src->colorShift; + //if (colorboost->get_active ()) dst->colorBoost = src->colorBoost; + if (hsveq->get_active ()) dst->hsvequalizer = src->hsvequalizer; + //if (colorden->get_active ()) dst->colorDenoise = src->colorDenoise; + if (distortion->get_active ()) dst->distortion = src->distortion; if (cacorr->get_active ()) dst->cacorrection = src->cacorrection; if (vignetting->get_active ()) dst->vignetting = src->vignetting; @@ -340,9 +541,30 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dst, const r if (finerot->get_active ()) dst->rotate = src->rotate; if (crop->get_active ()) dst->crop = src->crop; if (resize->get_active ()) dst->resize = src->resize; + if (perspective->get_active ()) dst->perspective = src->perspective; + if (commonTrans->get_active ()) dst->commonTrans = src->commonTrans; if (exifch->get_active ()) dst->exif = src->exif; if (iptc->get_active ()) dst->iptc = src->iptc; if (icm->get_active ()) dst->icm = src->icm; + + if (raw_dmethod->get_active ()) dst->raw.dmethod =src->raw.dmethod; + if (raw_ccSteps->get_active ()) dst->raw.ccSteps =src->raw.ccSteps; + if (raw_dcb_iterations->get_active ()) dst->raw.dcb_iterations =src->raw.dcb_iterations; + if (raw_dcb_enhance->get_active ()) dst->raw.dcb_enhance =src->raw.dcb_enhance; + if (raw_expos->get_active ()) dst->raw.expos =src->raw.expos; + if (raw_preser->get_active ()) dst->raw.preser =src->raw.preser; + if (raw_ca_autocorrect->get_active ()) dst->raw.ca_autocorrect =src->raw.ca_autocorrect; + if (raw_cared->get_active ()) dst->raw.cared =src->raw.cared; + if (raw_cablue->get_active ()) dst->raw.cablue =src->raw.cablue; + if (raw_hotdeadpix_filt->get_active ()) dst->raw.hotdeadpix_filt=src->raw.hotdeadpix_filt; + if (raw_linenoise->get_active ()) dst->raw.linenoise =src->raw.linenoise; + if (raw_greenthresh->get_active ()) dst->raw.greenthresh =src->raw.greenthresh; + if (df_file->get_active ()) dst->raw.dark_frame = src->raw.dark_frame; + if (df_AutoSelect->get_active ()) dst->raw.df_autoselect = src->raw.df_autoselect; + //if (ff_file->get_active ()) dst->raw.ff_file = src->raw.ff_file; + //if (ff_AutoSelect->get_active ()) dst->raw.ff_AutoSelect = src->raw.ff_AutoSelect; + //if (ff_BlurRadius->get_active ()) dst->raw.ff_BlurRadius = src->raw.ff_BlurRadius; + //if (ff_BlurType->get_active ()) dst->raw.ff_BlurType = src->raw.ff_BlurType; } diff --git a/rtgui/partialpastedlg.h b/rtgui/partialpastedlg.h index 127b83833..0a51483c3 100644 --- a/rtgui/partialpastedlg.h +++ b/rtgui/partialpastedlg.h @@ -25,36 +25,40 @@ class PartialPasteDlg : public Gtk::Dialog { public: + + Gtk::CheckButton* everything; + // main groups: Gtk::CheckButton* basic; - Gtk::CheckButton* luminance; + Gtk::CheckButton* detail; Gtk::CheckButton* color; Gtk::CheckButton* lens; Gtk::CheckButton* composition; Gtk::CheckButton* metaicm; + Gtk::CheckButton* raw; // options in basic: Gtk::CheckButton* wb; Gtk::CheckButton* exposure; Gtk::CheckButton* hlrec; + Gtk::CheckButton* sh; + Gtk::CheckButton* labcurve; - // options in luminance: + // options in detail: Gtk::CheckButton* sharpen; Gtk::CheckButton* impden; Gtk::CheckButton* lumaden; - Gtk::CheckButton* labcurve; - Gtk::CheckButton* sh; - Gtk::CheckButton* dirpyreq; Gtk::CheckButton* waveq; + Gtk::CheckButton* colorden; + Gtk::CheckButton* dirpyrden; + Gtk::CheckButton* defringe; + Gtk::CheckButton* dirpyreq; // options in color: - Gtk::CheckButton* colormixer; + Gtk::CheckButton* chmixer; Gtk::CheckButton* colorshift; Gtk::CheckButton* colorboost; Gtk::CheckButton* hsveq; - Gtk::CheckButton* colorden; - Gtk::CheckButton* dirpyrden; - // options in lens: Gtk::CheckButton* distortion; @@ -66,32 +70,58 @@ class PartialPasteDlg : public Gtk::Dialog { Gtk::CheckButton* finerot; Gtk::CheckButton* crop; Gtk::CheckButton* resize; + Gtk::CheckButton* perspective; + Gtk::CheckButton* commonTrans; // options in metaicm: Gtk::CheckButton* exifch; Gtk::CheckButton* iptc; Gtk::CheckButton* icm; - sigc::connection basicConn, luminanceConn, colorConn, lensConn, compositionConn, metaicmConn; - sigc::connection wbConn, exposureConn, hlrecConn; - sigc::connection sharpenConn, impdenConn, lumadenConn, labcurveConn, shConn, dirpyreqConn, waveqConn, hsveqConn; - sigc::connection colormixerConn, colorshiftConn, colorboostConn, colordenConn, dirpyrdenConn; - sigc::connection distortionConn, cacorrConn, vignettingConn; - sigc::connection coarserotConn, finerotConn, cropConn, resizeConn; - sigc::connection exifchConn, iptcConn, icmConn; + // options in raw: + Gtk::CheckButton* raw_expos; + Gtk::CheckButton* raw_preser; + Gtk::CheckButton* raw_ca_autocorrect; + Gtk::CheckButton* raw_cared; + Gtk::CheckButton* raw_cablue; + Gtk::CheckButton* raw_hotdeadpix_filt; + Gtk::CheckButton* raw_linenoise; + Gtk::CheckButton* raw_greenthresh; + Gtk::CheckButton* raw_dmethod; + Gtk::CheckButton* raw_ccSteps; + Gtk::CheckButton* raw_dcb_iterations; + Gtk::CheckButton* raw_dcb_enhance; + Gtk::CheckButton* df_file; + Gtk::CheckButton* df_AutoSelect; + //Gtk::CheckButton* ff_file; + //Gtk::CheckButton* ff_AutoSelect; + //Gtk::CheckButton* ff_BlurRadius; + //Gtk::CheckButton* ff_BlurType; + sigc::connection everythingConn, basicConn, detailConn, colorConn, lensConn, compositionConn, metaicmConn, rawConn;; + + sigc::connection wbConn, exposureConn, hlrecConn, shConn, labcurveConn; + sigc::connection sharpenConn, impdenConn, lumadenConn, dirpyrdenConn, colordenConn, waveqConn, defringeConn, dirpyreqConn; + sigc::connection chmixerConn, colorshiftConn, colorboostConn, hsveqConn; + sigc::connection distortionConn, cacorrConn, vignettingConn; + sigc::connection coarserotConn, finerotConn, cropConn, resizeConn, perspectiveConn, commonTransConn; + sigc::connection exifchConn, iptcConn, icmConn; + sigc::connection df_fileConn, df_AutoSelectConn;//sigc::connection ff_fileConn, ff_AutoSelectConn, ff_BlurRadiusConn, ff_BlurTypeConn; + sigc::connection raw_caredConn, raw_cablueConn, raw_ca_autocorrectConn, raw_hotdeadpix_filtConn, raw_linenoiseConn, raw_greenthreshConn, raw_ccStepsConn, raw_dmethodConn, raw_dcb_iterationsConn, raw_dcb_enhanceConn, raw_exposConn, raw_preserConn; public: PartialPasteDlg (); void applyPaste (rtengine::procparams::ProcParams* dst, const rtengine::procparams::ProcParams* src); + void everythingToggled (); void basicToggled (); - void luminanceToggled (); + void detailToggled (); void colorToggled (); void lensToggled (); void compositionToggled (); void metaicmToggled (); + void rawToggled (); }; #endif diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 73e11850f..845adca43 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -155,23 +155,23 @@ Gtk::Widget* Preferences::getBatchProcPanel () { mi->set_value (behavColumns.label, M("TP_SHARPENING_LABEL")); appendBehavList (mi, M("TP_SHARPENING_AMOUNT"), ADDSET_SHARP_AMOUNT, false); - mi = behModel->append (); - mi->set_value (behavColumns.label, M("TP_LUMADENOISE_LABEL")); - appendBehavList (mi, M("TP_LUMADENOISE_EDGETOLERANCE"), ADDSET_LD_EDGETOLERANCE, true); + //mi = behModel->append (); + //mi->set_value (behavColumns.label, M("TP_LUMADENOISE_LABEL")); + //appendBehavList (mi, M("TP_LUMADENOISE_EDGETOLERANCE"), ADDSET_LD_EDGETOLERANCE, true); mi = behModel->append (); mi->set_value (behavColumns.label, M("TP_WBALANCE_LABEL")); appendBehavList (mi, M("TP_WBALANCE_TEMPERATURE"), ADDSET_WB_TEMPERATURE, true); appendBehavList (mi, M("TP_WBALANCE_GREEN"), ADDSET_WB_GREEN, true); - mi = behModel->append (); - mi->set_value (behavColumns.label, M("TP_COLORBOOST_LABEL")); - appendBehavList (mi, M("TP_COLORBOOST_AMOUNT"), ADDSET_CBOOST_AMOUNT, false); + //mi = behModel->append (); + //mi->set_value (behavColumns.label, M("TP_COLORBOOST_LABEL")); + //appendBehavList (mi, M("TP_COLORBOOST_AMOUNT"), ADDSET_CBOOST_AMOUNT, false); - mi = behModel->append (); - mi->set_value (behavColumns.label, M("TP_COLORSHIFT_LABEL")); - appendBehavList (mi, M("TP_COLORSHIFT_BLUEYELLOW"), ADDSET_CS_BLUEYELLOW, false); - appendBehavList (mi, M("TP_COLORSHIFT_GREENMAGENTA"), ADDSET_CS_GREENMAGENTA, false); + //mi = behModel->append (); + //mi->set_value (behavColumns.label, M("TP_COLORSHIFT_LABEL")); + //appendBehavList (mi, M("TP_COLORSHIFT_BLUEYELLOW"), ADDSET_CS_BLUEYELLOW, false); + //appendBehavList (mi, M("TP_COLORSHIFT_GREENMAGENTA"), ADDSET_CS_GREENMAGENTA, false); mi = behModel->append (); mi->set_value (behavColumns.label, M("TP_ROTATE_LABEL"));