[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/gtkutil.c,v
From: |
Jan Djärv |
Subject: |
[Emacs-diffs] Changes to emacs/src/gtkutil.c,v |
Date: |
Sun, 03 Dec 2006 11:44:34 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Jan Djärv <jhd> 06/12/03 11:44:33
Index: gtkutil.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/gtkutil.c,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -b -r1.98 -r1.99
--- gtkutil.c 4 Nov 2006 03:08:35 -0000 1.98
+++ gtkutil.c 3 Dec 2006 11:44:33 -0000 1.99
@@ -3684,6 +3684,9 @@
struct image *img;
Lisp_Object image;
GtkWidget *wicon = iter ? GTK_WIDGET (iter->data) : 0;
+ GtkToolItem *ti = NULL;
+ GtkWidget *wvbox;
+ GList *chlist;
if (iter) iter = g_list_next (iter);
@@ -3723,22 +3726,40 @@
if (wicon)
gtk_widget_hide (wicon);
else
+ /* Insert an empty (non-image) button */
gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget),
gtk_tool_button_new (NULL, ""),
i);
continue;
}
- if (! wicon)
+ if (wicon)
{
- GtkWidget *w = xg_get_image_for_pixmap (f, img, x->widget, NULL);
- GtkToolItem *ti = gtk_tool_button_new (w, "");
+ /* The child of the tool bar is a button. Inside that button
+ is a vbox. Inside that vbox is the GtkImage. */
+ wvbox = gtk_bin_get_child (GTK_BIN (wicon));
+ chlist = gtk_container_get_children (GTK_CONTAINER (wvbox));
+ if (chlist == NULL)
+ /* In this case, we inserted an empty button (above) with no image
*/
+ ti = GTK_TOOL_ITEM (wicon);
+ }
+ if (! wicon || ti != NULL)
+ {
+ GtkWidget *w = xg_get_image_for_pixmap (f, img, x->widget, NULL);
gtk_misc_set_padding (GTK_MISC (w), hmargin, vmargin);
- gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget),
- ti,
- i);
+
+ if (ti == NULL)
+ {
+ ti = gtk_tool_button_new (w, "");
+
+ gtk_toolbar_insert (GTK_TOOLBAR (x->toolbar_widget), ti, i);
+ }
+ else
+ gtk_tool_button_set_icon_widget (GTK_TOOL_BUTTON (ti), w);
+
+
/* The EMACS_INT cast avoids a warning. */
g_signal_connect (GTK_WIDGET (ti), "clicked",
GTK_SIGNAL_FUNC (xg_tool_bar_callback),
- [Emacs-diffs] Changes to emacs/src/gtkutil.c,v,
Jan Djärv <=