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_46;Color denoising
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_50;Shadows/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_391;W - Residual - CB blue low
HISTORY_MSG_392;W - Residual - CB Reset
HISTORY_MSG_393;Use DCP's look table
HISTORY_MSG_394;Use DCP's baseline exposure offset
HISTORY_MSG_395;Use DCP's base table
HISTORY_MSG_393;DCP - Look table
HISTORY_MSG_394;DCP - Baseline exposure
HISTORY_MSG_395;DCP - Base table
HISTORY_MSG_396;W - Contrast sub-tool
HISTORY_MSG_397;W - Chroma sub-tool
HISTORY_MSG_398;W - ES sub-tool
@@ -1459,11 +1459,11 @@ TP_HSVEQUALIZER_HUE;H
TP_HSVEQUALIZER_LABEL;HSV Equalizer
TP_HSVEQUALIZER_SAT;S
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_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_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_BLENDCMSMATRIX;Blend ICC highlights with matrix
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_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_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_WORKINGPROFILE;Working Profile
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);
inone->set_group (opts);
Gtk::HBox* hb = Gtk::manage (new Gtk::HBox ());
hb->show ();
dcpIllLabel = Gtk::manage (new Gtk::Label ("DCP " + M("TP_ICM_DCPILLUMINANT")+":"));
dcpFrame = Gtk::manage (new Gtk::Frame ("DCP"));
Gtk::VBox* dcpFrameVBox = Gtk::manage (new Gtk::VBox ());
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->show ();
dcpIll = Gtk::manage (new MyComboBoxText ());
@@ -94,38 +97,35 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
dcpTemperatures[0] = 0;
dcpTemperatures[1] = 0;
ignoreDcpSignal = true;
hb->pack_start(*dcpIllLabel, Gtk::PACK_SHRINK, 4);
hb->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());
dcpIllHBox->pack_start(*dcpIllLabel, Gtk::PACK_SHRINK, 4);
dcpIllHBox->pack_start(*dcpIll);
Gtk::HBox* c1HBox = Gtk::manage ( new Gtk::HBox(true, 4));
ckbToneCurve = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_TONECURVE")));
ckbToneCurve->set_sensitive (false);
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->set_sensitive (false);
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->set_sensitive (false);
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 ());
dcpHBox->show ();
dcpHBox->pack_start (*c1VBox, Gtk::PACK_EXPAND_WIDGET, 2);
dcpHBox->pack_start (*c2VBox, Gtk::PACK_EXPAND_WIDGET, 2);
iVBox->pack_start (*dcpHBox, Gtk::PACK_SHRINK, 2);
dcpFrameVBox->pack_start(*dcpIllHBox);
dcpFrameVBox->pack_start(*c1HBox);
dcpFrameVBox->pack_start(*c2HBox);
dcpFrame->add(*dcpFrameVBox);
dcpFrame->set_sensitive(false);
iVBox->pack_start (*dcpFrame);
ckbBlendCMSMatrix = Gtk::manage (new Gtk::CheckButton (M("TP_ICM_BLENDCMSMATRIX")));
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());
fgVBox->set_spacing(0);
fgVBox->set_border_width(4);
freegamma = Gtk::manage(new Gtk::CheckButton((M("TP_GAMMA_FREE"))));
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) {
if (isBatchMode) {
dcpFrame->set_sensitive(true);
ckbToneCurve->set_sensitive (true);
ckbApplyLookTable->set_sensitive (true);
ckbApplyBaselineExposureOffset->set_sensitive (true);
@@ -324,9 +326,11 @@ void ICMPanel::updateDCP (int dcpIlluminant, Glib::ustring dcp_name) {
ckbApplyHueSatMap->set_sensitive (false);
dcpIllLabel->set_sensitive (false);
dcpIll->set_sensitive (false);
dcpFrame->set_sensitive(false);
if (ifromfile->get_active() && dcpStore->isValidDCPFileName(dcp_name)) {
DCPProfile* dcp = dcpStore->getProfile(dcp_name, false);
if (dcp) {
dcpFrame->set_sensitive(true);
if (dcp->getHasToneCurve()) {
ckbToneCurve->set_sensitive (true);
}

View File

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