Gray-out Retinex tool when editing non-raw image

Closes #4795
This commit is contained in:
Morgan Hardwood
2018-09-11 20:08:01 +02:00
parent ea992fc91f
commit dc34658683
5 changed files with 24 additions and 1 deletions

View File

@@ -917,6 +917,11 @@ bool MyExpander::on_enabled_change(GdkEventButton* event)
return false; return false;
} }
void MyExpander::setSensitive(bool makeSensitive)
{
set_sensitive(makeSensitive);
}
/* /*
* *
* Derived class of some widgets to properly handle the scroll wheel ; * Derived class of some widgets to properly handle the scroll wheel ;

View File

@@ -268,6 +268,9 @@ public:
/// Set the collapsed/expanded state of the expander /// Set the collapsed/expanded state of the expander
void set_expanded( bool expanded ); void set_expanded( bool expanded );
// Set whether the expander should be grayed-out.
void setSensitive(bool makeSensitive);
/// Get the collapsed/expanded state of the expander /// Get the collapsed/expanded state of the expander
bool get_expanded(); bool get_expanded();

View File

@@ -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->setSensitive(false);
} else {
exp->setSensitive(true);
}
}

View File

@@ -205,6 +205,7 @@ public:
void setEnabledTooltipText(Glib::ustring tooltipText); void setEnabledTooltipText(Glib::ustring tooltipText);
bool get_inconsistent(); // related to the enabled/disabled state bool get_inconsistent(); // related to the enabled/disabled state
void set_inconsistent(bool isInconsistent); // 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); void setLevel (int level);

View File

@@ -275,6 +275,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt
self->sensorbayer->FoldableToolPanel::show(); self->sensorbayer->FoldableToolPanel::show();
self->preprocess->FoldableToolPanel::show(); self->preprocess->FoldableToolPanel::show();
self->flatfield->FoldableToolPanel::show(); self->flatfield->FoldableToolPanel::show();
self->retinex->FoldableToolPanel::setGrayedOut(false);
return FALSE; return FALSE;
}; };
@@ -289,6 +290,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt
self->sensorbayer->FoldableToolPanel::hide(); self->sensorbayer->FoldableToolPanel::hide();
self->preprocess->FoldableToolPanel::show(); self->preprocess->FoldableToolPanel::show();
self->flatfield->FoldableToolPanel::show(); self->flatfield->FoldableToolPanel::show();
self->retinex->FoldableToolPanel::setGrayedOut(false);
return FALSE; return FALSE;
}; };
@@ -303,6 +305,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt
self->sensorxtrans->FoldableToolPanel::hide(); self->sensorxtrans->FoldableToolPanel::hide();
self->preprocess->FoldableToolPanel::hide(); self->preprocess->FoldableToolPanel::hide();
self->flatfield->FoldableToolPanel::show(); self->flatfield->FoldableToolPanel::show();
self->retinex->FoldableToolPanel::setGrayedOut(false);
return FALSE; return FALSE;
}; };
@@ -316,6 +319,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt
self->sensorxtrans->FoldableToolPanel::hide(); self->sensorxtrans->FoldableToolPanel::hide();
self->preprocess->FoldableToolPanel::hide(); self->preprocess->FoldableToolPanel::hide();
self->flatfield->FoldableToolPanel::hide(); self->flatfield->FoldableToolPanel::hide();
self->retinex->FoldableToolPanel::setGrayedOut(false);
return FALSE; return FALSE;
}; };
@@ -326,6 +330,7 @@ void ToolPanelCoordinator::imageTypeChanged (bool isRaw, bool isBayer, bool isXt
ToolPanelCoordinator* const self = static_cast<ToolPanelCoordinator*>(data); ToolPanelCoordinator* const self = static_cast<ToolPanelCoordinator*>(data);
self->rawPanelSW->set_sensitive (false); self->rawPanelSW->set_sensitive (false);
self->retinex->FoldableToolPanel::setGrayedOut(true);
return FALSE; return FALSE;
}; };