SF.net SVN: geany:[4299] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Mon Oct 12 11:15:08 UTC 2009


Revision: 4299
          http://geany.svn.sourceforge.net/geany/?rev=4299&view=rev
Author:   ntrel
Date:     2009-10-12 11:15:08 +0000 (Mon, 12 Oct 2009)

Log Message:
-----------
Put old filetype template menu items in 'Old' submenu as they should
be removed after the 0.19 release.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/templates.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2009-10-12 11:13:39 UTC (rev 4298)
+++ trunk/ChangeLog	2009-10-12 11:15:08 UTC (rev 4299)
@@ -3,6 +3,9 @@
  * src/templates.c:
    Don't use filetype submenus for templates (slower to navigate, often
    only 1 per-filetype anyway).
+ * src/templates.c:
+   Put old filetype template menu items in 'Old' submenu as they should
+   be removed after the 0.19 release.
 
 
 2009-10-12  Lex Trotman  <elextr(at)gmail(dot)com>

Modified: trunk/src/templates.c
===================================================================
--- trunk/src/templates.c	2009-10-12 11:13:39 UTC (rev 4298)
+++ trunk/src/templates.c	2009-10-12 11:15:08 UTC (rev 4299)
@@ -244,26 +244,33 @@
 }
 
 
-/* template items for the new file menu */
+/* TODO: remove filetype template support after 0.19 */
 static gboolean create_new_filetype_items(void)
 {
 	GSList *node;
 	gboolean ret = FALSE;
+	GtkWidget *menu = NULL;
 
 	foreach_slist(node, filetypes_by_title)
 	{
 		GeanyFiletype *ft = node->data;
-		GtkWidget *tmp_menu;
-		const gchar *label = ft->title;
+		GtkWidget *item;
 
 		if (ft->id >= GEANY_MAX_BUILT_IN_FILETYPES || ft_templates[ft->id] == NULL)
 			continue;
 
-		tmp_menu = gtk_menu_item_new_with_label(label);
-		gtk_widget_show(tmp_menu);
-		gtk_container_add(GTK_CONTAINER(new_with_template_menu), tmp_menu);
-		g_signal_connect(tmp_menu, "activate", G_CALLBACK(on_new_with_filetype_template), ft);
-
+		if (!menu)
+		{
+			item = gtk_menu_item_new_with_label(_("Old"));
+			menu = gtk_menu_new();
+			gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu);
+			gtk_widget_show_all(item);
+			gtk_container_add(GTK_CONTAINER(new_with_template_menu), item);
+		}
+		item = gtk_menu_item_new_with_label(ft->title);
+		gtk_widget_show(item);
+		gtk_container_add(GTK_CONTAINER(menu), item);
+		g_signal_connect(item, "activate", G_CALLBACK(on_new_with_filetype_template), ft);
 		ret = TRUE;
 	}
 	return ret;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list