summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalló György <[email protected]>2013-11-30 13:02:57 +0100
committerBalló György <[email protected]>2013-11-30 13:02:57 +0100
commit052e043ea3ebfd7551707dcc229389f1b91e783c (patch)
tree8ef74e22a8fe2a2f24f8430150c0d219c3b80aba
parent7ceb8fe98bdaf81e3e9a638f0abbfa657aa00ab2 (diff)
downloadpluma-052e043ea3ebfd7551707dcc229389f1b91e783c.tar.bz2
pluma-052e043ea3ebfd7551707dcc229389f1b91e783c.tar.xz
Use Caja GSettings schema optionally
This makes Caja dependency optional.
-rw-r--r--plugins/filebrowser/pluma-file-browser-plugin.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/plugins/filebrowser/pluma-file-browser-plugin.c b/plugins/filebrowser/pluma-file-browser-plugin.c
index 69b1e185..030ab783 100644
--- a/plugins/filebrowser/pluma-file-browser-plugin.c
+++ b/plugins/filebrowser/pluma-file-browser-plugin.c
@@ -623,6 +623,7 @@ impl_activate (PlumaPlugin * plugin, PlumaWindow * window)
GdkPixbuf * pixbuf;
PlumaFileBrowserStore * store;
gchar *data_dir;
+ GSettingsSchemaSource *schema_source;
data = g_new0 (PlumaFileBrowserPluginData, 1);
@@ -632,7 +633,6 @@ impl_activate (PlumaPlugin * plugin, PlumaWindow * window)
data->settings = g_settings_new (FILE_BROWSER_SCHEMA);
data->onload_settings = g_settings_new (FILE_BROWSER_ONLOAD_SCHEMA);
- data->caja_settings = g_settings_new (CAJA_SCHEMA);
data->terminal_settings = g_settings_new (TERMINAL_SCHEMA);
g_signal_connect (data->tree_widget,
@@ -689,7 +689,11 @@ impl_activate (PlumaPlugin * plugin, PlumaWindow * window)
restore_filter (data);
/* Install caja preferences */
- install_caja_prefs (data);
+ schema_source = g_settings_schema_source_get_default();
+ if (g_settings_schema_source_lookup (schema_source, CAJA_SCHEMA, FALSE)) {
+ data->caja_settings = g_settings_new (CAJA_SCHEMA);
+ install_caja_prefs (data);
+ }
/* Connect signals to store the last visited location */
g_signal_connect (pluma_file_browser_widget_get_browser_view (data->tree_widget),
@@ -742,9 +746,11 @@ impl_deactivate (PlumaPlugin * plugin, PlumaWindow * window)
g_object_unref (data->settings);
g_object_unref (data->onload_settings);
- g_object_unref (data->caja_settings);
g_object_unref (data->terminal_settings);
+ if (data->caja_settings)
+ g_object_unref (data->caja_settings);
+
remove_popup_ui (window);
panel = pluma_window_get_side_panel (window);