don't try to set the preview_size of plain GtkMenuItems.

2002-05-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainermenuimpl.c: don't try to set the
	preview_size of plain GtkMenuItems.

	* app/widgets/gimpdocumentview.c: fixed the "update" and
	"delete dangling" functionals. They got passed wrong user_data.

	* app/widgets/gimpitemfactory.c (gtk_item_factory_set_visible): if
	the widget found is a menu, get it's parent item and show/hide
	that.

	* app/widgets/gimppreview.c (gimp_preview_set_viewable): always
	clear preview->buffer so we don't display previews of vanished
	viewables.
This commit is contained in:
Michael Natterer 2002-05-10 12:47:42 +00:00 committed by Michael Natterer
parent 54d9b7ca29
commit 800bbb7e7e
8 changed files with 75 additions and 14 deletions

View file

@ -1,3 +1,19 @@
2002-05-10 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainermenuimpl.c: don't try to set the
preview_size of plain GtkMenuItems.
* app/widgets/gimpdocumentview.c: fixed the "update" and
"delete dangling" functionals. They got passed wrong user_data.
* app/widgets/gimpitemfactory.c (gtk_item_factory_set_visible): if
the widget found is a menu, get it's parent item and show/hide
that.
* app/widgets/gimppreview.c (gimp_preview_set_viewable): always
clear preview->buffer so we don't display previews of vanished
viewables.
2002-05-10 Michael Natterer <mitch@gimp.org> 2002-05-10 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontainer.c: disabled debuggind output. * app/core/gimpcontainer.c: disabled debuggind output.

View file

@ -285,13 +285,16 @@ gimp_container_menu_impl_set_preview_size (GimpContainerMenu *menu)
list; list;
list = g_list_next (list)) list = g_list_next (list))
{ {
GimpMenuItem *menu_item; if (GIMP_IS_MENU_ITEM (list->data))
{
GimpMenuItem *menu_item;
menu_item = GIMP_MENU_ITEM (list->data); menu_item = GIMP_MENU_ITEM (list->data);
gimp_preview_set_size (GIMP_PREVIEW (menu_item->preview), gimp_preview_set_size (GIMP_PREVIEW (menu_item->preview),
menu->preview_size, menu->preview_size,
GIMP_PREVIEW (menu_item->preview)->border_width); GIMP_PREVIEW (menu_item->preview)->border_width);
}
} }
} }

View file

@ -352,6 +352,13 @@ gimp_document_view_delete_dangling_foreach (GimpImagefile *imagefile,
} }
} }
static void
gimp_document_view_update_foreach (GimpImagefile *imagefile,
GimpContainerView *container_view)
{
gimp_imagefile_update (imagefile, container_view->preview_size);
}
static void static void
gimp_document_view_refresh_extended_clicked (GtkWidget *widget, gimp_document_view_refresh_extended_clicked (GtkWidget *widget,
guint state, guint state,
@ -365,13 +372,13 @@ gimp_document_view_refresh_extended_clicked (GtkWidget *widget,
{ {
gimp_container_foreach (editor->view->container, gimp_container_foreach (editor->view->container,
(GFunc) gimp_document_view_delete_dangling_foreach, (GFunc) gimp_document_view_delete_dangling_foreach,
editor->view->container); editor->view);
} }
else if (state & GDK_SHIFT_MASK) else if (state & GDK_SHIFT_MASK)
{ {
gimp_container_foreach (editor->view->container, gimp_container_foreach (editor->view->container,
(GFunc) gimp_imagefile_update, (GFunc) gimp_document_view_update_foreach,
(gpointer) editor->view->preview_size); editor->view);
} }
} }

View file

@ -550,14 +550,10 @@ gimp_item_factory_set_label (GtkItemFactory *factory,
if (widget) if (widget)
{ {
if (GTK_IS_MENU (widget)) if (GTK_IS_MENU (widget))
{ widget = gtk_menu_get_attach_widget (GTK_MENU (widget));
widget = gtk_menu_get_attach_widget (GTK_MENU (widget));
}
if (GTK_IS_LABEL (GTK_BIN (widget)->child)) if (GTK_IS_LABEL (GTK_BIN (widget)->child))
{ gtk_label_set_text (GTK_LABEL (GTK_BIN (widget)->child), label);
gtk_label_set_text (GTK_LABEL (GTK_BIN (widget)->child), label);
}
} }
else else
{ {
@ -605,6 +601,9 @@ gimp_item_factory_set_visible (GtkItemFactory *factory,
if (widget) if (widget)
{ {
if (GTK_IS_MENU (widget))
widget = gtk_menu_get_attach_widget (GTK_MENU (widget));
if (visible) if (visible)
gtk_widget_show (widget); gtk_widget_show (widget);
else else

View file

@ -552,6 +552,15 @@ gimp_preview_set_viewable (GimpPreview *preview,
g_type_is_a (G_TYPE_FROM_INSTANCE (preview), g_type_is_a (G_TYPE_FROM_INSTANCE (preview),
gimp_preview_type_from_viewable (viewable))); gimp_preview_type_from_viewable (viewable)));
if (viewable == preview->viewable)
return;
if (preview->buffer)
{
g_free (preview->buffer);
preview->buffer = NULL;
}
if (preview->viewable) if (preview->viewable)
{ {
g_object_remove_weak_pointer (G_OBJECT (preview->viewable), g_object_remove_weak_pointer (G_OBJECT (preview->viewable),

View file

@ -552,6 +552,15 @@ gimp_preview_set_viewable (GimpPreview *preview,
g_type_is_a (G_TYPE_FROM_INSTANCE (preview), g_type_is_a (G_TYPE_FROM_INSTANCE (preview),
gimp_preview_type_from_viewable (viewable))); gimp_preview_type_from_viewable (viewable)));
if (viewable == preview->viewable)
return;
if (preview->buffer)
{
g_free (preview->buffer);
preview->buffer = NULL;
}
if (preview->viewable) if (preview->viewable)
{ {
g_object_remove_weak_pointer (G_OBJECT (preview->viewable), g_object_remove_weak_pointer (G_OBJECT (preview->viewable),

View file

@ -552,6 +552,15 @@ gimp_preview_set_viewable (GimpPreview *preview,
g_type_is_a (G_TYPE_FROM_INSTANCE (preview), g_type_is_a (G_TYPE_FROM_INSTANCE (preview),
gimp_preview_type_from_viewable (viewable))); gimp_preview_type_from_viewable (viewable)));
if (viewable == preview->viewable)
return;
if (preview->buffer)
{
g_free (preview->buffer);
preview->buffer = NULL;
}
if (preview->viewable) if (preview->viewable)
{ {
g_object_remove_weak_pointer (G_OBJECT (preview->viewable), g_object_remove_weak_pointer (G_OBJECT (preview->viewable),

View file

@ -552,6 +552,15 @@ gimp_preview_set_viewable (GimpPreview *preview,
g_type_is_a (G_TYPE_FROM_INSTANCE (preview), g_type_is_a (G_TYPE_FROM_INSTANCE (preview),
gimp_preview_type_from_viewable (viewable))); gimp_preview_type_from_viewable (viewable)));
if (viewable == preview->viewable)
return;
if (preview->buffer)
{
g_free (preview->buffer);
preview->buffer = NULL;
}
if (preview->viewable) if (preview->viewable)
{ {
g_object_remove_weak_pointer (G_OBJECT (preview->viewable), g_object_remove_weak_pointer (G_OBJECT (preview->viewable),