summaryrefslogtreecommitdiff
path: root/gtk/gtkmenu.c
diff options
context:
space:
mode:
authorElliot Lee <sopwith@redhat.com>1998-12-23 16:24:15 +0000
committerElliot Lee <sopwith@src.gnome.org>1998-12-23 16:24:15 +0000
commitfb833c477b525b395995fdb8ba9cb0e04e543748 (patch)
treed0a4d522919198f2f7ecd21cbe21ca1d2075a10e /gtk/gtkmenu.c
parent08b22ddebf7d47062c6670dfca90915d52f02e75 (diff)
downloadgtk+-fb833c477b525b395995fdb8ba9cb0e04e543748.tar.gz
*/Makefile.am: Now passes 'make distcheck'. Now loops. I'm not sure what
*/Makefile.am: Now passes 'make distcheck'. Now loops. I'm not sure what is up. 1998-12-23 Elliot Lee <sopwith@redhat.com> * gtk/gtkmenu.c: Allow programmer to gtk_object_set_data(obj, "GtkTearoffMenuItem_window_title", ..) on a GtkMenuItem and have it be recognized. If we're getting the title out of the GtkLabel, then remove all underscores.
Diffstat (limited to 'gtk/gtkmenu.c')
-rw-r--r--gtk/gtkmenu.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index 6008da04e6..368fa0af3b 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -616,9 +616,23 @@ gtk_menu_set_tearoff_state (GtkMenu *menu,
GtkWidget *child = GTK_BIN (attach_widget)->child;
if (GTK_IS_LABEL (child))
{
- gchar *ret;
- gtk_label_get (GTK_LABEL (child), &ret);
- gdk_window_set_title (menu->tearoff_window->window, ret);
+ gchar *ret, *retdup = NULL, *ctmp;
+
+ ret = gtk_object_get_data(GTK_OBJECT(attach_widget),
+ "GtkTearoffMenuItem_window_title");
+ if(!ret) {
+ gtk_label_get (GTK_LABEL (child), &ret);
+
+ retdup = ctmp = g_strdup(ret);
+
+ /* Get rid of all the _'s from menu item hotkeys */
+ while((ctmp = strchr(ctmp, '_')))
+ g_memmove(ctmp, ctmp+1, strlen(ctmp+1)+1);
+ }
+
+ gdk_window_set_title (menu->tearoff_window->window,
+ retdup?retdup:ret);
+ g_free(retdup);
}
}