[nautilus] Convert tree sidebar prefs to gsettings



commit 706efc521fec6035d644600b18afdfe20ac9d472
Author: Alexander Larsson <alexl redhat com>
Date:   Thu Jul 22 22:45:39 2010 +0200

    Convert tree sidebar prefs to gsettings

 libnautilus-private/nautilus-global-preferences.c |   11 +----------
 libnautilus-private/nautilus-global-preferences.h |    3 ++-
 src/file-manager/fm-tree-view.c                   |   17 +++++++++++------
 src/nautilus-file-management-properties.c         |    6 +++---
 4 files changed, 17 insertions(+), 20 deletions(-)
---
diff --git a/libnautilus-private/nautilus-global-preferences.c b/libnautilus-private/nautilus-global-preferences.c
index 2e5948a..755f9b1 100644
--- a/libnautilus-private/nautilus-global-preferences.c
+++ b/libnautilus-private/nautilus-global-preferences.c
@@ -159,16 +159,6 @@ typedef struct
  * YOU SHOULD EDIT THE SCHEMAS FILE TO CHANGE DEFAULTS.
  */
 static const PreferenceDefault preference_defaults[] = {
-	/* Don't show remote directory item counts by default
-	 * because computing them can be annoyingly slow, especially
-	 * for FTP. If we make this fast enough for FTP in particular,
-	 * we should change this default to ALWAYS.
-	 */
-	{ NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES,
-	  PREFERENCE_BOOLEAN,
-	  GINT_TO_POINTER (TRUE)
-	},
-
 	/* Icon View Default Preferences */
 	/* Compact Icon View Default Preferences */
 	{ NAUTILUS_PREFERENCES_COMPACT_VIEW_DEFAULT_ZOOM_LEVEL,
@@ -407,6 +397,7 @@ nautilus_global_preferences_init (void)
 	nautilus_window_state = g_settings_new("org.gnome.nautilus.window-state");
 	nautilus_icon_view_preferences = g_settings_new("org.gnome.nautilus.icon-view");
 	nautilus_desktop_preferences = g_settings_new("org.gnome.nautilus.desktop");
+	nautilus_tree_sidebar_preferences = g_settings_new("org.gnome.nautilus.sidebar-panels.tree");
 
 	/* Set up storage for values accessed in this file */
 	g_signal_connect_swapped (nautilus_icon_view_preferences,
diff --git a/libnautilus-private/nautilus-global-preferences.h b/libnautilus-private/nautilus-global-preferences.h
index ab96a43..e2b6f9c 100644
--- a/libnautilus-private/nautilus-global-preferences.h
+++ b/libnautilus-private/nautilus-global-preferences.h
@@ -87,7 +87,7 @@ typedef enum
 } NautilusNewTabPosition;
 
 /* Sidebar panels  */
-#define NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES         "sidebar_panels/tree/show_only_directories"
+#define NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES         "show-only-directories"
 
 /* Single/Double click preference  */
 #define NAUTILUS_PREFERENCES_CLICK_POLICY			"click-policy"
@@ -229,6 +229,7 @@ char *nautilus_global_preferences_get_default_folder_viewer_preference_as_iid (v
 GSettings *nautilus_preferences;
 GSettings *nautilus_icon_view_preferences;
 GSettings *nautilus_desktop_preferences;
+GSettings *nautilus_tree_sidebar_preferences;
 GSettings *nautilus_media_preferences;
 GSettings *nautilus_window_state;
 
diff --git a/src/file-manager/fm-tree-view.c b/src/file-manager/fm-tree-view.c
index 1ee2d38..dcd1f57 100644
--- a/src/file-manager/fm-tree-view.c
+++ b/src/file-manager/fm-tree-view.c
@@ -1436,7 +1436,8 @@ update_filtering_from_preferences (FMTreeView *view)
 	}
 	fm_tree_model_set_show_only_directories
 		(view->details->child_model,
-		 eel_preferences_get_boolean (NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES));
+		 g_settings_get_boolean (nautilus_tree_sidebar_preferences,
+					 NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES));
 }
 
 static void
@@ -1497,15 +1498,16 @@ fm_tree_view_init (FMTreeView *view)
 				  G_CALLBACK(filtering_changed_callback),
 				  view);
 
-	eel_preferences_add_callback_while_alive (NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES,
-						  filtering_changed_callback, view, G_OBJECT (view));
+	g_signal_connect_swapped (nautilus_tree_sidebar_preferences,
+				  "changed::" NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES,
+				  G_CALLBACK (filtering_changed_callback), view);
 
 	view->details->popup_file = NULL;
 
-	view->details->clipboard_handler_id = 
+	view->details->clipboard_handler_id =
 		g_signal_connect (nautilus_clipboard_monitor_get (),
-		                  "clipboard_info",
-		                  G_CALLBACK (notify_clipboard_info), view);
+				  "clipboard_info",
+				  G_CALLBACK (notify_clipboard_info), view);
 }
 
 static void
@@ -1566,6 +1568,9 @@ fm_tree_view_dispose (GObject *object)
 	g_signal_handlers_disconnect_by_func (nautilus_preferences,
 					      G_CALLBACK(filtering_changed_callback),
 					      view);
+	g_signal_handlers_disconnect_by_func (nautilus_tree_sidebar_preferences,
+					      G_CALLBACK(filtering_changed_callback),
+					      view);
 
 	view->details->window = NULL;
 
diff --git a/src/nautilus-file-management-properties.c b/src/nautilus-file-management-properties.c
index 71703ac..fe7d25e 100644
--- a/src/nautilus-file-management-properties.c
+++ b/src/nautilus-file-management-properties.c
@@ -957,9 +957,9 @@ nautilus_file_management_properties_dialog_setup (GtkBuilder *builder, GtkWindow
 			   NAUTILUS_FILE_MANAGEMENT_PROPERTIES_SHOW_HIDDEN_WIDGET,
 			   NAUTILUS_PREFERENCES_SHOW_HIDDEN_FILES);
 
-	eel_preferences_builder_connect_bool (builder,
-					      NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TREE_VIEW_FOLDERS_WIDGET,
-					      NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES);
+	bind_builder_bool (builder, nautilus_tree_sidebar_preferences,
+			   NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TREE_VIEW_FOLDERS_WIDGET,
+			   NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES);
 
 	bind_builder_enum (builder, nautilus_preferences,
 			   NAUTILUS_FILE_MANAGEMENT_PROPERTIES_DEFAULT_VIEW_WIDGET,



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