SF.net SVN: geany: [1680] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Mon Jul 9 12:46:16 UTC 2007


Revision: 1680
          http://svn.sourceforge.net/geany/?rev=1680&view=rev
Author:   eht16
Date:     2007-07-09 05:46:16 -0700 (Mon, 09 Jul 2007)

Log Message:
-----------
Change name of XML filetype to "XML document".
Add sub menus to "Set Filetype" menu.      

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/filetypes.c
    trunk/src/filetypes.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2007-07-08 14:55:37 UTC (rev 1679)
+++ trunk/ChangeLog	2007-07-09 12:46:16 UTC (rev 1680)
@@ -1,3 +1,10 @@
+2007-07-09  Enrico Tröger  <enrico.troeger at uvena.de>
+
+ * src/filetypes.c, src/filetypes.h:
+   Change name of XML filetype to "XML document".
+   Add sub menus to "Set Filetype" menu.
+
+
 2007-07-08  Enrico Tröger  <enrico.troeger at uvena.de>
 
  * src/dialogs.c: Fix missing descriptive text in message box when

Modified: trunk/src/filetypes.c
===================================================================
--- trunk/src/filetypes.c	2007-07-08 14:55:37 UTC (rev 1679)
+++ trunk/src/filetypes.c	2007-07-09 12:46:16 UTC (rev 1680)
@@ -400,7 +400,7 @@
 	filetypes[GEANY_FILETYPES_XML]->uid = FILETYPE_UID_XML;
 	filetypes[GEANY_FILETYPES_XML]->lang = -2;
 	filetypes[GEANY_FILETYPES_XML]->name = g_strdup("XML");
-	filetypes[GEANY_FILETYPES_XML]->title = g_strdup(_("XML source file"));
+	filetypes[GEANY_FILETYPES_XML]->title = g_strdup(_("XML document"));
 	filetypes[GEANY_FILETYPES_XML]->extension = g_strdup("xml");
 	filetypes[GEANY_FILETYPES_XML]->pattern = utils_strv_new(
 		"*.xml", "*.sgml", "*.xsl", "*.xslt", "*.xsd", NULL);
@@ -532,37 +532,69 @@
 }
 
 
+#define create_sub_menu(menu, item, title) \
+	(menu) = gtk_menu_new(); \
+	(item) = gtk_menu_item_new_with_mnemonic((title)); \
+	gtk_menu_item_set_submenu(GTK_MENU_ITEM((item)), (menu)); \
+	gtk_container_add(GTK_CONTAINER(filetype_menu), (item)); \
+	gtk_widget_show((item));
+
+
 /* Calls filetypes_init_types() and creates the filetype menu. */
 void filetypes_init()
 {
 	filetype_id ft_id;
 	GtkWidget *filetype_menu = lookup_widget(app->window, "set_filetype1_menu");
+	GtkWidget *sub_menu;
+	GtkWidget *sub_menu_programming, *sub_menu_scripts, *sub_menu_markup, *sub_menu_misc;
+	GtkWidget *sub_item_programming, *sub_item_scripts, *sub_item_markup, *sub_item_misc;
 
 	filetypes_init_types();
 
+	create_sub_menu(sub_menu_programming, sub_item_programming, _("_Programming Languages"));
+	create_sub_menu(sub_menu_scripts, sub_item_scripts, _("_Scripting Languages"));
+	create_sub_menu(sub_menu_markup, sub_item_markup, _("_Markup Languages"));
+	create_sub_menu(sub_menu_misc, sub_item_misc, _("M_iscellaneous Languages"));
+
 	// Append all filetypes to the filetype menu
 	for (ft_id = 0; ft_id < GEANY_MAX_FILE_TYPES; ft_id++)
 	{
 		filetype *ft = filetypes[ft_id];
-		const gchar *title = (ft_id == GEANY_FILETYPES_ALL) ? _("None") : ft->title;
+		const gchar *title = ft->title;
 
 		// insert separators for different filetype groups
 		switch (ft_id)
 		{
+			case GEANY_FILETYPES_C:		// programming
+			{
+				sub_menu = sub_menu_programming;
+				break;
+			}
 			case GEANY_FILETYPES_PERL:	// scripts
-			case GEANY_FILETYPES_XML:	// text documents
+			{
+				sub_menu = sub_menu_scripts;
+				break;
+			}
+			case GEANY_FILETYPES_XML:	// markup
+			{	// (include also CSS, not really markup but fit quite well to HTML)
+				sub_menu = sub_menu_markup;
+				break;
+			}
+			case GEANY_FILETYPES_SQL:	// misc
+			{
+				sub_menu = sub_menu_misc;
+				break;
+			}
 			case GEANY_FILETYPES_ALL:	// none
 			{
-				GtkWidget *sep = gtk_separator_menu_item_new();
-
-				gtk_widget_show(sep);
-				gtk_container_add(GTK_CONTAINER(filetype_menu), sep);
+				sub_menu = filetype_menu;
+				title = _("None");
+				break;
 			}
-			default:
-				break;
+			default: break;
 		}
 		ft->item = NULL;
-		filetypes_create_menu_item(filetype_menu, title, ft);
+		filetypes_create_menu_item(sub_menu, title, ft);
 	}
 }
 

Modified: trunk/src/filetypes.h
===================================================================
--- trunk/src/filetypes.h	2007-07-08 14:55:37 UTC (rev 1679)
+++ trunk/src/filetypes.h	2007-07-09 12:46:16 UTC (rev 1680)
@@ -62,11 +62,13 @@
 	GEANY_FILETYPES_MAKE,
 	GEANY_FILETYPES_OMS,
 
- 	// documents and others
+ 	// markup langauges
  	GEANY_FILETYPES_XML,
 	GEANY_FILETYPES_DOCBOOK,
 	GEANY_FILETYPES_HTML,
 	GEANY_FILETYPES_CSS,
+	
+	// miscellaneous languages
 	GEANY_FILETYPES_SQL,
 	GEANY_FILETYPES_LATEX,
 	GEANY_FILETYPES_DIFF,


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