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.