Merge with aedbf34c16785a0ca0eb2a5acf41dd4122bec299

This commit is contained in:
Michael Ezra
2011-03-18 09:31:37 -04:00
5 changed files with 404 additions and 121 deletions

View File

@@ -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

View File

@@ -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<unsigned short, unsigned int> (lab->L, lab->L, (unsigned short**)b2, lab->W, lab->H, params->lumaDenoise.radius / scale, params->lumaDenoise.edgetolerance, multiThread);
bilateral<unsigned short, unsigned int> (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) {

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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"));