SF.net SVN: geany: [1357] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Fri Mar 2 09:53:22 UTC 2007


Revision: 1357
          http://svn.sourceforge.net/geany/?rev=1357&view=rev
Author:   eht16
Date:     2007-03-02 01:53:21 -0800 (Fri, 02 Mar 2007)

Log Message:
-----------
Added new file filter for Open File dialog to only show supported source files (for native Win32 dialog).

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

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2007-03-01 22:38:31 UTC (rev 1356)
+++ trunk/ChangeLog	2007-03-02 09:53:21 UTC (rev 1357)
@@ -1,3 +1,10 @@
+2007-03-02  Enrico Tröger  <enrico.troeger at uvena.de>
+
+ * src/win32.c:
+   Added new file filter for Open File dialog to only show supported
+   source files (for native Win32 dialog).
+
+
 2007-03-01  Nick Treleaven  <nick.treleaven at btinternet.com>
 
  * src/build.c, src/project.c, src/project.h:
@@ -23,8 +30,8 @@
  * src/dialogs.c, src/filetypes.c, src/filetypes.h:
    Added new file filter for Open File dialog to only show supported
    source files (list of all defined filename extensions).
-   
 
+
 2007-02-28  Nick Treleaven  <nick.treleaven at btinternet.com>
 
  * src/msgwindow.c, src/msgwindow.h, src/search.c:

Modified: trunk/src/win32.c
===================================================================
--- trunk/src/win32.c	2007-03-01 22:38:31 UTC (rev 1356)
+++ trunk/src/win32.c	2007-03-02 09:53:21 UTC (rev 1357)
@@ -54,20 +54,30 @@
 static gchar *win32_get_file_filters()
 {
 	gchar *string;
-	gint i, len;
+	gint i, j, len;
 
 	GString *str = g_string_sized_new(100);
+	GString *all_patterns = g_string_sized_new(100);
 	gchar *tmp;
 
-	for (i = 0; i < GEANY_MAX_FILE_TYPES; i++)
+	for (i = 0; filetypes[i] != NULL; i++)
 	{
-		if (filetypes[i])
+		tmp = g_strjoinv(";", filetypes[i]->pattern);
+		g_string_append_printf(str, "%s\t%s\t", filetypes[i]->title, tmp);
+		g_free(tmp);
+	}
+	// create meta file filter "All Source"
+	for (i = 0; filetypes[i] != NULL; i++)
+	{
+		for (j = 0; filetypes[i]->pattern[j] != NULL; j++)
 		{
-			tmp = g_strjoinv(";", filetypes[i]->pattern);
-			g_string_append_printf(str, "%s\t%s\t", filetypes[i]->title, tmp);
-			g_free(tmp);
+			g_string_append(all_patterns, filetypes[i]->pattern[j]);
+			g_string_append_c(all_patterns, ';');
 		}
 	}
+	g_string_append_printf(str, "%s\t%s\t", _("All Source"), all_patterns->str);
+	g_string_free(all_patterns, TRUE);
+
 	g_string_append_c(str, '\t'); // the final \0 byte to mark the end of the string
 	string = str->str;
 	g_string_free(str, FALSE);


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