summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.pre-2-105
-rw-r--r--ChangeLog.pre-2-45
-rw-r--r--ChangeLog.pre-2-65
-rw-r--r--ChangeLog.pre-2-85
-rw-r--r--gtk/gtkuimanager.c31
6 files changed, 48 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index c4e57051f..68f37b89e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Nov 25 00:10:05 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkuimanager.c (update_node): Don't show accelerators in
+ popup menus. (#127227)
+
Mon Nov 24 13:47:39 GMT 2003 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: start 2.x Section 4 updates
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index c4e57051f..68f37b89e 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,8 @@
+Tue Nov 25 00:10:05 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkuimanager.c (update_node): Don't show accelerators in
+ popup menus. (#127227)
+
Mon Nov 24 13:47:39 GMT 2003 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: start 2.x Section 4 updates
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index c4e57051f..68f37b89e 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,8 @@
+Tue Nov 25 00:10:05 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkuimanager.c (update_node): Don't show accelerators in
+ popup menus. (#127227)
+
Mon Nov 24 13:47:39 GMT 2003 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: start 2.x Section 4 updates
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index c4e57051f..68f37b89e 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,8 @@
+Tue Nov 25 00:10:05 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkuimanager.c (update_node): Don't show accelerators in
+ popup menus. (#127227)
+
Mon Nov 24 13:47:39 GMT 2003 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: start 2.x Section 4 updates
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index c4e57051f..68f37b89e 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,8 @@
+Tue Nov 25 00:10:05 2003 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkuimanager.c (update_node): Don't show accelerators in
+ popup menus. (#127227)
+
Mon Nov 24 13:47:39 GMT 2003 Tony Gale <gale@gtk.org>
* docs/faq/gtk-faq.sgml: start 2.x Section 4 updates
diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c
index 0d9ec632c..d39b01731 100644
--- a/gtk/gtkuimanager.c
+++ b/gtk/gtkuimanager.c
@@ -42,7 +42,7 @@
#include "gtktoolbar.h"
#include "gtkuimanager.h"
-#undef DEBUG_UI_MANAGER
+#define DEBUG_UI_MANAGER
typedef enum
{
@@ -1783,7 +1783,7 @@ update_smart_separators (GtkWidget *proxy)
static void
update_node (GtkUIManager *self,
GNode *node,
- gboolean add_tearoffs)
+ gboolean in_popup)
{
Node *info;
GNode *child;
@@ -1798,8 +1798,11 @@ update_node (GtkUIManager *self,
info = NODE_INFO (node);
+ in_popup = in_popup || (info->type == NODE_TYPE_POPUP);
+
#ifdef DEBUG_UI_MANAGER
- g_print ("update_node name=%s dirty=%d (", info->name, info->dirty);
+ g_print ("update_node name=%s dirty=%d popup %d (",
+ info->name, info->dirty, in_popup);
for (tmp = info->uifiles; tmp != NULL; tmp = tmp->next)
{
NodeUIReference *ref = tmp->data;
@@ -1859,7 +1862,9 @@ update_node (GtkUIManager *self,
menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (info->proxy));
siblings = gtk_container_get_children (GTK_CONTAINER (menu));
if (siblings != NULL && GTK_IS_TEAROFF_MENU_ITEM (siblings->data))
- g_object_set (G_OBJECT (siblings->data), "visible", add_tearoffs, 0);
+ g_object_set (G_OBJECT (siblings->data),
+ "visible", self->private_data->add_tearoffs && !in_popup,
+ NULL);
}
goto recurse_children;
@@ -1938,7 +1943,9 @@ update_node (GtkUIManager *self,
menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (info->proxy));
siblings = gtk_container_get_children (GTK_CONTAINER (menu));
if (siblings != NULL && GTK_IS_TEAROFF_MENU_ITEM (siblings->data))
- g_object_set (G_OBJECT (siblings->data), "visible", add_tearoffs, 0);
+ g_object_set (G_OBJECT (siblings->data),
+ "visible", self->private_data->add_tearoffs && !in_popup,
+ NULL);
}
break;
case NODE_TYPE_UNDECIDED:
@@ -2075,6 +2082,15 @@ update_node (GtkUIManager *self,
}
g_signal_connect (info->proxy, "notify::visible",
G_CALLBACK (update_smart_separators), 0);
+ if (in_popup)
+ {
+ /* don't show accels in popups */
+ GtkWidget *label = GTK_BIN (info->proxy)->child;
+ g_object_set (G_OBJECT (label),
+ "accel_closure", NULL,
+ NULL);
+ }
+
break;
case NODE_TYPE_TOOLITEM:
/* remove the proxy if it is of the wrong type ... */
@@ -2193,7 +2209,7 @@ update_node (GtkUIManager *self,
current = child;
child = current->next;
- update_node (self, current, add_tearoffs && (info->type != NODE_TYPE_POPUP));
+ update_node (self, current, in_popup);
}
if (info->proxy)
@@ -2233,8 +2249,7 @@ do_updates (GtkUIManager *self)
* the proxy is reconnected to the new action (or a new proxy widget
* is created and added to the parent container).
*/
- update_node (self, self->private_data->root_node,
- self->private_data->add_tearoffs);
+ update_node (self, self->private_data->root_node, FALSE);
self->private_data->update_tag = 0;