Put old filetype template menu items in 'Old' submenu as they should

be removed after the 0.19 release.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4299 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
Nick Treleaven 2009-10-12 11:15:08 +00:00
parent d884a37164
commit f7165a030f
2 changed files with 18 additions and 8 deletions

View File

@ -3,6 +3,9 @@
* src/templates.c: * src/templates.c:
Don't use filetype submenus for templates (slower to navigate, often Don't use filetype submenus for templates (slower to navigate, often
only 1 per-filetype anyway). 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> 2009-10-12 Lex Trotman <elextr(at)gmail(dot)com>

View File

@ -244,26 +244,33 @@ on_new_with_filetype_template(GtkMenuItem *menuitem, gpointer user_data)
} }
/* template items for the new file menu */ /* TODO: remove filetype template support after 0.19 */
static gboolean create_new_filetype_items(void) static gboolean create_new_filetype_items(void)
{ {
GSList *node; GSList *node;
gboolean ret = FALSE; gboolean ret = FALSE;
GtkWidget *menu = NULL;
foreach_slist(node, filetypes_by_title) foreach_slist(node, filetypes_by_title)
{ {
GeanyFiletype *ft = node->data; GeanyFiletype *ft = node->data;
GtkWidget *tmp_menu; GtkWidget *item;
const gchar *label = ft->title;
if (ft->id >= GEANY_MAX_BUILT_IN_FILETYPES || ft_templates[ft->id] == NULL) if (ft->id >= GEANY_MAX_BUILT_IN_FILETYPES || ft_templates[ft->id] == NULL)
continue; continue;
tmp_menu = gtk_menu_item_new_with_label(label); if (!menu)
gtk_widget_show(tmp_menu); {
gtk_container_add(GTK_CONTAINER(new_with_template_menu), tmp_menu); item = gtk_menu_item_new_with_label(_("Old"));
g_signal_connect(tmp_menu, "activate", G_CALLBACK(on_new_with_filetype_template), ft); 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; ret = TRUE;
} }
return ret; return ret;