Adding softproofing. Now the output profile and the new rendering intent
profile for the output profile will only be shown when the new softproof toggle button (bottom of the preview in the Editor panel) will be on.
This commit is contained in:
@@ -193,6 +193,18 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
|
||||
|
||||
onames->set_active (0);
|
||||
|
||||
// Rendering intent
|
||||
|
||||
Gtk::Label* outputIntentLbl = Gtk::manage (new Gtk::Label(M("TP_ICM_OUTPUTPROFILEINTENT")));
|
||||
oVBox->pack_start (*outputIntentLbl, Gtk::PACK_SHRINK);
|
||||
ointent = Gtk::manage (new MyComboBoxText ());
|
||||
oVBox->pack_start (*ointent, Gtk::PACK_EXPAND_WIDGET);
|
||||
ointent->append_text (M("PREFERENCES_INTENT_PERCEPTUAL"));
|
||||
ointent->append_text (M("PREFERENCES_INTENT_RELATIVE"));
|
||||
ointent->append_text (M("PREFERENCES_INTENT_SATURATION"));
|
||||
ointent->append_text (M("PREFERENCES_INTENT_ABSOLUTE"));
|
||||
ointent->set_active(0);
|
||||
|
||||
// Output gamma
|
||||
|
||||
Gtk::HBox* gaHBox = Gtk::manage (new Gtk::HBox ());
|
||||
@@ -282,6 +294,7 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
|
||||
|
||||
wnames->signal_changed().connect( sigc::mem_fun(*this, &ICMPanel::wpChanged) );
|
||||
onames->signal_changed().connect( sigc::mem_fun(*this, &ICMPanel::opChanged) );
|
||||
ointent->signal_changed().connect( sigc::mem_fun(*this, &ICMPanel::opChanged) );
|
||||
wgamma->signal_changed().connect( sigc::mem_fun(*this, &ICMPanel::gpChanged) );
|
||||
dcpIll->signal_changed().connect( sigc::mem_fun(*this, &ICMPanel::dcpIlluminantChanged) );
|
||||
|
||||
@@ -507,6 +520,7 @@ void ICMPanel::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
if (onames->get_active_row_number() == -1) {
|
||||
onames->set_active_text (M("TP_ICM_NOICM"));
|
||||
}
|
||||
ointent->set_active(pp->icm.outputIntent);
|
||||
|
||||
ckbToneCurve->set_active (pp->icm.toneCurve);
|
||||
lastToneCurve = pp->icm.toneCurve;
|
||||
@@ -545,6 +559,10 @@ void ICMPanel::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
onames->set_active_text(M("GENERAL_UNCHANGED"));
|
||||
}
|
||||
|
||||
if (!pedited->icm.outputIntent) {
|
||||
ointent->set_active_text(M("GENERAL_UNCHANGED"));
|
||||
}
|
||||
|
||||
if (!pedited->icm.dcpIlluminant) {
|
||||
dcpIll->set_active_text(M("GENERAL_UNCHANGED"));
|
||||
}
|
||||
@@ -605,6 +623,13 @@ void ICMPanel::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pp->icm.output = onames->get_active_text();
|
||||
}
|
||||
|
||||
int ointentVal = ointent->get_active_row_number();
|
||||
if (ointentVal >= 0 && ointentVal < RI__COUNT) {
|
||||
pp->icm.outputIntent = static_cast<eRenderingIntent>(ointentVal);
|
||||
} else {
|
||||
pp->icm.outputIntent = rtengine::RI_PERCEPTUAL;
|
||||
}
|
||||
|
||||
pp->icm.freegamma = freegamma->get_active();
|
||||
|
||||
DCPProfile* dcp = NULL;
|
||||
@@ -641,6 +666,7 @@ void ICMPanel::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pedited->icm.input = !iunchanged->get_active ();
|
||||
pedited->icm.working = wnames->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pedited->icm.output = onames->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pedited->icm.outputIntent = ointent->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pedited->icm.dcpIlluminant = dcpIll->get_active_text() != M("GENERAL_UNCHANGED");
|
||||
pedited->icm.toneCurve = !ckbToneCurve->get_inconsistent ();
|
||||
pedited->icm.applyLookTable = !ckbApplyLookTable->get_inconsistent ();
|
||||
@@ -876,7 +902,7 @@ void ICMPanel::opChanged ()
|
||||
{
|
||||
|
||||
if (listener) {
|
||||
listener->panelChanged (EvOProfile, onames->get_active_text());
|
||||
listener->panelChanged (EvOProfile, Glib::ustring(onames->get_active_text())+Glib::ustring("\n")+ointent->get_active_text());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -979,6 +1005,7 @@ void ICMPanel::setBatchMode (bool batchMode)
|
||||
iVBox->reorder_child (*iunchanged, 5);
|
||||
removeIfThere (this, saveRef);
|
||||
onames->append_text (M("GENERAL_UNCHANGED"));
|
||||
ointent->append_text (M("GENERAL_UNCHANGED"));
|
||||
wnames->append_text (M("GENERAL_UNCHANGED"));
|
||||
wgamma->append_text (M("GENERAL_UNCHANGED"));
|
||||
dcpIll->append_text (M("GENERAL_UNCHANGED"));
|
||||
|
Reference in New Issue
Block a user