SF.net SVN: geany:[3302] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Mon Dec 1 14:54:47 UTC 2008


Revision: 3302
          http://geany.svn.sourceforge.net/geany/?rev=3302&view=rev
Author:   ntrel
Date:     2008-12-01 14:54:47 +0000 (Mon, 01 Dec 2008)

Log Message:
-----------
Add G_TYPE_STRING setting support to Stash code, use in keyfile.c.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/keyfile.c
    trunk/src/stash.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-12-01 14:45:26 UTC (rev 3301)
+++ trunk/ChangeLog	2008-12-01 14:54:47 UTC (rev 3302)
@@ -3,6 +3,8 @@
  * src/keyfile.c, src/vte.c, doc/geany.txt, doc/geany.html:
    Make VTE emulation pref hidden, because libvte only comes with an
    xterm termcaps file and the GUI pref can be confusing.
+ * src/stash.c, src/keyfile.c:
+   Add G_TYPE_STRING setting support to Stash code, use in keyfile.c.
 
 
 2008-11-29  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>

Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c	2008-12-01 14:45:26 UTC (rev 3301)
+++ trunk/src/keyfile.c	2008-12-01 14:54:47 UTC (rev 3302)
@@ -104,6 +104,8 @@
 {
 	GeanyPrefEntry package_items[] =
 	{
+		{G_TYPE_STRING, &prefs.default_open_path, "default_open_path", "", NULL},
+
 		{G_TYPE_BOOLEAN, &file_prefs.cmdline_new_files, "cmdline_new_files",
 			(gpointer)TRUE, NULL},
 
@@ -116,7 +118,6 @@
 			(gpointer)FALSE, NULL},
 		{G_TYPE_BOOLEAN, &editor_prefs.use_tab_to_indent, "use_tab_to_indent",
 			(gpointer)TRUE, NULL},
-
 		{G_TYPE_INT, &editor_prefs.indentation->width, "pref_editor_tab_width",
 			(gpointer)4, NULL},
 		{G_TYPE_INT, &editor_prefs.indentation->hard_tab_width, "indent_hard_tab_width",
@@ -147,7 +148,7 @@
 #if GTK_CHECK_VERSION(2, 12, 0)
 		,
 		{G_TYPE_BOOLEAN, &interface_prefs.show_symbol_list_expanders, "show_symbol_list_expanders",
-			(gpointer)TRUE, NULL},
+			(gpointer)TRUE, NULL}
 #endif
 	};
 	GeanyPrefGroup groups[] =
@@ -293,7 +294,6 @@
 	g_key_file_set_boolean(config, PACKAGE, "switch_msgwin_pages", prefs.switch_to_status);
 	g_key_file_set_boolean(config, PACKAGE, "beep_on_errors", prefs.beep_on_errors);
 	g_key_file_set_boolean(config, PACKAGE, "auto_focus", prefs.auto_focus);
-	g_key_file_set_string(config, PACKAGE, "default_open_path", prefs.default_open_path);
 
 	/* interface */
 	g_key_file_set_boolean(config, PACKAGE, "sidebar_symbol_visible", interface_prefs.sidebar_symbol_visible);
@@ -580,7 +580,6 @@
 	prefs.beep_on_errors = utils_get_setting_boolean(config, PACKAGE, "beep_on_errors", TRUE);
 	prefs.switch_to_status = utils_get_setting_boolean(config, PACKAGE, "switch_msgwin_pages", FALSE);
 	prefs.auto_focus = utils_get_setting_boolean(config, PACKAGE, "auto_focus", FALSE);
-	prefs.default_open_path = utils_get_setting_string(config, PACKAGE, "default_open_path", "");
 
 	/* interface */
 	interface_prefs.tab_pos_editor = utils_get_setting_integer(config, PACKAGE, "tab_pos_editor", GTK_POS_TOP);

Modified: trunk/src/stash.c
===================================================================
--- trunk/src/stash.c	2008-12-01 14:45:26 UTC (rev 3301)
+++ trunk/src/stash.c	2008-12-01 14:54:47 UTC (rev 3302)
@@ -77,6 +77,25 @@
 }
 
 
+static void handle_string_setting(GeanyPrefGroup *group, GeanyPrefEntry *se,
+		GKeyFile *config, SettingAction action)
+{
+	gchararray *setting = se->setting;
+
+	switch (action)
+	{
+		case SETTING_READ:
+			g_free(*setting);
+			*setting = utils_get_setting_string(config, group->name, se->key_name,
+				se->default_value);
+			break;
+		case SETTING_WRITE:
+			g_key_file_set_string(config, group->name, se->key_name, *setting);
+			break;
+	}
+}
+
+
 static void keyfile_action(GeanyPrefGroup *group, GKeyFile *keyfile, SettingAction action)
 {
 	GeanyPrefEntry *entry;
@@ -93,6 +112,8 @@
 				handle_bool_setting(group, entry, keyfile, action); break;
 			case G_TYPE_INT:
 				handle_int_setting(group, entry, keyfile, action); break;
+			case G_TYPE_STRING:
+				handle_string_setting(group, entry, keyfile, action); break;
 			default:
 				g_warning("Unhandled type for %s::%s!", group->name, entry->key_name);
 		}


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