Revision: 2553 http://geany.svn.sourceforge.net/geany/?rev=2553&view=rev Author: ntrel Date: 2008-05-07 04:34:38 -0700 (Wed, 07 May 2008)
Log Message: ----------- Remove GEANY_MAX_FILE_TYPES and replace most uses of it with filetypes_array->len. Highlighting and templates now use GEANY_MAX_BUILT_IN_FILETYPES. Move print_filetypes() out of parse_command_line_options();
Modified Paths: -------------- branches/custom-filetypes/ChangeLog branches/custom-filetypes/src/dialogs.c branches/custom-filetypes/src/filetypes.c branches/custom-filetypes/src/filetypes.h branches/custom-filetypes/src/highlighting.c branches/custom-filetypes/src/keyfile.c branches/custom-filetypes/src/main.c branches/custom-filetypes/src/templates.c branches/custom-filetypes/src/win32.c
Modified: branches/custom-filetypes/ChangeLog =================================================================== --- branches/custom-filetypes/ChangeLog 2008-05-06 17:04:06 UTC (rev 2552) +++ branches/custom-filetypes/ChangeLog 2008-05-07 11:34:38 UTC (rev 2553) @@ -1,3 +1,13 @@ +2008-05-07 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> + + * src/templates.c, src/win32.c, src/highlighting.c, src/dialogs.c, + src/keyfile.c, src/filetypes.c, src/filetypes.h, src/main.c: + Remove GEANY_MAX_FILE_TYPES and replace most uses of it with + filetypes_array->len. + Highlighting and templates now use GEANY_MAX_BUILT_IN_FILETYPES. + Move print_filetypes() out of parse_command_line_options(); + + 2008-05-06 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/filetypes.c, src/filetypes.h:
Modified: branches/custom-filetypes/src/dialogs.c =================================================================== --- branches/custom-filetypes/src/dialogs.c 2008-05-06 17:04:06 UTC (rev 2552) +++ branches/custom-filetypes/src/dialogs.c 2008-05-07 11:34:38 UTC (rev 2553) @@ -169,7 +169,7 @@ GtkWidget *filetype_combo, *encoding_combo; GtkWidget *viewbtn; GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips")); - gint i; + guint i; gchar *encoding_string;
ui_widgets.open_filesel = gtk_file_chooser_dialog_new(_("Open File"), GTK_WINDOW(app->window), @@ -205,14 +205,14 @@ /* 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 < GEANY_MAX_FILE_TYPES - 1; i++) + for (i = 0; i < filetypes_array->len - 1; i++) { 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])); } gtk_combo_box_append_text(GTK_COMBO_BOX(filetype_combo), _("Detect by file extension")); - gtk_combo_box_set_active(GTK_COMBO_BOX(filetype_combo), GEANY_MAX_FILE_TYPES - 1); + gtk_combo_box_set_active(GTK_COMBO_BOX(filetype_combo), filetypes_array->len - 1);
/* fill encoding combo box */ encoding_combo = lookup_widget(ui_widgets.open_filesel, "encoding_combo");
Modified: branches/custom-filetypes/src/filetypes.c =================================================================== --- branches/custom-filetypes/src/filetypes.c 2008-05-06 17:04:06 UTC (rev 2552) +++ branches/custom-filetypes/src/filetypes.c 2008-05-07 11:34:38 UTC (rev 2553) @@ -46,6 +46,7 @@ filetype public; /* Private fields */ GtkWidget *menu_item; /* holds a pointer to the menu item for this filetype */ + gboolean keyfile_loaded; } FullFileType;
@@ -477,7 +478,7 @@ 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++) + for (ft_id = 0; ft_id < filetypes_array->len; ft_id++) { filetype *ft = filetypes[ft_id]; const gchar *title = ft->title; @@ -882,13 +883,13 @@ void filetypes_load_config(gint ft_id) { GKeyFile *config, *config_home; - static gboolean loaded[GEANY_MAX_FILE_TYPES] = {FALSE}; + FullFileType *fft = (FullFileType*)filetypes[ft_id];
- g_return_if_fail(ft_id >= 0 && ft_id < GEANY_MAX_FILE_TYPES); + g_return_if_fail(ft_id >= 0 && ft_id < (gint) filetypes_array->len);
- if (loaded[ft_id]) + if (fft->keyfile_loaded) return; - loaded[ft_id] = TRUE; + fft->keyfile_loaded = TRUE;
config = g_key_file_new(); config_home = g_key_file_new();
Modified: branches/custom-filetypes/src/filetypes.h =================================================================== --- branches/custom-filetypes/src/filetypes.h 2008-05-06 17:04:06 UTC (rev 2552) +++ branches/custom-filetypes/src/filetypes.h 2008-05-07 11:34:38 UTC (rev 2553) @@ -78,8 +78,7 @@ GEANY_FILETYPES_SQL,
GEANY_FILETYPES_ALL, /* must be last filetype, used for 'None' item. */ - GEANY_MAX_BUILT_IN_FILETYPES, - GEANY_MAX_FILE_TYPES = GEANY_MAX_BUILT_IN_FILETYPES + GEANY_MAX_BUILT_IN_FILETYPES /* Use filetypes_array->len instead */ } filetype_id;
/* Safe wrapper to get the id field of a possibly NULL filetype pointer. */
Modified: branches/custom-filetypes/src/highlighting.c =================================================================== --- branches/custom-filetypes/src/highlighting.c 2008-05-06 17:04:06 UTC (rev 2552) +++ branches/custom-filetypes/src/highlighting.c 2008-05-07 11:34:38 UTC (rev 2553) @@ -52,7 +52,7 @@ } StyleSet;
/* each filetype has a styleset except GEANY_FILETYPE_ALL */ -static StyleSet style_sets[GEANY_MAX_FILE_TYPES - 1] = {{NULL, NULL, NULL}}; +static StyleSet style_sets[GEANY_MAX_BUILT_IN_FILETYPES - 1] = {{NULL, NULL, NULL}};
enum /* Geany common styling */ @@ -289,7 +289,7 @@ { gint i;
- for (i = 0; i < GEANY_MAX_FILE_TYPES - 1; i++) + for (i = 0; i < GEANY_MAX_BUILT_IN_FILETYPES - 1; i++) { StyleSet *style_ptr; style_ptr = &style_sets[i]; @@ -3046,7 +3046,7 @@ * style_id is a Scintilla lexer style, see scintilla/SciLexer.h */ const HighlightingStyle *highlighting_get_style(gint ft_id, gint style_id) { - if (ft_id < 0 || ft_id > GEANY_MAX_FILE_TYPES) + if (ft_id < 0 || ft_id > GEANY_MAX_BUILT_IN_FILETYPES) return NULL;
if (style_sets[ft_id].styling == NULL)
Modified: branches/custom-filetypes/src/keyfile.c =================================================================== --- branches/custom-filetypes/src/keyfile.c 2008-05-06 17:04:06 UTC (rev 2552) +++ branches/custom-filetypes/src/keyfile.c 2008-05-07 11:34:38 UTC (rev 2553) @@ -981,7 +981,7 @@ g_key_file_set_comment(config, NULL, NULL, "*** This file generated by: geany --generate-data-files ***", NULL); /* add filetype keys */ - for (i = 0; i < GEANY_MAX_FILE_TYPES; i++) + for (i = 0; i < filetypes_array->len; i++) { g_key_file_set_string_list(config, "Extensions", filetypes[i]->name, (const gchar**) filetypes[i]->pattern, g_strv_length(filetypes[i]->pattern)); @@ -1026,7 +1026,7 @@ g_key_file_load_from_file(userconfig, userconfigfile, G_KEY_FILE_NONE, NULL);
/* read the keys */ - for (i = 0; i < GEANY_MAX_FILE_TYPES; i++) + for (i = 0; i < filetypes_array->len; i++) { gboolean userset = g_key_file_has_key(userconfig, "Extensions", filetypes[i]->name, NULL);
Modified: branches/custom-filetypes/src/main.c =================================================================== --- branches/custom-filetypes/src/main.c 2008-05-06 17:04:06 UTC (rev 2552) +++ branches/custom-filetypes/src/main.c 2008-05-07 11:34:38 UTC (rev 2553) @@ -473,6 +473,21 @@ }
+static void print_filetypes(void) +{ + guint i; + + filetypes_init_types(); + printf("Geany's internal filetype names:\n"); + + for (i = 0; i < filetypes_array->len; i++) + { + printf("%s\n", filetypes[i]->name); + } + filetypes_free_types(); +} + + static void parse_command_line_options(gint *argc, gchar ***argv) { GError *error = NULL; @@ -585,13 +600,7 @@
if (ft_names) { - printf("Geany's internal filetype names:\n"); - filetypes_init_types(); - for (i = 0; i < GEANY_MAX_FILE_TYPES; i++) - { - printf("%s\n", filetypes[i]->name); - } - filetypes_free_types(); + print_filetypes(); exit(0); }
Modified: branches/custom-filetypes/src/templates.c =================================================================== --- branches/custom-filetypes/src/templates.c 2008-05-06 17:04:06 UTC (rev 2552) +++ branches/custom-filetypes/src/templates.c 2008-05-07 11:34:38 UTC (rev 2553) @@ -226,7 +226,7 @@ ";
static gchar *templates[GEANY_MAX_TEMPLATES]; -static gchar *ft_templates[GEANY_MAX_FILE_TYPES] = {NULL}; +static gchar *ft_templates[GEANY_MAX_BUILT_IN_FILETYPES] = {NULL};
/* some simple macros to reduce code size and make the code readable */ @@ -290,7 +290,7 @@ { filetype_id ft_id;
- for (ft_id = 0; ft_id < GEANY_MAX_FILE_TYPES; ft_id++) + for (ft_id = 0; ft_id < GEANY_MAX_BUILT_IN_FILETYPES; ft_id++) { gchar *ext = filetypes_get_conf_extension(ft_id); gchar *shortname = g_strconcat("filetype.", ext, NULL); @@ -338,7 +338,7 @@ GtkWidget *template_menu = lookup_widget(app->window, "menu_new_with_template1_menu"); filetype_id ft_id;
- for (ft_id = 0; ft_id < GEANY_MAX_FILE_TYPES; ft_id++) + for (ft_id = 0; ft_id < GEANY_MAX_BUILT_IN_FILETYPES; ft_id++) { GtkWidget *tmp_menu, *tmp_button; filetype *ft = filetypes[ft_id];
Modified: branches/custom-filetypes/src/win32.c =================================================================== --- branches/custom-filetypes/src/win32.c 2008-05-06 17:04:06 UTC (rev 2552) +++ branches/custom-filetypes/src/win32.c 2008-05-07 11:34:38 UTC (rev 2553) @@ -88,14 +88,14 @@ GString *all_patterns = g_string_sized_new(100); gchar *tmp;
- for (i = 0; i < GEANY_MAX_FILE_TYPES; i++) + for (i = 0; i < filetypes_array->len; 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; i < GEANY_MAX_FILE_TYPES; i++) + for (i = 0; i < filetypes_array->len; i++) { for (j = 0; filetypes[i]->pattern[j] != NULL; j++) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.