SF.net SVN: geany: [2553] branches/custom-filetypes
ntrel at users.sourceforge.net
ntrel at xxxxx
Wed May 7 11:34:45 UTC 2008
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.
More information about the Commits
mailing list