made the layer cycling circular. Removed the static layer_select variable

2003-08-17  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-layer-select.[ch]: made the layer
	cycling circular. Removed the static layer_select variable and
	allocate a new struct for each use. Made it use Ctrl+Tab for
	forward cycling and Ctrl+Shift+Tab for backward so it doesn't use
	Alt any more. Cleanup.

	* app/display/gimpdisplayshell-callbacks.c: changed it from Alt to
	Ctrl here, too.

	Fixes all the stuff mentioned in bug #119236.
This commit is contained in:
Michael Natterer
2003-08-17 16:58:39 +00:00
committed by Michael Natterer
parent 6ece9f684f
commit fd61d33c5e
4 changed files with 142 additions and 140 deletions

View File

@ -156,6 +156,7 @@ gimp_display_shell_events (GtkWidget *widget,
case GDK_Up: case GDK_Down:
case GDK_space:
case GDK_Tab:
case GDK_ISO_Left_Tab:
case GDK_Alt_L: case GDK_Alt_R:
case GDK_Shift_L: case GDK_Shift_R:
case GDK_Control_L: case GDK_Control_R:
@ -1026,6 +1027,7 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
break;
case GDK_Tab:
case GDK_ISO_Left_Tab:
if (! state)
{
GimpDialogFactory *dialog_factory;
@ -1037,15 +1039,14 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
}
else if (! gimp_image_is_empty (gimage))
{
if (state & GDK_MOD1_MASK)
if (state & GDK_CONTROL_MASK)
{
gimp_display_shell_layer_select_init (gdisp->gimage,
1, kevent->time);
}
else if (state & GDK_CONTROL_MASK)
{
gimp_display_shell_layer_select_init (gdisp->gimage,
-1, kevent->time);
if (kevent->keyval == GDK_Tab)
gimp_display_shell_layer_select_init (gdisp->gimage,
1, kevent->time);
else
gimp_display_shell_layer_select_init (gdisp->gimage,
-1, kevent->time);
}
}