From 37374c6245b8b1d55e81bb72bbead04a045c4779 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 May 2004 16:44:52 +0000 Subject: [PATCH] Merge from 2.4: 2004-05-05 Matthias Clasen Merge from 2.4: * gtk/gtkuimanager.c (print_node): Make the output parseable. (#141929, Sven Neumann) --- ChangeLog | 7 +++++ ChangeLog.pre-2-10 | 7 +++++ ChangeLog.pre-2-6 | 7 +++++ ChangeLog.pre-2-8 | 7 +++++ gtk/gtkuimanager.c | 66 ++++++++++++++++++++++++++-------------------- 5 files changed, 65 insertions(+), 29 deletions(-) diff --git a/ChangeLog b/ChangeLog index e45c06eb54..0b7dee3624 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-05-05 Matthias Clasen + + Merge from 2.4: + + * gtk/gtkuimanager.c (print_node): Make the output + parseable. (#141929, Sven Neumann) + 2004-05-05 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_drag_find_window_for_screen): Add diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index e45c06eb54..0b7dee3624 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2004-05-05 Matthias Clasen + + Merge from 2.4: + + * gtk/gtkuimanager.c (print_node): Make the output + parseable. (#141929, Sven Neumann) + 2004-05-05 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_drag_find_window_for_screen): Add diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index e45c06eb54..0b7dee3624 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,10 @@ +2004-05-05 Matthias Clasen + + Merge from 2.4: + + * gtk/gtkuimanager.c (print_node): Make the output + parseable. (#141929, Sven Neumann) + 2004-05-05 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_drag_find_window_for_screen): Add diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index e45c06eb54..0b7dee3624 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +2004-05-05 Matthias Clasen + + Merge from 2.4: + + * gtk/gtkuimanager.c (print_node): Make the output + parseable. (#141929, Sven Neumann) + 2004-05-05 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_drag_find_window_for_screen): Add diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c index 559cb694a0..9753998292 100644 --- a/gtk/gtkuimanager.c +++ b/gtk/gtkuimanager.c @@ -2560,7 +2560,7 @@ gtk_ui_manager_ensure_update (GtkUIManager *self) } static gboolean -dirty_traverse_func (GNode *node, +dirty_traverse_func (GNode *node, gpointer data) { NODE_INFO (node)->dirty = TRUE; @@ -2570,25 +2570,25 @@ dirty_traverse_func (GNode *node, static void dirty_all_nodes (GtkUIManager *self) { - g_node_traverse (self->private_data->root_node, + g_node_traverse (self->private_data->root_node, G_PRE_ORDER, G_TRAVERSE_ALL, -1, dirty_traverse_func, NULL); queue_update (self); } static const gchar *open_tag_format[] = { - "%*s\n", - "%*s\n", - "%*s\n", - "%*s\n", - "%*s\n", - "%*s\n", - "%*s\n", - "%*s\n", - "%*s\n", - "%*s\n", - "%*s\n", - "%*s\n", + "%*s\n", "%*s\n", "%*s\n", - "", - "", - "", - "", + NULL, + NULL, + NULL, + NULL }; static void -print_node (GtkUIManager *self, - GNode *node, +print_node (GtkUIManager *self, + GNode *node, gint indent_level, GString *buffer) { - Node *mnode; + Node *mnode; GNode *child; mnode = node->data; g_string_append_printf (buffer, open_tag_format[mnode->type], - indent_level, "", - mnode->name, - g_quark_to_string (mnode->action_name)); - - for (child = node->children; child != NULL; child = child->next) - print_node (self, child, indent_level + 2, buffer); - - g_string_append_printf (buffer, close_tag_format[mnode->type], indent_level, ""); + if (mnode->name) + g_string_append_printf (buffer, " name=\"%s\"", mnode->name); + + if (mnode->action_name) + g_string_append_printf (buffer, " action=\"%s\"", + g_quark_to_string (mnode->action_name)); + + g_string_append (buffer, + close_tag_format[mnode->type] ? ">\n" : "/>\n"); + + for (child = node->children; child != NULL; child = child->next) + print_node (self, child, indent_level + 2, buffer); + + if (close_tag_format[mnode->type]) + g_string_append_printf (buffer, close_tag_format[mnode->type], + indent_level, ""); } /**