? dia/data
? dia/uimgr-toolbox.diff
Index: dia/Makefile.am
===================================================================
RCS file: /cvs/gnome/dia/Makefile.am,v
retrieving revision 1.46
diff -a -u -p -r1.46 Makefile.am
--- dia/Makefile.am	12 Mar 2006 20:01:59 -0000	1.46
+++ dia/Makefile.am	1 May 2006 23:03:42 -0000
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS = lib objects plug-ins shapes app samples po sheets doc
+SUBDIRS = lib objects plug-ins shapes app samples po sheets data doc
 
 gnomedatadir = $(datadir)
 
Index: dia/configure.in
===================================================================
RCS file: /cvs/gnome/dia/configure.in,v
retrieving revision 1.277
diff -a -u -p -r1.277 configure.in
--- dia/configure.in	19 Apr 2006 22:04:07 -0000	1.277
+++ dia/configure.in	1 May 2006 23:03:43 -0000
@@ -342,6 +342,11 @@ AC_SUBST(Z_LIBS)
 CFLAGS="${CFLAGS} ${Z_CFLAGS}"
 LIBS="${LIBS} ${Z_LIBS}"
 
+
+dnl Path to UI resources
+AC_SUBST(uidatadir, '${pkgdatadir}/ui')
+
+
 dnl Platform-specific fixes.
 dnl 
 
@@ -507,6 +512,7 @@ plug-ins/wmf/Makefile
 plug-ins/wpg/Makefile
 plug-ins/xfig/Makefile
 plug-ins/xslt/Makefile
+data/Makefile
 doc/Makefile
 doc/en/Makefile
 doc/eu/Makefile
Index: dia/app/Makefile.am
===================================================================
RCS file: /cvs/gnome/dia/app/Makefile.am,v
retrieving revision 1.139
diff -a -u -p -r1.139 Makefile.am
--- dia/app/Makefile.am	3 Apr 2006 20:09:42 -0000	1.139
+++ dia/app/Makefile.am	1 May 2006 23:03:43 -0000
@@ -9,11 +9,12 @@ INCLUDES = \
 	$(DEBUG_FLAGS) \
 	$(GTK_CFLAGS) \
 	$(LIBART_CFLAGS) \
-        -DPREFIX=\""$(prefix)"\" \
-        -DSYSCONFDIR=\""$(sysconfdir)"\" \
-        -DDATADIR=\""$(datadir)"\" \
-        -DLIBDIR=\""$(libdir)"\" \
-	-DLOCALEDIR=\"$(localedir)\"
+	-DPREFIX=\""$(prefix)"\" \
+	-DSYSCONFDIR=\""$(sysconfdir)"\" \
+	-DDATADIR=\""$(datadir)"\" \
+	-DLIBDIR=\""$(libdir)"\" \
+	-DLOCALEDIR=\"$(localedir)\" \
+	-DUIDATADIR=\"$(uidatadir)\"
 
 
 print_files = \
Index: dia/app/dia_embedd.c
===================================================================
RCS file: /cvs/gnome/dia/app/dia_embedd.c,v
retrieving revision 1.14
diff -a -u -p -r1.14 dia_embedd.c
--- dia/app/dia_embedd.c	17 Nov 2003 21:41:24 -0000	1.14
+++ dia/app/dia_embedd.c	1 May 2006 23:03:44 -0000
@@ -379,20 +379,20 @@ main (int argc, char **argv)
   app_splash_done();
 
 #ifdef GNOME
-  menuitem = menus_get_item_from_path("<Toolbox>/File/New diagram", NULL);
+  menuitem = menus_get_item("/toolbox-menu/file/file-new");
   gtk_widget_hide(menuitem);
-  menuitem = menus_get_item_from_path("<Toolbox>/File/Open...", NULL);
+  menuitem = menus_get_item("/toolbox-menu/file/file-open");
   gtk_widget_hide(menuitem);
-  menuitem = menus_get_item_from_path("<Toolbox>/File/Exit", NULL);
+  menuitem = menus_get_item("/toolbox-menu/file/file-exit");
   gtk_widget_hide(menuitem);
 #else
-  menuitem = menus_get_item_from_path("<Toolbox>/File/New", NULL);
+  menuitem = menus_get_item("/toolbox-menu/file/file-new");
   gtk_widget_hide(menuitem);
