diff --git a/rtdata/images/Dark/actions/intent-absolute.png b/rtdata/images/Dark/actions/intent-absolute.png index bb7e1a85d..7732eba53 100644 Binary files a/rtdata/images/Dark/actions/intent-absolute.png and b/rtdata/images/Dark/actions/intent-absolute.png differ diff --git a/rtdata/images/Dark/actions/intent-perceptual.png b/rtdata/images/Dark/actions/intent-perceptual.png index d41e59458..821a714ae 100644 Binary files a/rtdata/images/Dark/actions/intent-perceptual.png and b/rtdata/images/Dark/actions/intent-perceptual.png differ diff --git a/rtdata/images/Dark/actions/intent-relative.png b/rtdata/images/Dark/actions/intent-relative.png index c1fb040a9..117806ddb 100644 Binary files a/rtdata/images/Dark/actions/intent-relative.png and b/rtdata/images/Dark/actions/intent-relative.png differ diff --git a/rtdata/images/Dark/actions/intent-saturation.png b/rtdata/images/Dark/actions/intent-saturation.png index cabbb2dad..0654f78b6 100644 Binary files a/rtdata/images/Dark/actions/intent-saturation.png and b/rtdata/images/Dark/actions/intent-saturation.png differ diff --git a/rtdata/images/Dark/actions/softProof.png b/rtdata/images/Dark/actions/softProof.png index 2ff09b7f7..5f17df3ea 100644 Binary files a/rtdata/images/Dark/actions/softProof.png and b/rtdata/images/Dark/actions/softProof.png differ diff --git a/rtdata/images/Light/actions/intent-absolute.png b/rtdata/images/Light/actions/intent-absolute.png index 1396e3785..7a507e0f5 100644 Binary files a/rtdata/images/Light/actions/intent-absolute.png and b/rtdata/images/Light/actions/intent-absolute.png differ diff --git a/rtdata/images/Light/actions/intent-perceptual.png b/rtdata/images/Light/actions/intent-perceptual.png index be281333b..88de7b5e9 100644 Binary files a/rtdata/images/Light/actions/intent-perceptual.png and b/rtdata/images/Light/actions/intent-perceptual.png differ diff --git a/rtdata/images/Light/actions/intent-relative.png b/rtdata/images/Light/actions/intent-relative.png index 538b3d900..f0e641bac 100644 Binary files a/rtdata/images/Light/actions/intent-relative.png and b/rtdata/images/Light/actions/intent-relative.png differ diff --git a/rtdata/images/Light/actions/intent-saturation.png b/rtdata/images/Light/actions/intent-saturation.png index d2aac5b7f..92908b030 100644 Binary files a/rtdata/images/Light/actions/intent-saturation.png and b/rtdata/images/Light/actions/intent-saturation.png differ diff --git a/rtdata/images/Light/actions/softProof.png b/rtdata/images/Light/actions/softProof.png index 2c12e216f..3e5eb2f18 100644 Binary files a/rtdata/images/Light/actions/softProof.png and b/rtdata/images/Light/actions/softProof.png differ diff --git a/rtgui/editorpanel.cc b/rtgui/editorpanel.cc index 621c088e3..f27e27467 100644 --- a/rtgui/editorpanel.cc +++ b/rtgui/editorpanel.cc @@ -81,6 +81,7 @@ private: intentBox = Gtk::manage(bt); intentBox->addEntry("intent-relative.png", M("PREFERENCES_INTENT_RELATIVE")); intentBox->addEntry("intent-perceptual.png", M("PREFERENCES_INTENT_PERCEPTUAL")); + intentBox->addEntry("intent-absolute.png", M("PREFERENCES_INTENT_ABSOLUTE")); intentBox->setSelected(0); intentConn = intentBox->signal_changed().connect (sigc::mem_fun (this, &MonitorProfileSelector::updateIntent)); intentBox->show(); @@ -135,9 +136,12 @@ private: std::uint8_t supportedIntents = rtengine::iccStore->getProofIntents (profile); const bool supportsPerceptual = supportedIntents & 1 << INTENT_PERCEPTUAL; const bool supportsRelativeColorimetric = supportedIntents & 1 << INTENT_RELATIVE_COLORIMETRIC; + const bool supportsAbsoluteColorimetric = supportedIntents & 1 << INTENT_ABSOLUTE_COLORIMETRIC; - if (supportsPerceptual && supportsRelativeColorimetric) { + if (supportsPerceptual && (supportsRelativeColorimetric || supportsAbsoluteColorimetric)) { intentBox->set_sensitive (true); + intentBox->setItemSensitivity(0, supportsRelativeColorimetric); + intentBox->setItemSensitivity(2, supportsAbsoluteColorimetric); } else { bool wasBlocked = intentConn.block(true); @@ -148,7 +152,7 @@ private: softProof->set_sensitive(true); } - rtengine::eRenderingIntent intent = intentBox->getSelected() > 0 ? rtengine::RI_PERCEPTUAL : rtengine::RI_RELATIVE; + rtengine::eRenderingIntent intent = intentBox->getSelected() > 0 ? (intentBox->getSelected() == 1 ? rtengine::RI_PERCEPTUAL : rtengine::RI_ABSOLUTE) : rtengine::RI_RELATIVE; if (!processor) { return; @@ -206,7 +210,7 @@ public: profileConn.block(wasBlocked); #endif wasBlocked = intentConn.block(true); - intentBox->setSelected(options.rtSettings.monitorIntent == rtengine::RI_PERCEPTUAL ? 0 : 1); + intentBox->setSelected(options.rtSettings.monitorIntent == rtengine::RI_RELATIVE ? 0 : options.rtSettings.monitorIntent == rtengine::RI_PERCEPTUAL ? 1 : 2); intentConn.block(wasBlocked); updateParameters(); diff --git a/rtgui/popupcommon.h b/rtgui/popupcommon.h index 04044fb2d..b5cb757f4 100644 --- a/rtgui/popupcommon.h +++ b/rtgui/popupcommon.h @@ -54,6 +54,7 @@ public: void setButtonHint(); void show (); void set_tooltip_text (const Glib::ustring &text); + void setItemSensitivity (int i, bool isSensitive); private: type_signal_changed message; @@ -69,7 +70,6 @@ private: bool hasMenu; void showMenu(GdkEventButton* event); - void setItemSensitivity (int i, bool isSensitive); protected: void entrySelected (int i); diff --git a/tools/source_icons/scalable/intent-absolute.svg b/tools/source_icons/scalable/intent-absolute.svg index 497ce9c66..799deffc0 100644 --- a/tools/source_icons/scalable/intent-absolute.svg +++ b/tools/source_icons/scalable/intent-absolute.svg @@ -28,8 +28,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.28397906" - inkscape:cx="443.36338" - inkscape:cy="-4.6332449" + inkscape:cx="497.94487" + inkscape:cy="-71.539587" inkscape:document-units="px" inkscape:current-layer="svg2" showguides="true" @@ -1294,6 +1294,24 @@ y1="1004.7048" x2="1694.8438" y2="1004.7048" /> + + + + + + @@ -1303,7 +1321,7 @@ image/svg+xml - + @@ -1329,50 +1347,56 @@ inkscape:groupmode="layer" id="layer1" transform="translate(464.16179,164.03236)" /> - - - - - - - - - + + + + + + + + diff --git a/tools/source_icons/scalable/intent-perceptual.svg b/tools/source_icons/scalable/intent-perceptual.svg index ab34b86b7..3c949c91e 100644 --- a/tools/source_icons/scalable/intent-perceptual.svg +++ b/tools/source_icons/scalable/intent-perceptual.svg @@ -15,7 +15,7 @@ id="svg2" sodipodi:version="0.32" inkscape:version="0.91 r13725" - sodipodi:docname="intent-relative.svg" + sodipodi:docname="intent-perceptual.svg" inkscape:export-filename="/home/philippe/devel/rawtherapee/icons/NewIcons/distorsion.png" inkscape:export-xdpi="1.98" inkscape:export-ydpi="1.98" @@ -28,8 +28,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.28397906" - inkscape:cx="443.36338" - inkscape:cy="-4.6332449" + inkscape:cx="-22.166458" + inkscape:cy="-89.632823" inkscape:document-units="px" inkscape:current-layer="svg2" showguides="true" @@ -1329,38 +1329,34 @@ inkscape:groupmode="layer" id="layer1" transform="translate(464.16179,164.03236)" /> - - - - - - - + + + + + diff --git a/tools/source_icons/scalable/intent-relative.svg b/tools/source_icons/scalable/intent-relative.svg index 31a2fb342..1cd7135f2 100644 --- a/tools/source_icons/scalable/intent-relative.svg +++ b/tools/source_icons/scalable/intent-relative.svg @@ -15,7 +15,7 @@ id="svg2" sodipodi:version="0.32" inkscape:version="0.91 r13725" - sodipodi:docname="intent-perceptual.svg" + sodipodi:docname="intent-relative.svg" inkscape:export-filename="/home/philippe/devel/rawtherapee/icons/NewIcons/distorsion.png" inkscape:export-xdpi="1.98" inkscape:export-ydpi="1.98" @@ -27,9 +27,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.28397906" - inkscape:cx="443.36338" - inkscape:cy="-4.6332449" + inkscape:zoom="0.20080352" + inkscape:cx="1490.3375" + inkscape:cy="469.77917" inkscape:document-units="px" inkscape:current-layer="svg2" showguides="true" @@ -1294,6 +1294,16 @@ y1="1004.7048" x2="1694.8438" y2="1004.7048" /> + + + @@ -1307,6 +1317,13 @@ + - diff --git a/tools/source_icons/scalable/intent-saturation.svg b/tools/source_icons/scalable/intent-saturation.svg index 638df39f2..1af08f4f2 100644 --- a/tools/source_icons/scalable/intent-saturation.svg +++ b/tools/source_icons/scalable/intent-saturation.svg @@ -27,9 +27,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.10040176" - inkscape:cx="2047.3204" - inkscape:cy="-1169.7659" + inkscape:zoom="0.28397906" + inkscape:cx="432.87769" + inkscape:cy="408.60409" inkscape:document-units="px" inkscape:current-layer="svg2" showguides="true" @@ -1303,7 +1303,7 @@ image/svg+xml - + @@ -1329,38 +1329,34 @@ inkscape:groupmode="layer" id="layer1" transform="translate(464.16179,164.03236)" /> - - - - - - - + + + + + diff --git a/tools/source_icons/scalable/softProof.svg b/tools/source_icons/scalable/softProof.svg index 7d142fc4c..d09f316a2 100644 --- a/tools/source_icons/scalable/softProof.svg +++ b/tools/source_icons/scalable/softProof.svg @@ -1337,7 +1337,7 @@ image/svg+xml - + @@ -1369,7 +1369,7 @@ d="m 95.191608,588.78944 0,-496.118075" style="opacity:0.7;fill:none;fill-rule:evenodd;stroke:#2a7fff;stroke-width:30;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4687)" />