diff options
author | Elliot Lee <sopwith@redhat.com> | 1998-12-23 16:24:15 +0000 |
---|---|---|
committer | Elliot Lee <sopwith@src.gnome.org> | 1998-12-23 16:24:15 +0000 |
commit | fb833c477b525b395995fdb8ba9cb0e04e543748 (patch) | |
tree | d0a4d522919198f2f7ecd21cbe21ca1d2075a10e /gtk/gtkmenu.c | |
parent | 08b22ddebf7d47062c6670dfca90915d52f02e75 (diff) | |
download | gtk+-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.c | 20 |
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); } } |