SF.net SVN: geany: [2554] branches/custom-filetypes

ntrel at users.sourceforge.net ntrel at xxxxx
Wed May 7 12:14:28 UTC 2008


Revision: 2554
          http://geany.svn.sourceforge.net/geany/?rev=2554&view=rev
Author:   ntrel
Date:     2008-05-07 05:13:58 -0700 (Wed, 07 May 2008)

Log Message:
-----------
Make Open dialog file filter work for custom filetypes.

Modified Paths:
--------------
    branches/custom-filetypes/ChangeLog
    branches/custom-filetypes/src/dialogs.c
    branches/custom-filetypes/src/filetypes.c

Modified: branches/custom-filetypes/ChangeLog
===================================================================
--- branches/custom-filetypes/ChangeLog	2008-05-07 11:34:38 UTC (rev 2553)
+++ branches/custom-filetypes/ChangeLog	2008-05-07 12:13:58 UTC (rev 2554)
@@ -6,6 +6,8 @@
    filetypes_array->len.
    Highlighting and templates now use GEANY_MAX_BUILT_IN_FILETYPES.
    Move print_filetypes() out of parse_command_line_options();
+ * src/dialogs.c, src/filetypes.c:
+   Make Open dialog file filter work for custom filetypes.
 
 
 2008-05-06  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: branches/custom-filetypes/src/dialogs.c
===================================================================
--- branches/custom-filetypes/src/dialogs.c	2008-05-07 11:34:38 UTC (rev 2553)
+++ branches/custom-filetypes/src/dialogs.c	2008-05-07 12:13:58 UTC (rev 2554)
@@ -87,7 +87,9 @@
 		gchar *charset = NULL;
 		gboolean ro = (response == GEANY_RESPONSE_VIEW);	/* View clicked */
 
-		if (filetype_idx >= 0 && filetype_idx < GEANY_FILETYPES_ALL) ft = filetypes[filetype_idx];
+		/* ignore detect from file item */
+		if (filetype_idx >= 0 && filetype_idx < GEANY_FILETYPES_ALL)
+			ft = filetypes[filetype_idx];
 		if (encoding_idx >= 0 && encoding_idx < GEANY_ENCODINGS_MAX)
 			charset = encodings[encoding_idx].charset;
 
@@ -205,8 +207,11 @@
 	/* now create meta filter "All Source" */
 	gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(ui_widgets.open_filesel),
 				filetypes_create_file_filter_all_source());
-	for (i = 0; i < filetypes_array->len - 1; i++)
+	for (i = 0; i < filetypes_array->len; i++)
 	{
+		if (i == GEANY_FILETYPES_ALL)
+			continue;
+
 		gtk_combo_box_append_text(GTK_COMBO_BOX(filetype_combo), filetypes[i]->title);
 		gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(ui_widgets.open_filesel),
 				filetypes_create_file_filter(filetypes[i]));

Modified: branches/custom-filetypes/src/filetypes.c
===================================================================
--- branches/custom-filetypes/src/filetypes.c	2008-05-07 11:34:38 UTC (rev 2553)
+++ branches/custom-filetypes/src/filetypes.c	2008-05-07 12:13:58 UTC (rev 2554)
@@ -978,19 +978,21 @@
 GtkFileFilter *filetypes_create_file_filter_all_source()
 {
 	GtkFileFilter *new_filter;
-	gint i, j;
+	guint i, j;
 
 	new_filter = gtk_file_filter_new();
 	gtk_file_filter_set_name(new_filter, _("All Source"));
 
-	for (i = 0; i < GEANY_FILETYPES_ALL; i++)
+	for (i = 0; i < filetypes_array->len; i++)
 	{
+		if (i == GEANY_FILETYPES_ALL)
+			continue;
+
 		for (j = 0; filetypes[i]->pattern[j]; j++)
 		{
 			gtk_file_filter_add_pattern(new_filter, filetypes[i]->pattern[j]);
 		}
 	}
-
 	return new_filter;
 }
 


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