diff --git a/rtgui/toolpanel.cc b/rtgui/toolpanel.cc index 0d441e01f..c9c4f823c 100644 --- a/rtgui/toolpanel.cc +++ b/rtgui/toolpanel.cc @@ -146,5 +146,14 @@ void FoldableToolPanel::setEnabledTooltipText(Glib::ustring tooltipText) } } - +void FoldableToolPanel::setGrayedOut(bool doGrayOut) +{ + if (doGrayOut) { + exp->setEnabled(false); + exp->set_expanded(false); + exp->set_sensitive(false); + } else { + exp->set_sensitive(true); + } +} diff --git a/rtgui/toolpanel.h b/rtgui/toolpanel.h index d3d7439a9..fd7d27fbe 100644 --- a/rtgui/toolpanel.h +++ b/rtgui/toolpanel.h @@ -205,6 +205,7 @@ public: void setEnabledTooltipText(Glib::ustring tooltipText); bool get_inconsistent(); // related to the enabled/disabled state void set_inconsistent(bool isInconsistent); // related to the enabled/disabled state + void setGrayedOut(bool doGrayOut); // Set whether the tool should be disabled, collapsed and grayed-out. void setLevel (int level); diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index 5a69119c2..5d35a9ad5 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -275,6 +275,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt self->sensorbayer->FoldableToolPanel::show(); self->preprocess->FoldableToolPanel::show(); self->flatfield->FoldableToolPanel::show(); + self->retinex->FoldableToolPanel::setGrayedOut(false); return FALSE; }; @@ -289,6 +290,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt self->sensorbayer->FoldableToolPanel::hide(); self->preprocess->FoldableToolPanel::show(); self->flatfield->FoldableToolPanel::show(); + self->retinex->FoldableToolPanel::setGrayedOut(false); return FALSE; }; @@ -303,6 +305,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt self->sensorxtrans->FoldableToolPanel::hide(); self->preprocess->FoldableToolPanel::hide(); self->flatfield->FoldableToolPanel::show(); + self->retinex->FoldableToolPanel::setGrayedOut(false); return FALSE; }; @@ -316,6 +319,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt self->sensorxtrans->FoldableToolPanel::hide(); self->preprocess->FoldableToolPanel::hide(); self->flatfield->FoldableToolPanel::hide(); + self->retinex->FoldableToolPanel::setGrayedOut(false); return FALSE; }; @@ -326,6 +330,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt ToolPanelCoordinator* const self = static_cast(data); self->rawPanelSW->set_sensitive (false); + self->retinex->FoldableToolPanel::setGrayedOut(true); return FALSE; };