no need to check if the layer has an alpha channel because

2004-01-10  Michael Natterer  <mitch@gimp.org>

	* app/gui/layers-commands.c (layers_alpha_to_selection_cmd_callback):
	no need to check if the layer has an alpha channel because
	gimp_channel_select_alpha() handles layers without alpha fine: it
	selects everything that is opaque, which is the entire layer.

	* app/gui/image-menu.c (image_menu_update)
	* app/gui/layers-menu.c (layers_menu_update): don't make the
	"Alpha to Selection" items insensitive for layers without alpha.
This commit is contained in:
Michael Natterer 2004-01-10 15:32:51 +00:00 committed by Michael Natterer
parent 5a85f09261
commit 15cf8858e0
6 changed files with 27 additions and 21 deletions

View file

@ -1,3 +1,14 @@
2004-01-10 Michael Natterer <mitch@gimp.org>
* app/gui/layers-commands.c (layers_alpha_to_selection_cmd_callback):
no need to check if the layer has an alpha channel because
gimp_channel_select_alpha() handles layers without alpha fine: it
selects everything that is opaque, which is the entire layer.
* app/gui/image-menu.c (image_menu_update)
* app/gui/layers-menu.c (layers_menu_update): don't make the
"Alpha to Selection" items insensitive for layers without alpha.
2004-01-10 Michael Natterer <mitch@gimp.org> 2004-01-10 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/scripts/select-to-pattern.scm: changed * plug-ins/script-fu/scripts/select-to-pattern.scm: changed

View file

@ -481,12 +481,9 @@ layers_alpha_to_selection_cmd_callback (GtkWidget *widget,
op = (GimpChannelOps) action; op = (GimpChannelOps) action;
if (gimp_drawable_has_alpha (GIMP_DRAWABLE (active_layer))) gimp_channel_select_alpha (gimp_image_get_mask (gimage), active_layer,
{ op, FALSE, 0.0, 0.0);
gimp_channel_select_alpha (gimp_image_get_mask (gimage), active_layer, gimp_image_flush (gimage);
op, FALSE, 0.0, 0.0);
gimp_image_flush (gimage);
}
} }
void void

View file

@ -1606,10 +1606,10 @@ image_menu_update (GtkItemFactory *item_factory,
SET_SENSITIVE ("/Layer/Mask/Intersect with Selection", lm && !fs && !aux); SET_SENSITIVE ("/Layer/Mask/Intersect with Selection", lm && !fs && !aux);
SET_SENSITIVE ("/Layer/Transparency/Add Alpha Channel", lp && !aux && !fs && !lm && !alpha); SET_SENSITIVE ("/Layer/Transparency/Add Alpha Channel", lp && !aux && !fs && !lm && !alpha);
SET_SENSITIVE ("/Layer/Transparency/Alpha to Selection", lp && !aux && alpha); SET_SENSITIVE ("/Layer/Transparency/Alpha to Selection", lp && !aux);
SET_SENSITIVE ("/Layer/Transparency/Add to Selection", lp && !aux && alpha); SET_SENSITIVE ("/Layer/Transparency/Add to Selection", lp && !aux);
SET_SENSITIVE ("/Layer/Transparency/Subtract from Selection", lp && !aux && alpha); SET_SENSITIVE ("/Layer/Transparency/Subtract from Selection", lp && !aux);
SET_SENSITIVE ("/Layer/Transparency/Intersect with Selection", lp && !aux && alpha); SET_SENSITIVE ("/Layer/Transparency/Intersect with Selection", lp && !aux);
SET_SENSITIVE ("/Layer/Transform/Flip Horizontally", lp); SET_SENSITIVE ("/Layer/Transform/Flip Horizontally", lp);
SET_SENSITIVE ("/Layer/Transform/Flip Vertically", lp); SET_SENSITIVE ("/Layer/Transform/Flip Vertically", lp);

View file

@ -481,12 +481,9 @@ layers_alpha_to_selection_cmd_callback (GtkWidget *widget,
op = (GimpChannelOps) action; op = (GimpChannelOps) action;
if (gimp_drawable_has_alpha (GIMP_DRAWABLE (active_layer))) gimp_channel_select_alpha (gimp_image_get_mask (gimage), active_layer,
{ op, FALSE, 0.0, 0.0);
gimp_channel_select_alpha (gimp_image_get_mask (gimage), active_layer, gimp_image_flush (gimage);
op, FALSE, 0.0, 0.0);
gimp_image_flush (gimage);
}
} }
void void

View file

@ -260,10 +260,11 @@ layers_menu_update (GtkItemFactory *factory,
SET_SENSITIVE ("/Mask to Selection", layer && !fs && !ac && lm); SET_SENSITIVE ("/Mask to Selection", layer && !fs && !ac && lm);
SET_SENSITIVE ("/Add Alpha Channel", layer && !fs && !alpha); SET_SENSITIVE ("/Add Alpha Channel", layer && !fs && !alpha);
SET_SENSITIVE ("/Alpha to Selection", layer && !fs && !ac && alpha); SET_SENSITIVE ("/Alpha to Selection", layer && !fs && !ac);
SET_SENSITIVE ("/Merge Visible Layers...", layer && !fs && !ac); SET_SENSITIVE ("/Merge Visible Layers...", layer && !fs && !ac);
SET_SENSITIVE ("/Flatten Image", layer && !fs && !ac); SET_SENSITIVE ("/Flatten Image", layer && !fs && !ac);
#undef SET_SENSITIVE #undef SET_SENSITIVE
#undef SET_VISIBLE
} }

View file

@ -1606,10 +1606,10 @@ image_menu_update (GtkItemFactory *item_factory,
SET_SENSITIVE ("/Layer/Mask/Intersect with Selection", lm && !fs && !aux); SET_SENSITIVE ("/Layer/Mask/Intersect with Selection", lm && !fs && !aux);
SET_SENSITIVE ("/Layer/Transparency/Add Alpha Channel", lp && !aux && !fs && !lm && !alpha); SET_SENSITIVE ("/Layer/Transparency/Add Alpha Channel", lp && !aux && !fs && !lm && !alpha);
SET_SENSITIVE ("/Layer/Transparency/Alpha to Selection", lp && !aux && alpha); SET_SENSITIVE ("/Layer/Transparency/Alpha to Selection", lp && !aux);
SET_SENSITIVE ("/Layer/Transparency/Add to Selection", lp && !aux && alpha); SET_SENSITIVE ("/Layer/Transparency/Add to Selection", lp && !aux);
SET_SENSITIVE ("/Layer/Transparency/Subtract from Selection", lp && !aux && alpha); SET_SENSITIVE ("/Layer/Transparency/Subtract from Selection", lp && !aux);
SET_SENSITIVE ("/Layer/Transparency/Intersect with Selection", lp && !aux && alpha); SET_SENSITIVE ("/Layer/Transparency/Intersect with Selection", lp && !aux);
SET_SENSITIVE ("/Layer/Transform/Flip Horizontally", lp); SET_SENSITIVE ("/Layer/Transform/Flip Horizontally", lp);
SET_SENSITIVE ("/Layer/Transform/Flip Vertically", lp); SET_SENSITIVE ("/Layer/Transform/Flip Vertically", lp);