Issue 2739: DCP settings in Color Management panel moved into own frame.

This commit is contained in:
DrSlony
2015-07-16 18:52:31 +02:00
parent 4cd2da11b6
commit 3628f8982a
3 changed files with 36 additions and 31 deletions

View File

@@ -278,7 +278,7 @@ HISTORY_MSG_44;Lum. denoising radius
HISTORY_MSG_45;Lum. denoising edge tolerance HISTORY_MSG_45;Lum. denoising edge tolerance
HISTORY_MSG_46;Color denoising HISTORY_MSG_46;Color denoising
HISTORY_MSG_47;Blend ICC highlights with matrix HISTORY_MSG_47;Blend ICC highlights with matrix
HISTORY_MSG_48;Use DCP's tone curve HISTORY_MSG_48;DCP - Tone curve
HISTORY_MSG_49;DCP illuminant HISTORY_MSG_49;DCP illuminant
HISTORY_MSG_50;Shadows/Highlights HISTORY_MSG_50;Shadows/Highlights
HISTORY_MSG_51;S/H - Highlights HISTORY_MSG_51;S/H - Highlights
@@ -622,9 +622,9 @@ HISTORY_MSG_389;W - Residual - CB blue mid
HISTORY_MSG_390;W - Residual - CB green low HISTORY_MSG_390;W - Residual - CB green low
HISTORY_MSG_391;W - Residual - CB blue low HISTORY_MSG_391;W - Residual - CB blue low
HISTORY_MSG_392;W - Residual - CB Reset HISTORY_MSG_392;W - Residual - CB Reset
HISTORY_MSG_393;Use DCP's look table HISTORY_MSG_393;DCP - Look table
HISTORY_MSG_394;Use DCP's baseline exposure offset HISTORY_MSG_394;DCP - Baseline exposure
HISTORY_MSG_395;Use DCP's base table HISTORY_MSG_395;DCP - Base table
HISTORY_MSG_396;W - Contrast sub-tool HISTORY_MSG_396;W - Contrast sub-tool
HISTORY_MSG_397;W - Chroma sub-tool HISTORY_MSG_397;W - Chroma sub-tool
HISTORY_MSG_398;W - ES sub-tool HISTORY_MSG_398;W - ES sub-tool
@@ -1459,11 +1459,11 @@ TP_HSVEQUALIZER_HUE;H
TP_HSVEQUALIZER_LABEL;HSV Equalizer TP_HSVEQUALIZER_LABEL;HSV Equalizer
TP_HSVEQUALIZER_SAT;S TP_HSVEQUALIZER_SAT;S
TP_HSVEQUALIZER_VAL;V TP_HSVEQUALIZER_VAL;V
TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Use DCP's baseline exposure offset TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure
TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any. TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any.
TP_ICM_APPLYHUESATMAP;Use DCP's base table TP_ICM_APPLYHUESATMAP;Base table
TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one. TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one.
TP_ICM_APPLYLOOKTABLE;Use DCP's look table TP_ICM_APPLYLOOKTABLE;Look table
TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one. TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one.
TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix TP_ICM_BLENDCMSMATRIX;Blend ICC highlights with matrix
TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles. TP_ICM_BLENDCMSMATRIX_TOOLTIP;Enable to recover clipped highlights when using LUT-based ICC profiles.
@@ -1488,7 +1488,7 @@ TP_ICM_OUTPUTPROFILE;Output Profile
TP_ICM_SAVEREFERENCE;Save Reference Image for Profiling TP_ICM_SAVEREFERENCE;Save Reference Image for Profiling
TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance
TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile. TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile.
TP_ICM_TONECURVE;Use DCP's tone curve TP_ICM_TONECURVE;Tone curve
TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve. TP_ICM_TONECURVE_TOOLTIP;Employ the embedded DCP tone curve. The setting is only enabled if the selected DCP has a tone curve.
TP_ICM_WORKINGPROFILE;Working Profile TP_ICM_WORKINGPROFILE;Working Profile
TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction

View File