-  menuitem = menus_get_item_from_path("<Toolbox>/File/Open...", NULL);
+  menuitem = menus_get_item("/toolbox-menu/file/file-open");
   gtk_widget_hide(menuitem);
-  menuitem = menus_get_item_from_path("<Toolbox>/File/sep1", NULL);
+  menuitem = menus_get_item("/toolbox-menu/file/file-sep1");
   gtk_widget_hide(menuitem);
-  menuitem = menus_get_item_from_path("<Toolbox>/File/Quit", NULL);
+  menuitem = menus_get_item("/toolbox-menu/file/file-quit");
   gtk_widget_hide(menuitem);
 #endif
 
Index: dia/app/interface.c
===================================================================
RCS file: /cvs/gnome/dia/app/interface.c,v
retrieving revision 1.134
diff -a -u -p -r1.134 interface.c
--- dia/app/interface.c	26 Feb 2006 07:58:26 -0000	1.134
+++ dia/app/interface.c	1 May 2006 23:03:45 -0000
@@ -1334,8 +1334,8 @@ toolbox_hide(void)
 void
 create_tree_window(void)
 {
-  GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM
-    (menus_get_item_from_path("<Toolbox>/File/Diagram tree", NULL));
+  GtkCheckMenuItem *item;
+  item = GTK_CHECK_MENU_ITEM (menus_get_item("/toolbox-menu/file/file-tree"));
   create_diagram_tree_window(&prefs.dia_tree, GTK_WIDGET(item));
 }
 
