[goffice] More workaround for http://bugzilla.gnome.org/show_bug.cgi?id=585421



commit 5d6f87665436800d15b612cc5eda7636b22c6187
Author: Emmanuel Pacaud <emmanuel pacaud lapp in2p3 fr>
Date:   Tue Jun 30 16:33:48 2009 +0200

    More workaround for http://bugzilla.gnome.org/show_bug.cgi?id=585421
    
    * goffice/gtk/go-color-palette.c (make_colored_menu_item): here.
    * goffice/gtk/go-combo-pixmaps.c (go_menu_pixmaps_add_element): and here.

 ChangeLog                      |    7 +++++++
 goffice/gtk/go-color-palette.c |   17 +++++++++++++++--
 goffice/gtk/go-combo-pixmaps.c |    9 +++++++++
 3 files changed, 31 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 335fe26..7732d53 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2009-06-30  Emmanuel Pacaud <emmanuel pacaud lapp in2p3 fr>
 
+	More workaround for http://bugzilla.gnome.org/show_bug.cgi?id=585421
+
+	* goffice/gtk/go-color-palette.c (make_colored_menu_item): here.
+	* goffice/gtk/go-combo-pixmaps.c (go_menu_pixmaps_add_element): and here.
+
+2009-06-30  Emmanuel Pacaud <emmanuel pacaud lapp in2p3 fr>
+
 	Fix wrong palette swatch sizes, due to bug introduced in gtk 2.16.
 	(see http://bugzilla.gnome.org/show_bug.cgi?id=585421)
 
diff --git a/goffice/gtk/go-color-palette.c b/goffice/gtk/go-color-palette.c
index e1ceb94..c4028d2 100644
--- a/goffice/gtk/go-color-palette.c
+++ b/goffice/gtk/go-color-palette.c
@@ -573,6 +573,12 @@ static GSF_CLASS (GOMenuColor, go_menu_color,
 		  go_menu_color_class_init, NULL,
 		  GTK_TYPE_MENU)
 
+static void
+cb_menu_item_toggle_size_request (GtkWidget *item, gint *requitision)
+{
+	*requitision = 1;
+}
+
 static GtkWidget *
 make_colored_menu_item (char const *label, GOColor c)
 {
@@ -595,6 +601,10 @@ make_colored_menu_item (char const *label, GOColor c)
 	gtk_widget_show_all (button);
 
 	g_object_set_data (G_OBJECT (button), "go_color", GINT_TO_POINTER (c));
+
+	/* Workaround for bug http://bugzilla.gnome.org/show_bug.cgi?id=585421 */
+	g_signal_connect (button, "toggle-size-request", G_CALLBACK (cb_menu_item_toggle_size_request), NULL);
+
 	return button;
 }
 
@@ -698,8 +708,11 @@ custom_colors :
 			G_CALLBACK (cb_menu_color_activate), submenu);
 	}
 	w = gtk_image_menu_item_new_with_label (_("Custom Color..."));
-	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w),
-		gtk_image_new_from_stock (GTK_STOCK_SELECT_COLOR, GTK_ICON_SIZE_MENU));
+	/* Workaround for bug http://bugzilla.gnome.org/show_bug.cgi?id=585421 */
+	/* We can't have an image in one of the gtk_menu_item, it would lead to an 
+	   ugly item spacing. */
+	/* gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (w),*/
+	/* 	gtk_image_new_from_stock (GTK_STOCK_SELECT_COLOR, GTK_ICON_SIZE_MENU));*/
 	gtk_widget_show_all (w);
 	gtk_menu_attach (GTK_MENU (submenu), w, 0, cols, row + 2, row + 3);
 	g_signal_connect (G_OBJECT (w),
diff --git a/goffice/gtk/go-combo-pixmaps.c b/goffice/gtk/go-combo-pixmaps.c
index 547d450..0f8257b 100644
--- a/goffice/gtk/go-combo-pixmaps.c
+++ b/goffice/gtk/go-combo-pixmaps.c
@@ -338,6 +338,12 @@ cb_menu_item_activate (GtkWidget *button, GtkWidget *menu)
 	g_signal_emit (menu, go_menu_pixmaps_signals [CHANGED], 0, id);
 }
 
+static void
+cb_menu_item_toggle_size_request (GtkWidget *item, gint *requitision)
+{
+	*requitision = 1;
+}
+
 void
 go_menu_pixmaps_add_element (GOMenuPixmaps *menu,
 			     GdkPixbuf *pixbuf, int id)
@@ -361,4 +367,7 @@ go_menu_pixmaps_add_element (GOMenuPixmaps *menu,
 	g_signal_connect (G_OBJECT (button),
 		"activate",
 		G_CALLBACK (cb_menu_item_activate), menu);
+
+	/* Workaround for bug http://bugzilla.gnome.org/show_bug.cgi?id=585421 */
+	g_signal_connect (button, "toggle-size-request", G_CALLBACK (cb_menu_item_toggle_size_request), NULL);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]