Auto disable of "ICC standard profile" when non is available

see issue 938 (should have committed this before 4.0.3 :-( )
This commit is contained in:
Oliver Duis
2011-09-19 18:04:00 +02:00
parent e65d2bbf24
commit a744c9de6e
3 changed files with 8 additions and 6 deletions

View File

@@ -408,14 +408,14 @@ void ICMPanel::opChanged () {
listener->panelChanged (EvOProfile, onames->get_active_text());
}
void ICMPanel::setRaw (bool raw) {
void ICMPanel::setRawMeta (bool raw, const rtengine::ImageData* pMeta) {
disableListener ();
icamera->set_active (raw);
iembedded->set_active (!raw);
icamera->set_sensitive (raw);
icameraICC->set_sensitive (raw);
icameraICC->set_sensitive (raw && iccStore->getStdProfile(pMeta->getCamera()) != NULL);
iembedded->set_sensitive (!raw);
enableListener ();

View File

@@ -24,6 +24,7 @@
#include <guiutils.h>
#include <toolpanel.h>
#include <imagedata.h>
class ICMPanelListener {
@@ -82,7 +83,7 @@ class ICMPanel : public Gtk::VBox, public AdjusterListener, public FoldableToolP
void ipSelectionChanged ();
void iccTogglesChanged();
void setRaw (bool raw);
void setRawMeta (bool raw, const rtengine::ImageData* pMeta);
void saveReferencePressed ();
void setICMPanelListener (ICMPanelListener* ipl) { icmplistener = ipl; }

View File

@@ -310,8 +310,9 @@ void ToolPanelCoordinator::initImage (rtengine::StagedImageProcessor* ipc_, bool
toneCurve->enableAll ();
toneCurve->enableListener ();
exifpanel->setImageData (ipc->getInitialImage()->getMetaData());
iptcpanel->setImageData (ipc->getInitialImage()->getMetaData());
const rtengine::ImageMetaData* pMetaData=ipc->getInitialImage()->getMetaData();
exifpanel->setImageData (pMetaData);
iptcpanel->setImageData (pMetaData);
if (ipc) {
ipc->setAutoExpListener (toneCurve);
@@ -319,7 +320,7 @@ void ToolPanelCoordinator::initImage (rtengine::StagedImageProcessor* ipc_, bool
ipc->setSizeListener (resize);
}
icm->setRaw (raw);
icm->setRawMeta (raw, (const rtengine::ImageData*)pMetaData);
hlrecovery->setRaw (raw);
hasChanged = true;
}