SF.net SVN: geany:[4972] branches/sm
statc at users.sourceforge.net
statc at xxxxx
Mon May 31 09:24:43 UTC 2010
Revision: 4972
http://geany.svn.sourceforge.net/geany/?rev=4972&view=rev
Author: statc
Date: 2010-05-31 09:24:43 +0000 (Mon, 31 May 2010)
Log Message:
-----------
Apply patch by Dimitar Zhekov to avoid saving filetype files on exit.
Modified Paths:
--------------
branches/sm/ChangeLog.sm
branches/sm/src/filetypes.c
branches/sm/src/filetypes.h
branches/sm/src/main.c
Modified: branches/sm/ChangeLog.sm
===================================================================
--- branches/sm/ChangeLog.sm 2010-05-31 09:24:21 UTC (rev 4971)
+++ branches/sm/ChangeLog.sm 2010-05-31 09:24:43 UTC (rev 4972)
@@ -6,6 +6,8 @@
* src/keyfile.c, src/keyfile.h, src/main.c, src/prefs.c, src/project.c:
Apply patches by Dimitar Zhekov to not save settings edited in the
Preferences Dialog to geany.conf on exit.
+ * src/filetypes.c, src/filetypes.h, src/main.c:
+ Apply patch by Dimitar Zhekov to avoid saving filetype files on exit.
2010-02-23 Eugene Arshinov <earshinov(at)gmail(dot)com>
Modified: branches/sm/src/filetypes.c
===================================================================
--- branches/sm/src/filetypes.c 2010-05-31 09:24:21 UTC (rev 4971)
+++ branches/sm/src/filetypes.c 2010-05-31 09:24:43 UTC (rev 4972)
@@ -1343,16 +1343,15 @@
}
-gchar *filetypes_get_conf_extension(gint filetype_idx)
+static gchar *get_filetype_conf_extension(const GeanyFiletype *ft)
{
gchar *result;
- GeanyFiletype *ft = filetypes[filetype_idx];
if (ft->priv->custom)
return g_strconcat(ft->name, ".conf", NULL);
/* Handle any special extensions different from lowercase filetype->name */
- switch (filetype_idx)
+ switch (ft->id)
{
case GEANY_FILETYPES_CPP: result = g_strdup("cpp"); break;
case GEANY_FILETYPES_CS: result = g_strdup("cs"); break;
@@ -1363,33 +1362,29 @@
}
-void filetypes_save_commands(void)
+gchar *filetypes_get_conf_extension(gint filetype_idx)
{
- gchar *conf_prefix = g_strconcat(app->configdir,
- G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.", NULL);
- guint i;
+ return get_filetype_conf_extension(filetypes[filetype_idx]);
+}
- for (i = 1; i < filetypes_array->len; i++)
- {
- GKeyFile *config_home;
- gchar *fname, *ext, *data;
- if (filetypes[i]->home_save_needed)
- {
- ext = filetypes_get_conf_extension(i);
- fname = g_strconcat(conf_prefix, ext, NULL);
- g_free(ext);
- config_home = g_key_file_new();
- g_key_file_load_from_file(config_home, fname, G_KEY_FILE_KEEP_COMMENTS, NULL);
- build_save_menu(config_home, (gpointer)(filetypes[i]), GEANY_BCS_HOME_FT);
- data = g_key_file_to_data(config_home, NULL, NULL);
- utils_write_file(fname, data);
- g_free(data);
- g_key_file_free(config_home);
- g_free(fname);
- }
- }
- g_free(conf_prefix);
+void filetypes_save_commands(const GeanyFiletype *ft)
+{
+ gchar *ext = get_filetype_conf_extension(ft);
+ gchar *fname = g_strconcat(app->configdir,
+ G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.", ext, NULL);
+ GKeyFile *config_home;
+ gchar *data;
+
+ config_home = g_key_file_new();
+ g_key_file_load_from_file(config_home, fname, G_KEY_FILE_KEEP_COMMENTS, NULL);
+ build_save_menu(config_home, (gpointer)(ft), GEANY_BCS_HOME_FT);
+ data = g_key_file_to_data(config_home, NULL, NULL);
+ utils_write_file(fname, data);
+ g_free(data);
+ g_key_file_free(config_home);
+ g_free(fname);
+ g_free(ext);
}
@@ -1635,9 +1630,6 @@
guint i;
GeanyDocument *current_doc;
- /* save possibly changed commands before re-reading them */
- filetypes_save_commands();
-
/* reload filetype configs */
for (i = 0; i < filetypes_array->len; i++)
{
@@ -1654,5 +1646,3 @@
/* process the current document at last */
document_reload_config(current_doc);
}
-
-
Modified: branches/sm/src/filetypes.h
===================================================================
--- branches/sm/src/filetypes.h 2010-05-31 09:24:21 UTC (rev 4971)
+++ branches/sm/src/filetypes.h 2010-05-31 09:24:43 UTC (rev 4972)
@@ -179,7 +179,7 @@
void filetypes_load_config(gint ft_id, gboolean reload);
-void filetypes_save_commands(void);
+void filetypes_save_commands(const GeanyFiletype *ft);
void filetypes_select_radio_item(const GeanyFiletype *ft);
Modified: branches/sm/src/main.c
===================================================================
--- branches/sm/src/main.c 2010-05-31 09:24:21 UTC (rev 4971)
+++ branches/sm/src/main.c 2010-05-31 09:24:43 UTC (rev 4972)
@@ -1226,7 +1226,6 @@
navqueue_free();
keybindings_free();
- filetypes_save_commands();
highlighting_free_styles();
templates_free_templates();
msgwin_finalize();
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