Index: dia/app/menus.c
===================================================================
RCS file: /cvs/gnome/dia/app/menus.c,v
retrieving revision 1.125
diff -a -u -p -r1.125 menus.c
--- dia/app/menus.c	5 Feb 2006 17:06:38 -0000	1.125
+++ dia/app/menus.c	1 May 2006 23:03:47 -0000
@@ -45,41 +45,25 @@ static void plugin_callback (GtkWidget *
 #define MRU_MENU_ENTRY_SIZE (strlen ("/File/MRU00 ") + 1)
 #define MRU_MENU_ACCEL_SIZE sizeof ("<control>0")
 
-static GtkItemFactoryEntry toolbox_menu_items[] =
-{
-  {N_("/_File"),               NULL,         NULL,       0,    "<Branch>" },
-  {   "/File/tearoff",         NULL,         NULL,       0,   "<Tearoff>" },
-  {N_("/File/_New"),           "<control>N", file_new_callback,         0,
-      "<StockItem>", GTK_STOCK_NEW },
-  {N_("/File/_Open..."),       "<control>O", file_open_callback,        0,
-      "<StockItem>", GTK_STOCK_OPEN },
-/*  {N_("/Open _Recent"),           NULL,         NULL,           0, "<Branch>"}, */
-/*  {   "/Open Recent/tearoff",     NULL,         NULL,         0, "<Tearoff>" }, */
-  {N_("/File/---"),            NULL,         NULL,       0, "<Separator>" },
-  {N_("/File/_Diagram tree"),  "F8",         diagtree_show_callback,    0,
-   "<ToggleItem>" },
-  {N_("/File/Sheets and Objects..."),
-                               "F9",         sheets_dialog_show_callback, 0 },
-  {N_("/File/---"),            NULL,         NULL,       0, "<Separator>" },
- {N_("/File/_Preferences..."),NULL,         file_preferences_callback, 0,
-      "<StockItem>", GTK_STOCK_PREFERENCES },
-   {N_("/File/P_lugins..."),   NULL,         file_plugins_callback,     0,
-      "<StockItem>", GTK_STOCK_EXECUTE },
-  {N_("/File/---"),            NULL,         NULL,       0, "<Separator>" },
-    /* recent file list is dynamically inserted here */
-  {N_("/File/---"),            NULL,         NULL,       0, "<Separator>" },
-  {N_("/File/_Quit"),          "<control>Q", file_quit_callback,        0,
-      "<StockItem>", GTK_STOCK_QUIT },
-  {N_("/_Help"),               NULL,         NULL,       0,    "<Branch>" },
-  {   "/Help/tearoff",         NULL,         NULL,       0,   "<Tearoff>" },
-  {N_("/Help/_Contents"),        "F1",         help_manual_callback,      0,
-      "<StockItem>", GTK_STOCK_HELP },
-  {N_("/Help/---"),            NULL,         NULL,       0, "<Separator>" },
-  {N_("/Help/_About..."),      NULL,         help_about_callback,       0 }
+static const GtkActionEntry toolbox_entries[] = {
+	{ "file", NULL, N_("_File") },
+		{ "file-new", GTK_STOCK_NEW, NULL, "<control>N", NULL, G_CALLBACK (file_new_callback) },
+		{ "file-open", GTK_STOCK_OPEN, NULL, "<control>O", NULL, G_CALLBACK (file_open_callback) },
+		{ "file-sheets", NULL, N_("Sheets and Objects..."), "F9", NULL, G_CALLBACK (sheets_dialog_show_callback) },
+		{ "file-prefs", GTK_STOCK_PREFERENCES, N_("_Preferences..."), NULL, NULL, G_CALLBACK (file_preferences_callback) },
+		{ "file-plugins", NULL, N_("Plugins..."), NULL, NULL, G_CALLBACK (file_plugins_callback) },
+		{ "file-quit", GTK_STOCK_QUIT, NULL, "<control>Q", NULL, G_CALLBACK (file_quit_callback) }, 
+	{ "help", NULL, N_("_Help") },
+		{ "help-contents", GTK_STOCK_HELP, NULL, NULL, NULL, G_CALLBACK (help_manual_callback) },
+		{ "help-about", GTK_STOCK_ABOUT, NULL, NULL, NULL, G_CALLBACK (help_about_callback) }
+};
+
+static const GtkToggleActionEntry toolbox_toggle_entries[] = {
+		{ "file-tree", NULL, N_("_Diagram tree..."), "F8", NULL, G_CALLBACK (diagtree_show_callback) }
 };
 
 /* calculate the number of menu_item's */
-static int toolbox_nmenu_items = sizeof(toolbox_menu_items) / sizeof(toolbox_menu_items[0]);
+/* static int toolbox_nmenu_items = sizeof(toolbox_menu_items) / sizeof(toolbox_menu_items[0]); */
 
 /* this one is needed while we create the menubar in GTK instead of Gnome */
 static GtkItemFactoryEntry display_menu_items[] =
@@ -277,12 +261,14 @@ static int display_nmenu_items = (sizeof
 static gboolean initialise = TRUE;
 
 /* the actual menus */
-static GtkWidget *toolbox_menubar = NULL;
+static GtkUIManager *toolbox_ui_manager = NULL;
+static GtkActionGroup *toolbox_actions = NULL;
 static GtkAccelGroup *toolbox_accels = NULL;
+static GtkWidget *toolbox_menubar = NULL;
+
 static GtkWidget *display_menus = NULL;
 static GtkAccelGroup *display_accels = NULL;
 
-static GtkItemFactory *toolbox_item_factory = NULL;
 static GtkItemFactory *display_item_factory = NULL;
 
 #ifdef ENABLE_NLS
@@ -484,6 +470,7 @@ menus_init(void)
 {
   gchar *accelfilename;
   GList *cblist;
+  GError *error = NULL;
 
   if (!initialise)
     return;
@@ -491,22 +478,25 @@ menus_init(void)
   initialise = FALSE;
 
   /* the toolbox menu */
-  toolbox_accels = gtk_accel_group_new();
-  toolbox_item_factory = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "<Toolbox>",
-					      toolbox_accels);
-  gtk_object_set_data (GTK_OBJECT (toolbox_item_factory), "factory_path",
-		       (gpointer) "toolbox");
-#ifdef ENABLE_NLS
-  gtk_item_factory_set_translate_func (toolbox_item_factory, menu_translate,
-				       "<Toolbox>", NULL);
-#endif
-  gtk_item_factory_create_items (toolbox_item_factory,
-				 toolbox_nmenu_items,
-				 toolbox_menu_items,
-				 NULL);
-  
-  toolbox_menubar = gtk_item_factory_get_widget(toolbox_item_factory,
-						"<Toolbox>");
+  toolbox_actions = gtk_action_group_new ("toolbox-actions");
+  gtk_action_group_set_translation_domain (toolbox_actions, NULL);
+  gtk_action_group_add_actions (toolbox_actions, toolbox_entries, 
+								G_N_ELEMENTS (toolbox_entries), NULL);
+  gtk_action_group_add_toggle_actions (toolbox_actions, toolbox_toggle_entries,
+									   G_N_ELEMENTS (toolbox_toggle_entries), 
+									   NULL);
+
+  toolbox_ui_manager = gtk_ui_manager_new ();
+  gtk_ui_manager_insert_action_group (toolbox_ui_manager, toolbox_actions, 0);
+  if (!gtk_ui_manager_add_ui_from_file (toolbox_ui_manager,
+										UIDATADIR"/dia-ui.xml",
+										&error)) {
+	g_warning ("building menus failed: %s", error->message);
+	g_error_free (error);
+  }
+
+  toolbox_accels = gtk_ui_manager_get_accel_group (toolbox_ui_manager);
+  toolbox_menubar = gtk_ui_manager_get_widget (toolbox_ui_manager, "/toolbox-menu");
 
   /* the display menu */
   display_accels = gtk_accel_group_new();
@@ -619,10 +609,11 @@ menus_add_path (const gchar *path)
   if (strncmp(path, "<Display>/", strlen("<Display>/")) == 0) {
     item_factory = display_item_factory;
     new_entry.path = (gchar *) (path + strlen("<Display>"));
-  } else if (strncmp(path, "<Toolbox>/", strlen("<Toolbox>/")) == 0) {
+  } /* TODO rob: figure out how to offer this API to plugins
+    else if (strncmp(path, "<Toolbox>/", strlen("<Toolbox>/")) == 0) {
     item_factory = toolbox_item_factory;
     new_entry.path = (gchar *) (path + strlen("<Toolbox>"));
-  } else {
+  } */ else {
     g_warning("bad menu path `%s'", path);
     return NULL;
   }
@@ -631,6 +622,17 @@ menus_add_path (const gchar *path)
   return gtk_item_factory_get_widget(item_factory, path);
 }
 
+GtkAccelGroup *
+menus_get_accel_group ()
+{
+	return toolbox_accels;
+}
+
+GtkActionGroup *
+menus_get_action_group ()
+{
+	return toolbox_actions;
+}
 
 /*
   Get a menu item widget from a path. 
@@ -655,12 +657,6 @@ menus_get_item_from_path (char *path, Gt
     if (wid != NULL) widget = GTK_MENU_ITEM(wid);
   }
   
-  if (widget == NULL) {
-    wid = 
-      gtk_item_factory_get_item(toolbox_item_factory, path);
-    if (wid != NULL) widget = GTK_MENU_ITEM(wid);
-  }
-
   if (! widget) {
     g_warning(_("Can't find menu entry '%s'!\nThis is probably a i18n problem "
                 "(try LANG=C)."), path);
@@ -669,6 +665,26 @@ menus_get_item_from_path (char *path, Gt
   return widget;
 }
 
+/* 
+ * This only works for toolbox menu items for now.
+ */
+GtkWidget *
+menus_get_widget (const gchar *path)
+{
+	return gtk_ui_manager_get_widget (toolbox_ui_manager, path);
+}
+
+GtkMenuItem *
+menus_get_item (const gchar *path)
+{
+  GtkWidget *widget;
+
+  widget = gtk_ui_manager_get_widget (toolbox_ui_manager, path);
+  if (widget) {
+	return GTK_MENU_ITEM (widget);
+  }
+  return NULL;
+}
 
 void
 menus_initialize_updatable_items (UpdatableMenuItems *items, 
Index: dia/app/menus.h
===================================================================
RCS file: /cvs/gnome/dia/app/menus.h,v
retrieving revision 1.20
diff -a -u -p -r1.20 menus.h
--- dia/app/menus.h	5 Feb 2006 17:06:38 -0000	1.20
+++ dia/app/menus.h	1 May 2006 23:03:47 -0000
@@ -69,6 +69,12 @@ void menus_get_toolbox_menubar (GtkWidge
 void menus_get_image_menu      (GtkWidget **menu,    GtkAccelGroup **accel);
 void menus_get_image_menubar   (GtkWidget **menu, GtkItemFactory **display_mbar_item_factory);
 
+/* GtkActionManager API, only covers toolbox for now */
+GtkAccelGroup  *menus_get_accel_group  (void);
+GtkActionGroup *menus_get_action_group (void);
+GtkWidget      *menus_get_widget       (const gchar *path);
+/**/
+
 GtkMenuItem *menus_get_item_from_path(char *path, GtkItemFactory *item_factory);
 GtkWidget *menus_add_path           (const gchar *path);
 void menus_initialize_updatable_items (UpdatableMenuItems *items, 
Index: dia/app/recent_files.c
===================================================================
RCS file: /cvs/gnome/dia/app/recent_files.c,v
retrieving revision 1.21
diff -a -u -p -r1.21 recent_files.c
--- dia/app/recent_files.c	27 Jan 2006 23:27:54 -0000	1.21
+++ dia/app/recent_files.c	1 May 2006 23:03:47 -0000
@@ -52,98 +52,118 @@ static GtkTooltips *tooltips = 0;
 static void open_recent_file_callback (GtkWidget *widget, gpointer data);
 void recent_file_history_remove (const char *fname);
 
-static GtkWidget *
-recent_file_filemenu_get(void)
-{
-    /* Use the Plugins menu item to get a pointer to the File menu,
-       but any item on the File menu will do */
-    
-    return GTK_WIDGET(menus_get_item_from_path(N_("<Toolbox>/File/Plugins..."),
-					       NULL))->parent;
-}
-
 static void
 recent_file_history_clear_menu()
 {
-    GtkWidget *file_menu = recent_file_filemenu_get();
-    GList *menu_items = GTK_MENU_SHELL(file_menu)->children;
-    GList *next_item;
-    
-    for (;menu_items != NULL; menu_items = next_item) {
-	GtkMenuItem *item;
-	next_item = g_list_next(menu_items);
-	item = GTK_MENU_ITEM(menu_items->data);
-	if (g_signal_handler_find(G_OBJECT(item), G_SIGNAL_MATCH_FUNC,
-				  0, 0, NULL, open_recent_file_callback, NULL)) {
-	    gtk_container_remove (GTK_CONTAINER (file_menu), GTK_WIDGET(item));
+	GtkMenuShell *file_menu;
+	GtkWidget *menu_item;
+	GList *child;
+	/* match menu items by widget name prefix */
+	const gchar *prefix = "file-recent";
+	guint len = strlen (prefix);
+
+	menu_item = menus_get_widget("/toolbox-menu/file/file-quit");
+	file_menu = GTK_MENU_SHELL (menu_item->parent);
+
+	child = file_menu->children;
+	while (child) {
+		menu_item = GTK_WIDGET (child->data);
+		if (0 == strncmp (prefix, gtk_widget_get_name (menu_item), len)) {
+			gtk_container_remove (GTK_CONTAINER (file_menu), menu_item);
+			/* new list after child removal */
+			child = file_menu->children;
+		}
+		else {
+			child = child->next;
+		}
 	}
-    }
 }
 
 /** Create a single menu item at position pos in the recent files list.
  * Pos starts from 0.
  */
 static void
-recent_file_menuitem_create(GtkWidget *menu, gchar *filename, 
-			    guint pos, guint offset)
+recent_file_menuitem_create (GtkMenuShell *parent,
+							 gchar        *filename,							 
+							 guint         pos, 
+							 guint         offset)
 {
-    gchar *basename, *label;
-    GtkWidget *item;
-    GtkAccelGroup *accel_group;
-    /* FIXME: filename encoding, but we need utf-8 here */
-    basename = g_path_get_basename(filename);
-    
-    label = g_strdup_printf("%d. %s", pos+1, basename);
-    item = gtk_menu_item_new_with_label(label);
-    gtk_menu_insert(GTK_MENU(menu), item,
-		    pos + offset);
-    
-    g_signal_connect(GTK_OBJECT(item), "activate",
-		     G_CALLBACK(open_recent_file_callback), filename);
-    
-    gtk_tooltips_set_tip(GTK_TOOLTIPS(tooltips), item,
-    			 filename, NULL);
-    
-    if (pos < 9)
-    {
-	accel_group = gtk_accel_group_new();
-	gtk_window_add_accel_group(GTK_WINDOW(interface_get_toolbox_shell()),
-				   accel_group);
-	gtk_widget_add_accelerator(item, "activate", accel_group,
-				   GDK_1 + pos,
-				   GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
-    }
-    
-    gtk_widget_show(item);
-    
-    g_free(basename);
-    /* gtk_label_set_text() g_strdup's our label, so... */
-    g_free(label);
+	GtkActionGroup *actions;
+	GtkAction *action;
+	GtkAccelGroup *accels;
+	gchar *accel;
+	GtkWidget *menu_item;
+	gchar *name;
+	gchar *label;
+
+	actions = menus_get_action_group ();
+	accels = menus_get_accel_group ();
+
+	name = g_strdup_printf ("file-recent-%d", pos);
+	label = g_strdup_printf ("%d. %s", pos + 1, 
+							 g_path_get_basename (filename));
+
+	action = gtk_action_new (name, label, filename, NULL);
+	g_signal_connect (G_OBJECT (action), "activate", 
+					  G_CALLBACK (open_recent_file_callback), 
+					  (gpointer) filename);
+
+	/* TODO
+	accel = g_strdup_printf ("<ctrl>%d", pos + 1);
+	gtk_action_group_add_action_with_accel (actions, action, accel);
+	g_free (accel);
+	instead of: */
+	gtk_action_group_add_action (actions, action);
+
+	menu_item = gtk_action_create_menu_item (action);
+	gtk_widget_set_name (menu_item, name);
+
+	gtk_menu_shell_insert (parent, menu_item, offset);
+
+	g_free (name);
+	g_free (label);
 }
 
 /** Build and insert the recent files menu */
 static void
 recent_file_history_make_menu()
 {
-    guint i;
-
-    GList *items = persistent_list_get_glist("recent-files");
-
-    GtkWidget *file_menu = recent_file_filemenu_get();
-
-    GtkMenuItem *menu_item = 
-	menus_get_item_from_path(N_("<Toolbox>/File/Quit"), NULL);
+	GtkMenuShell *file_menu;
+	GtkWidget *menu_item;
+	GList *recent_item;
+	GList *children;
+	guint idx = 0;
+	guint n = 0;
+
+	recent_item = persistent_list_get_glist("recent-files");
+	if (recent_item == NULL) {
+		return;
+	}
 
-    GList *list_item = g_list_find(GTK_MENU_SHELL(file_menu)->children,
-				   (gpointer)menu_item);
-    
-    int offset = g_list_position(GTK_MENU_SHELL(file_menu)->children,
-			  list_item) - 1;  /* fudge factor */
+	/* as per gtk docs it's only possible to retriev toplevels and endpoints, no menus */
+	menu_item = menus_get_widget("/toolbox-menu/file/file-new");
+	file_menu = GTK_MENU_SHELL (menu_item->parent);
+
+	/* insert before the last item, get index */
+	children = file_menu->children;
+	g_assert (children);
+	while (children->next->next) {
+		children = children->next;
+		idx++;
+	}
 
-    for (i = 0; items != NULL && i < prefs.recent_documents_list_size;
-	 items = g_list_next(items), i++) {
-	recent_file_menuitem_create(file_menu, (gchar *)items->data, i, offset);
-    }
+	do {
+		recent_file_menuitem_create (file_menu, 
+									 (gchar *) recent_item->data, 
+									 n, idx + n);
+		n++;
+	} while (NULL != (recent_item = recent_item->next));
+
+	/* separator */
+	menu_item = gtk_separator_menu_item_new ();
+	gtk_widget_set_name (menu_item, "file-recent-sep");
+	gtk_menu_shell_insert (file_menu, menu_item, idx + n);
+	gtk_widget_show (menu_item);
 }
 
 /** Add a new item to the file history list.
--- dia-orig/data/Makefile.am	1970-01-01 01:00:00.000000000 +0100
+++ dia/data/Makefile.am	2006-05-02 00:54:16.000000000 +0200
@@ -0,0 +1,7 @@
+
+uidir = $(uidatadir)
+ui_DATA = \
+	dia-ui.xml
+
+EXTRA_DIST = \
+	$(ui_DATA)
--- dia-orig/data/dia-ui.xml	1970-01-01 01:00:00.000000000 +0100
+++ dia/data/dia-ui.xml	2006-05-01 19:52:03.000000000 +0200
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ui>
+	<menubar name="toolbox-menu">
+		<menu name="file" action="file">
+			<menuitem name="file-new" action="file-new" />
+			<menuitem name="file-open" action="file-open" />
+			<separator name="file-sep1" />
+			<menuitem name="file-tree" action="file-tree" />
+			<menuitem name="file-sheets" action="file-sheets" />
+			<separator name="file-sep2 "/>
+			<menuitem name="file-prefs" action="file-prefs" />
+			<menuitem name="file-plugins" action="file-plugins" />
+			<separator name="file-sep3"/>
+			<menuitem name="file-quit" action="file-quit" />
+		</menu>
+		<menu name="help" action="help">
+			<menuitem name="help-contents" action="help-contents" />
+			<menuitem name="help-about" action="help-about" />
+		</menu>
+	</menubar>
+</ui>