@@ -80,9 +80,12 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
ifromfile->set_group (opts); ifromfile->set_group (opts);
inone->set_group (opts); inone->set_group (opts);
Gtk::HBox* hb = Gtk::manage (new Gtk::HBox ()); dcpFrame = Gtk::manage (new Gtk::Frame ("DCP"));
hb->show (); Gtk::VBox* dcpFrameVBox = Gtk::manage (new Gtk::VBox ());
dcpIllLabel = Gtk::manage (new Gtk::Label ("DCP " + M("TP_ICM_DCPILLUMINANT")+":")); dcpFrameVBox->set_border_width(4);
Gtk::HBox* dcpIllHBox = Gtk::manage (new Gtk::HBox ());
dcpIllLabel = Gtk::manage (new Gtk::Label (M("TP_ICM_DCPILLUMINANT")+":"));
dcpIllLabel->set_tooltip_text (M("TP_ICM_DCPILLUMINANT_TOOLTIP")); dcpIllLabel->set_tooltip_text (M("TP_ICM_DCPILLUMINANT_TOOLTIP"));
dcpIllLabel->show (); dcpIllLabel->show ();
dcpIll = Gtk::manage (new MyComboBoxText ()); dcpIll = Gtk::manage (new MyComboBoxText ());
@@ -94,38 +97,35 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
dcpTemperatures[0] = 0; dcpTemperatures[0] = 0;
dcpTemperatures[1] = 0; dcpTemperatures[1] = 0;
ignoreDcpSignal = true; ignoreDcpSignal = true;
hb->pack_start(*dcpIllLabel, Gtk::PACK_SHRINK, 4); dcpIllHBox->pack_start(*dcpIllLabel, Gtk::PACK_SHRINK, 4);
hb->pack_start(*dcpIll); dcpIllHBox->pack_start(*dcpIll);
iVBox->pack_start (*hb, Gtk::PACK_SHRINK, 2);
Gtk::VBox* c1VBox = Gtk::manage ( new Gtk::VBox());
Gtk::VBox* c2VBox = Gtk::manage ( new Gtk::VBox());
Gtk::HBox* c1HBox = Gtk::manage ( new Gtk::HBox(true, 4));
ckbToneCurve = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_TONECURVE"))); ckbToneCurve = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_TONECURVE")));
ckbToneCurve->set_sensitive (false); ckbToneCurve->set_sensitive (false);
ckbToneCurve->set_tooltip_text (M("TP_ICM_TONECURVE_TOOLTIP")); ckbToneCurve->set_tooltip_text (M("TP_ICM_TONECURVE_TOOLTIP"));
c1VBox->pack_start (*ckbToneCurve, Gtk::PACK_SHRINK, 2);
ckbApplyLookTable = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYLOOKTABLE")));
ckbApplyLookTable->set_sensitive (false);
ckbApplyLookTable->set_tooltip_text (M("TP_ICM_APPLYLOOKTABLE_TOOLTIP"));
c1VBox->pack_start (*ckbApplyLookTable, Gtk::PACK_SHRINK, 2);
ckbApplyHueSatMap = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYHUESATMAP"))); ckbApplyHueSatMap = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYHUESATMAP")));
ckbApplyHueSatMap->set_sensitive (false); ckbApplyHueSatMap->set_sensitive (false);
ckbApplyHueSatMap->set_tooltip_text (M("TP_ICM_APPLYHUESATMAP_TOOLTIP")); ckbApplyHueSatMap->set_tooltip_text (M("TP_ICM_APPLYHUESATMAP_TOOLTIP"));
c2VBox->pack_start (*ckbApplyHueSatMap, Gtk::PACK_SHRINK, 2); c1HBox->pack_start (*ckbToneCurve);
c1HBox->pack_start (*ckbApplyHueSatMap);
Gtk::HBox* c2HBox = Gtk::manage ( new Gtk::HBox(true, 4));
ckbApplyLookTable = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYLOOKTABLE")));
ckbApplyLookTable->set_sensitive (false);
ckbApplyLookTable->set_tooltip_text (M("TP_ICM_APPLYLOOKTABLE_TOOLTIP"));
ckbApplyBaselineExposureOffset = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYBASELINEEXPOSUREOFFSET"))); ckbApplyBaselineExposureOffset = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_APPLYBASELINEEXPOSUREOFFSET")));
ckbApplyBaselineExposureOffset->set_sensitive (false); ckbApplyBaselineExposureOffset->set_sensitive (false);
ckbApplyBaselineExposureOffset->set_tooltip_text (M("TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP")); ckbApplyBaselineExposureOffset->set_tooltip_text (M("TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP"));
c2VBox->pack_start (*ckbApplyBaselineExposureOffset, Gtk::PACK_SHRINK, 2); c2HBox->pack_start (*ckbApplyLookTable);
c2HBox->pack_start (*ckbApplyBaselineExposureOffset);
Gtk::HBox* dcpHBox = Gtk::manage (new Gtk::HBox ()); dcpFrameVBox->pack_start(*dcpIllHBox);
dcpHBox->show (); dcpFrameVBox->pack_start(*c1HBox);
dcpHBox->pack_start (*c1VBox, Gtk::PACK_EXPAND_WIDGET, 2); dcpFrameVBox->pack_start(*c2HBox);
dcpHBox->pack_start (*c2VBox, Gtk::PACK_EXPAND_WIDGET, 2); dcpFrame->add(*dcpFrameVBox);
iVBox->pack_start (*dcpHBox, Gtk::PACK_SHRINK, 2); dcpFrame->set_sensitive(false);
iVBox->pack_start (*dcpFrame);
ckbBlendCMSMatrix = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_BLENDCMSMATRIX"))); ckbBlendCMSMatrix = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_BLENDCMSMATRIX")));
ckbBlendCMSMatrix->set_sensitive (false); ckbBlendCMSMatrix->set_sensitive (false);
@@ -210,6 +210,7 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
Gtk::VBox *fgVBox = Gtk::manage ( new Gtk::VBox()); Gtk::VBox *fgVBox = Gtk::manage ( new Gtk::VBox());
fgVBox->set_spacing(0); fgVBox->set_spacing(0);
fgVBox->set_border_width(4);
freegamma = Gtk::manage(new Gtk::CheckButton((M("TP_GAMMA_FREE")))); freegamma = Gtk::manage(new Gtk::CheckButton((M("TP_GAMMA_FREE"))));
freegamma->set_active (false); freegamma->set_active (false);
@@ -290,6 +291,7 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
void ICMPanel::updateDCP (int dcpIlluminant, Glib::ustring dcp_name) { void ICMPanel::updateDCP (int dcpIlluminant, Glib::ustring dcp_name) {
if (isBatchMode) { if (isBatchMode) {
dcpFrame->set_sensitive(true);
ckbToneCurve->set_sensitive (true); ckbToneCurve->set_sensitive (true);
ckbApplyLookTable->set_sensitive (true); ckbApplyLookTable->set_sensitive (true);
ckbApplyBaselineExposureOffset->set_sensitive (true); ckbApplyBaselineExposureOffset->set_sensitive (true);
@@ -324,9 +326,11 @@ void ICMPanel::updateDCP (int dcpIlluminant, Glib::ustring dcp_name) {
ckbApplyHueSatMap->set_sensitive (false); ckbApplyHueSatMap->set_sensitive (false);
dcpIllLabel->set_sensitive (false); dcpIllLabel->set_sensitive (false);
dcpIll->set_sensitive (false); dcpIll->set_sensitive (false);
dcpFrame->set_sensitive(false);
if (ifromfile->get_active() && dcpStore->isValidDCPFileName(dcp_name)) { if (ifromfile->get_active() && dcpStore->isValidDCPFileName(dcp_name)) {
DCPProfile* dcp = dcpStore->getProfile(dcp_name, false); DCPProfile* dcp = dcpStore->getProfile(dcp_name, false);
if (dcp) { if (dcp) {
dcpFrame->set_sensitive(true);
if (dcp->getHasToneCurve()) { if (dcp->getHasToneCurve()) {
ckbToneCurve->set_sensitive (true); ckbToneCurve->set_sensitive (true);
} }

View File

@@ -37,6 +37,7 @@ class ICMPanelListener {
class ICMPanel : public ToolParamBlock, public AdjusterListener, public FoldableToolPanel { class ICMPanel : public ToolParamBlock, public AdjusterListener, public FoldableToolPanel {
protected: protected:
Gtk::Frame* dcpFrame;
Adjuster* gampos; Adjuster* gampos;
Adjuster* slpos; Adjuster* slpos;
bool lastgamfree; bool lastgamfree;