SF.net SVN: geany:[3677] branches/reorder-filetypes
ntrel at users.sourceforge.net
ntrel at xxxxx
Thu Apr 2 15:00:17 UTC 2009
Revision: 3677
http://geany.svn.sourceforge.net/geany/?rev=3677&view=rev
Author: ntrel
Date: 2009-04-02 15:00:17 +0000 (Thu, 02 Apr 2009)
Log Message:
-----------
Rename sorted_filetypes filetypes_by_title, and add to GeanyData
for plugin API access.
Fix order of filetypes in Save Actions Instant Save configuration
dialog.
Modified Paths:
--------------
branches/reorder-filetypes/ChangeLog
branches/reorder-filetypes/plugins/saveactions.c
branches/reorder-filetypes/src/dialogs.c
branches/reorder-filetypes/src/filetypes.c
branches/reorder-filetypes/src/filetypes.h
branches/reorder-filetypes/src/plugindata.h
branches/reorder-filetypes/src/plugins.c
branches/reorder-filetypes/src/templates.c
Modified: branches/reorder-filetypes/ChangeLog
===================================================================
--- branches/reorder-filetypes/ChangeLog 2009-03-31 19:01:31 UTC (rev 3676)
+++ branches/reorder-filetypes/ChangeLog 2009-04-02 15:00:17 UTC (rev 3677)
@@ -1,3 +1,13 @@
+2009-04-02 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/templates.c, src/dialogs.c, src/plugindata.h, src/filetypes.c,
+ src/filetypes.h, src/plugins.c, plugins/saveactions.c:
+ Rename sorted_filetypes filetypes_by_title, and add to GeanyData
+ for plugin API access.
+ Fix order of filetypes in Save Actions Instant Save configuration
+ dialog.
+
+
2009-03-31 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/templates.c, src/utils.h, src/dialogs.c, src/filetypes.c,
Modified: branches/reorder-filetypes/plugins/saveactions.c
===================================================================
--- branches/reorder-filetypes/plugins/saveactions.c 2009-03-31 19:01:31 UTC (rev 3676)
+++ branches/reorder-filetypes/plugins/saveactions.c 2009-04-02 15:00:17 UTC (rev 3677)
@@ -603,6 +603,8 @@
{
GtkWidget *combo;
guint i;
+ GSList *node;
+ GeanyFiletype *ft;
notebook_vbox = gtk_vbox_new(FALSE, 2);
inner_vbox = gtk_vbox_new(FALSE, 5);
@@ -624,14 +626,14 @@
gtk_box_pack_start(GTK_BOX(inner_vbox), label, FALSE, FALSE, 0);
pref_widgets.instantsave_ft_combo = combo = gtk_combo_box_new_text();
- for (i = 0; i < geany->filetypes_array->len; i++)
+ i = 0;
+ foreach_slist(ft, node, geany->filetypes_by_title)
{
- GeanyFiletype *ft = filetypes_index(i);
-
gtk_combo_box_append_text(GTK_COMBO_BOX(combo), ft->name);
if (utils_str_equal(ft->name, instantsave_default_ft))
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), i);
+ i++;
}
gtk_combo_box_set_wrap_width(GTK_COMBO_BOX(combo), 3);
gtk_label_set_mnemonic_widget(GTK_LABEL(label), combo);
Modified: branches/reorder-filetypes/src/dialogs.c
===================================================================
--- branches/reorder-filetypes/src/dialogs.c 2009-03-31 19:01:31 UTC (rev 3676)
+++ branches/reorder-filetypes/src/dialogs.c 2009-04-02 15:00:17 UTC (rev 3677)
@@ -91,7 +91,7 @@
/* ignore detect from file item */
if (filetype_idx > 0 && filetype_idx < GEANY_MAX_BUILT_IN_FILETYPES)
- ft = g_slist_nth_data(sorted_filetypes, filetype_idx);
+ ft = g_slist_nth_data(filetypes_by_title, filetype_idx);
if (encoding_idx >= 0 && encoding_idx < GEANY_ENCODINGS_MAX)
charset = encodings[encoding_idx].charset;
@@ -216,7 +216,7 @@
/* now create meta filter "All Source" */
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(ui_widgets.open_filesel),
filetypes_create_file_filter_all_source());
- foreach_slist(ft, node, sorted_filetypes)
+ foreach_slist(ft, node, filetypes_by_title)
{
if (ft->id == GEANY_FILETYPES_NONE)
continue;
Modified: branches/reorder-filetypes/src/filetypes.c
===================================================================
--- branches/reorder-filetypes/src/filetypes.c 2009-03-31 19:01:31 UTC (rev 3676)
+++ branches/reorder-filetypes/src/filetypes.c 2009-04-02 15:00:17 UTC (rev 3677)
@@ -69,11 +69,11 @@
static GHashTable *filetypes_hash = NULL; /* Hash of filetype pointers based on name keys */
-/* List of filetype pointers sorted by name, with ft[GEANY_FILETYPES_NONE] first, as this
- * is usually treated specially.
- * The list does not change after filetypes have been initialized, so you can use
- * @code g_slist_nth_data(sorted_filetypes, n) @endcode and expect the same result at different times. */
-GSList *sorted_filetypes = NULL;
+/** List of filetype pointers sorted by name, but with @c filetypes_index(GEANY_FILETYPES_NONE)
+ * first, as this is usually treated specially.
+ * The list does not change (after filetypes have been initialized), so you can use
+ * @code g_slist_nth_data(filetypes_by_title, n) @endcode and expect the same result at different times. */
+GSList *filetypes_by_title = NULL;
static void create_radio_menu_item(GtkWidget *menu, GeanyFiletype *ftype);
@@ -618,7 +618,7 @@
g_ptr_array_add(filetypes_array, ft);
g_hash_table_insert(filetypes_hash, ft->name, ft);
- sorted_filetypes = g_slist_insert_sorted(sorted_filetypes, ft, cmp_filetype);
+ filetypes_by_title = g_slist_insert_sorted(filetypes_by_title, ft, cmp_filetype);
}
@@ -1487,7 +1487,7 @@
GSList *node;
GeanyFiletype *ft;
- foreach_slist(ft, node, sorted_filetypes)
+ foreach_slist(ft, node, filetypes_by_title)
{
if (ft->id != GEANY_FILETYPES_NONE)
callback(ft, user_data);
Modified: branches/reorder-filetypes/src/filetypes.h
===================================================================
--- branches/reorder-filetypes/src/filetypes.h 2009-03-31 19:01:31 UTC (rev 3676)
+++ branches/reorder-filetypes/src/filetypes.h 2009-04-02 15:00:17 UTC (rev 3677)
@@ -144,7 +144,7 @@
* Example: filetypes[GEANY_FILETYPES_C]->name = ...; */
#define filetypes ((GeanyFiletype **)filetypes_array->pdata)
-extern GSList *sorted_filetypes;
+extern GSList *filetypes_by_title;
GeanyFiletype *filetypes_lookup_by_name(const gchar *name);
Modified: branches/reorder-filetypes/src/plugindata.h
===================================================================
--- branches/reorder-filetypes/src/plugindata.h 2009-03-31 19:01:31 UTC (rev 3676)
+++ branches/reorder-filetypes/src/plugindata.h 2009-04-02 15:00:17 UTC (rev 3677)
@@ -45,7 +45,7 @@
enum {
/** The Application Programming Interface (API) version, incremented
* whenever any plugin data types are modified or appended to. */
- GEANY_API_VERSION = 135,
+ GEANY_API_VERSION = 136,
/** The Application Binary Interface (ABI) version, incremented whenever
* existing fields in the plugin data types have to be changed or reordered. */
@@ -188,6 +188,7 @@
struct GeanyToolPrefs *tool_prefs; /**< Tool settings */
struct GeanyTemplatePrefs *template_prefs; /**< Template settings */
struct GeanyBuildInfo *build_info; /**< Current build information */
+ GSList *filetypes_by_title; /**< See filetypes.h#filetypes_by_title. */
}
GeanyData;
Modified: branches/reorder-filetypes/src/plugins.c
===================================================================
--- branches/reorder-filetypes/src/plugins.c 2009-03-31 19:01:31 UTC (rev 3676)
+++ branches/reorder-filetypes/src/plugins.c 2009-04-02 15:00:17 UTC (rev 3677)
@@ -347,7 +347,8 @@
&search_prefs,
&tool_prefs,
&template_prefs,
- &build_info
+ &build_info,
+ filetypes_by_title
};
memcpy(&geany_data, &gd, sizeof(GeanyData));
}
Modified: branches/reorder-filetypes/src/templates.c
===================================================================
--- branches/reorder-filetypes/src/templates.c 2009-03-31 19:01:31 UTC (rev 3676)
+++ branches/reorder-filetypes/src/templates.c 2009-04-02 15:00:17 UTC (rev 3677)
@@ -365,7 +365,7 @@
GeanyFiletype *ft;
GSList *node;
- foreach_slist(ft, node, sorted_filetypes)
+ foreach_slist(ft, node, filetypes_by_title)
{
filetype_id ft_id = ft->id;
GtkWidget *tmp_menu, *tmp_button;
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