[gedit] Factor out a settings_try_new.



commit f76d8600dd30a2beca2ddac18e0b73e57d24a206
Author: Ignacio Casal Quinteiro <icq gnome org>
Date:   Fri Jul 30 20:51:09 2010 +0200

    Factor out a settings_try_new.

 plugins/filebrowser/gedit-file-browser-plugin.c |   35 ++++++++++++++++------
 1 files changed, 25 insertions(+), 10 deletions(-)
---
diff --git a/plugins/filebrowser/gedit-file-browser-plugin.c b/plugins/filebrowser/gedit-file-browser-plugin.c
index c461ae4..63058af 100644
--- a/plugins/filebrowser/gedit-file-browser-plugin.c
+++ b/plugins/filebrowser/gedit-file-browser-plugin.c
@@ -131,27 +131,42 @@ G_DEFINE_DYNAMIC_TYPE_EXTENDED (GeditFileBrowserPlugin,
 				_gedit_file_browser_widget_register_type	(type_module);		\
 )
 
-static void
-gedit_file_browser_plugin_init (GeditFileBrowserPlugin *plugin)
+static GSettings *
+settings_try_new (const gchar *schema)
 {
 	const gchar * const * schemas;
-
-	plugin->priv = GEDIT_FILE_BROWSER_PLUGIN_GET_PRIVATE (plugin);
-
-	plugin->priv->settings = g_settings_new (FILEBROWSER_BASE_SETTINGS);
-	plugin->priv->terminal_settings = g_settings_new (TERMINAL_BASE_SETTINGS);
+	GSettings *settings = NULL;
 
 	schemas = g_settings_list_schemas ();
 
-	for (; schemas != NULL && *schemas != NULL; schemas++)
+	if (schemas == NULL)
 	{
-		if (g_strcmp0 (*schemas, NAUTILUS_BASE_SETTINGS) == 0)
+		return NULL;
+	}
+
+	for (; *schemas != NULL; schemas++)
+	{
+		if (g_strcmp0 (*schemas, schema) == 0)
 		{
-			plugin->priv->nautilus_settings = g_settings_new (NAUTILUS_BASE_SETTINGS);
+			settings = g_settings_new (schema);
 			break;
 		}
 	}
 
+	return settings;
+}
+
+static void
+gedit_file_browser_plugin_init (GeditFileBrowserPlugin *plugin)
+{
+	
+
+	plugin->priv = GEDIT_FILE_BROWSER_PLUGIN_GET_PRIVATE (plugin);
+
+	plugin->priv->settings = g_settings_new (FILEBROWSER_BASE_SETTINGS);
+	plugin->priv->terminal_settings = g_settings_new (TERMINAL_BASE_SETTINGS);
+	plugin->priv->nautilus_settings = settings_try_new (NAUTILUS_BASE_SETTINGS);
+
 	if (plugin->priv->nautilus_settings == NULL)
 	{
 		plugin->priv->nautilus_settings = g_settings_new (NAUTILUS_FALLBACK_SETTINGS);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]