Add ability to manage partial copy/paste or profile with Locallab
This commit is contained in:
parent
bf2b7905d3
commit
ce63383676
@ -1054,6 +1054,7 @@ NAVIGATOR_XY_NA;x: --, y: --
|
||||
OPTIONS_BUNDLED_MISSING;The bundled profile "<b>%1</b>" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
|
||||
OPTIONS_DEFIMG_MISSING;The default profile for <b>non-raw photos</b> could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"<b>%1</b>" will be used instead.
|
||||
OPTIONS_DEFRAW_MISSING;The default profile for <b>raw photos</b> could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"<b>%1</b>" will be used instead.
|
||||
PARTIALPASTE_LOCALLABGROUP;Local L*a*b Settings
|
||||
PARTIALPASTE_ADVANCEDGROUP;Advanced Settings
|
||||
PARTIALPASTE_BASICGROUP;Basic Settings
|
||||
PARTIALPASTE_CACORRECTION;Chromatic aberration correction
|
||||
|
@ -45,6 +45,8 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
||||
raw ->set_name("PartialPasteHeader");
|
||||
advanced = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_ADVANCEDGROUP")));
|
||||
advanced ->set_name("PartialPasteHeader");
|
||||
locallab = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LOCALLABGROUP")));
|
||||
locallab ->set_name("PartialPasteHeader");
|
||||
|
||||
// Basic Settings:
|
||||
wb = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_WHITEBALANCE")));
|
||||
@ -135,10 +137,10 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
||||
raw_caredblue = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWCACORR_CAREDBLUE")));
|
||||
raw_ca_avoid_colourshift = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT")));
|
||||
|
||||
Gtk::VBox* vboxes[8];
|
||||
Gtk::HSeparator* hseps[8];
|
||||
Gtk::VBox* vboxes[9];
|
||||
Gtk::HSeparator* hseps[9];
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
for (int i = 0; i < 9; i++) {
|
||||
vboxes[i] = Gtk::manage (new Gtk::VBox ());
|
||||
vboxes[i]->set_name("PartialPasteGroupContainer");
|
||||
hseps[i] = Gtk::manage (new Gtk::HSeparator ());
|
||||
@ -208,47 +210,51 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
||||
vboxes[5]->pack_start (*colorappearance, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[5]->pack_start (*wavelet, Gtk::PACK_SHRINK, 2);
|
||||
|
||||
//META
|
||||
vboxes[6]->pack_start (*meta, Gtk::PACK_SHRINK, 2);
|
||||
//LOCALLAB
|
||||
vboxes[6]->pack_start(*locallab, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[6]->pack_start (*hseps[6], Gtk::PACK_SHRINK, 2);
|
||||
vboxes[6]->pack_start(*metadata, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[6]->pack_start (*exifch, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[6]->pack_start (*iptc, Gtk::PACK_SHRINK, 2);
|
||||
|
||||
//META
|
||||
vboxes[7]->pack_start (*meta, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*hseps[7], Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start(*metadata, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*exifch, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*iptc, Gtk::PACK_SHRINK, 2);
|
||||
|
||||
//RAW
|
||||
vboxes[7]->pack_start (*raw, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*hseps[7], Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_method, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_border, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_imagenum, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_pixelshift, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_ccSteps, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_dcb_iterations, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_dcb_enhance, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_lmmse_iterations, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[7]->pack_start (*raw_linenoise, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_greenthresh, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_hotpix_filt, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_deadpix_filt, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_pdaf_lines_filter, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[7]->pack_start (*raw_expos, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_preser, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_black, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[7]->pack_start (*df_file, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*df_AutoSelect, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[7]->pack_start (*ff_file, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*ff_AutoSelect, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*ff_BlurType, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*ff_BlurRadius, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*ff_ClipControl, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[7]->pack_start (*raw_ca_autocorrect, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_caredblue, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[7]->pack_start (*raw_ca_avoid_colourshift, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*hseps[8], Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_method, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_border, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_imagenum, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_pixelshift, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_ccSteps, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_dcb_iterations, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_dcb_enhance, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_lmmse_iterations, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[8]->pack_start (*raw_linenoise, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_greenthresh, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_hotpix_filt, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_deadpix_filt, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_pdaf_lines_filter, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[8]->pack_start (*raw_expos, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_preser, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_black, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[8]->pack_start (*df_file, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*df_AutoSelect, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[8]->pack_start (*ff_file, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*ff_AutoSelect, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*ff_BlurType, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*ff_BlurRadius, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*ff_ClipControl, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*Gtk::manage (new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 0);
|
||||
vboxes[8]->pack_start (*raw_ca_autocorrect, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_caredblue, Gtk::PACK_SHRINK, 2);
|
||||
vboxes[8]->pack_start (*raw_ca_avoid_colourshift, Gtk::PACK_SHRINK, 2);
|
||||
|
||||
Gtk::VBox* vbCol1 = Gtk::manage (new Gtk::VBox ());
|
||||
Gtk::VBox* vbCol2 = Gtk::manage (new Gtk::VBox ());
|
||||
@ -258,11 +264,11 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
||||
vbCol1->pack_start (*vboxes[i], Gtk::PACK_SHRINK, 2);
|
||||
}
|
||||
|
||||
for (int i = 3; i < 7; i++) {
|
||||
for (int i = 3; i < 8; i++) {
|
||||
vbCol2->pack_start (*vboxes[i], Gtk::PACK_SHRINK, 2);
|
||||
}
|
||||
|
||||
for (int i = 7; i < 8; i++) {
|
||||
for (int i = 8; i < 9; i++) {
|
||||
vbCol3->pack_start (*vboxes[i], Gtk::PACK_SHRINK, 2);
|
||||
}
|
||||
|
||||
@ -307,6 +313,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren
|
||||
metaConn = meta->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::metaToggled));
|
||||
rawConn = raw->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::rawToggled));
|
||||
advancedConn = advanced->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::advancedToggled));
|
||||
locallabConn = locallab->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::locallabToggled));
|
||||
|
||||
// Basic Settings
|
||||
wbConn = wb->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true));
|
||||
@ -639,6 +646,11 @@ void PartialPasteDlg::metaToggled ()
|
||||
iptc->set_active (meta->get_active ());
|
||||
}
|
||||
|
||||
void PartialPasteDlg::locallabToggled()
|
||||
{
|
||||
locallab->set_inconsistent (false);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Copies the selected items from the source ProcParams+ParamsEdited(optional)
|
||||
@ -963,6 +975,10 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param
|
||||
filterPE.raw.ff_AutoClipControl = falsePE.raw.ff_AutoClipControl;
|
||||
}
|
||||
|
||||
if (!locallab->get_active ()) {
|
||||
filterPE.locallab = falsePE.locallab;
|
||||
}
|
||||
|
||||
if (dstPE) {
|
||||
*dstPE = filterPE;
|
||||
}
|
||||
|
@ -40,6 +40,7 @@ public:
|
||||
Gtk::CheckButton* meta;
|
||||
Gtk::CheckButton* raw;
|
||||
Gtk::CheckButton* advanced;
|
||||
Gtk::CheckButton* locallab;
|
||||
|
||||
// options in basic:
|
||||
Gtk::CheckButton* wb;
|
||||
@ -128,7 +129,7 @@ public:
|
||||
Gtk::CheckButton* ff_BlurType;
|
||||
Gtk::CheckButton* ff_ClipControl;
|
||||
|
||||
sigc::connection everythingConn, basicConn, detailConn, colorConn, lensConn, compositionConn, metaConn, rawConn, advancedConn;
|
||||
sigc::connection everythingConn, basicConn, detailConn, colorConn, lensConn, compositionConn, metaConn, rawConn, advancedConn, locallabConn;
|
||||
|
||||
sigc::connection wbConn, exposureConn, localcontrastConn, shConn, pcvignetteConn, gradientConn, labcurveConn, colorappearanceConn;
|
||||
sigc::connection sharpenConn, gradsharpenConn, microcontrastConn, impdenConn, dirpyrdenConn, defringeConn, epdConn, fattalConn, dirpyreqConn, waveletConn, retinexConn;
|
||||
@ -153,6 +154,7 @@ public:
|
||||
void metaToggled ();
|
||||
void rawToggled ();
|
||||
void advancedToggled ();
|
||||
void locallabToggled ();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user