Added boolean parameter to gimp_dialog_factories_toggle to make it

2004-09-11  Simon Budig  <simon@gimp.org>

	* app/widgets/gimpdialogfactory.[ch]: Added boolean parameter to
	gimp_dialog_factories_toggle to make it possible to ensure a visible
	toolbox.

	* app/actions/dialogs-commands.c: Use the new parameter to ensure
	toolbox visibility after the last image window closes.

	* app/display/gimpdisplayshell-callbacks.c: Changed accordingly.

	Fixes bug #137057 (the discussion is in bug #152285)
This commit is contained in:
Simon Budig 2004-09-11 19:19:26 +00:00 committed by Simon Budig
parent 004a5e0cd8
commit 4a75d7271e
5 changed files with 22 additions and 15 deletions

View file

@ -1,3 +1,16 @@
2004-09-11 Simon Budig <simon@gimp.org>
* app/widgets/gimpdialogfactory.[ch]: Added boolean parameter to
gimp_dialog_factories_toggle to make it possible to ensure a visible
toolbox.
* app/actions/dialogs-commands.c: Use the new parameter to ensure
toolbox visibility after the last image window closes.
* app/display/gimpdisplayshell-callbacks.c: Changed accordingly.
Fixes bug #137057 (the discussion is in bug #152285)
2004-09-11 DindinX <david@dindinx.org>
* plug-ins/common/edge.c: ported to GimpPreviewArea. 100 less lines of

View file

@ -156,18 +156,7 @@ dialogs_show_toolbox (void)
}
else
{
GList *list;
for (list = global_toolbox_factory->open_dialogs;
list;
list = g_list_next (list))
{
if (GTK_WIDGET_TOPLEVEL (list->data))
{
gtk_window_present (GTK_WINDOW (list->data));
break;
}
}
gimp_dialog_factories_toggle (global_toolbox_factory, TRUE);
}
}

View file

@ -1255,7 +1255,7 @@ gimp_display_shell_canvas_tool_events (GtkWidget *canvas,
dialog_factory = gimp_dialog_factory_from_name ("toolbox");
/* Hide or show all dialogs */
gimp_dialog_factories_toggle (dialog_factory);
gimp_dialog_factories_toggle (dialog_factory, FALSE);
}
else if (! gimp_image_is_empty (gimage))
{

View file

@ -1044,7 +1044,8 @@ gimp_dialog_factories_session_clear (void)
}
void
gimp_dialog_factories_toggle (GimpDialogFactory *toolbox_factory)
gimp_dialog_factories_toggle (GimpDialogFactory *toolbox_factory,
gboolean ensure_visibility)
{
static GimpDialogShowState toggle_state = GIMP_DIALOG_SHOW_ALL;
static gboolean doing_update = FALSE;
@ -1054,6 +1055,9 @@ gimp_dialog_factories_toggle (GimpDialogFactory *toolbox_factory)
if (doing_update)
return;
if (ensure_visibility && toggle_state != GIMP_DIALOG_HIDE_ALL)
return;
doing_update = TRUE;
factory_class = g_type_class_peek (GIMP_TYPE_DIALOG_FACTORY);

View file

@ -140,7 +140,8 @@ void gimp_dialog_factories_session_save (GimpConfigWriter *writer);
void gimp_dialog_factories_session_restore (void);
void gimp_dialog_factories_session_clear (void);
void gimp_dialog_factories_toggle (GimpDialogFactory *toolbox_factory);
void gimp_dialog_factories_toggle (GimpDialogFactory *toolbox_factory,
gboolean ensure_visibility);
void gimp_dialog_factories_set_busy (void);
void gimp_dialog_factories_unset_busy (void);