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>
* app/core/gimpcontainer.c: disabled debuggind output.

View file

@ -285,13 +285,16 @@ gimp_container_menu_impl_set_preview_size (GimpContainerMenu *menu)
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),
menu->preview_size,
GIMP_PREVIEW (menu_item->preview)->border_width);
gimp_preview_set_size (GIMP_PREVIEW (menu_item->preview),
menu->preview_size,
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
gimp_document_view_refresh_extended_clicked (GtkWidget *widget,
guint state,
@ -365,13 +372,13 @@ gimp_document_view_refresh_extended_clicked (GtkWidget *widget,
{
gimp_container_foreach (editor->view->container,
(GFunc) gimp_document_view_delete_dangling_foreach,
editor->view->container);
editor->view);
}
else if (state & GDK_SHIFT_MASK)
{
gimp_container_foreach (editor->view->container,
(GFunc) gimp_imagefile_update,
(gpointer) editor->view->preview_size);
(GFunc) gimp_document_view_update_foreach,
editor->view);
}
}

View file

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

View file

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