[gnome-utils] Connect to the notification of the monitor home pref



commit 45ea2e0540a8b888bf15dde31c3e3eb2b36559b3
Author: Paolo Borelli <pborelli gnome org>
Date:   Sat Jul 24 15:42:11 2010 +0200

    Connect to the notification of the monitor home pref

 baobab/src/baobab-prefs.c |   12 ++++++++----
 baobab/src/baobab.c       |   21 +++++++++++++++++----
 baobab/src/baobab.h       |    2 +-
 3 files changed, 26 insertions(+), 9 deletions(-)
---
diff --git a/baobab/src/baobab-prefs.c b/baobab/src/baobab-prefs.c
index a3dd9b9..f862486 100644
--- a/baobab/src/baobab-prefs.c
+++ b/baobab/src/baobab-prefs.c
@@ -103,10 +103,14 @@ save_gconf (GtkTreeModel *model)
 static void
 enable_home_cb (GtkToggleButton *togglebutton, gpointer user_data)
 {
-	baobab.bbEnableHomeMonitor = gtk_toggle_button_get_active (togglebutton);
+	gboolean enable;
 
-	gconf_client_set_bool (baobab.gconf_client, PROPS_ENABLE_HOME_MONITOR,
-			       baobab.bbEnableHomeMonitor, NULL);
+	enable = gtk_toggle_button_get_active (togglebutton);
+
+	gconf_client_set_bool (baobab.gconf_client,
+			       PROPS_ENABLE_HOME_MONITOR,
+			       enable,
+			       NULL);
 
 }
 
@@ -319,7 +323,7 @@ baobab_prefs_dialog (void)
 
 	check_enablehome = GTK_WIDGET (gtk_builder_get_object (builder, "check_enable_home"));
 	gtk_toggle_button_set_active ((GtkToggleButton *) check_enablehome,
-				      baobab.bbEnableHomeMonitor);
+				      baobab.monitor_home);
 
 	g_signal_connect_after ((GtkToggleButton *) check_enablehome,
 				"toggled", G_CALLBACK (enable_home_cb),
diff --git a/baobab/src/baobab.c b/baobab/src/baobab.c
index 7e9e0f1..39a956e 100644
--- a/baobab/src/baobab.c
+++ b/baobab/src/baobab.c
@@ -744,6 +744,17 @@ excluded_locations_changed (GConfClient *client,
 }
 
 static void
+baobab_monitor_home_toggled (GConfClient *client,
+			     guint cnxn_id,
+			     GConfEntry *entry,
+			     gpointer user_data)
+{
+	baobab.monitor_home = gconf_client_get_bool (baobab.gconf_client,
+						     PROPS_ENABLE_HOME_MONITOR,
+						     NULL);
+}
+
+static void
 volume_changed (GVolumeMonitor *volume_monitor,
                 GVolume        *volume,
                 gpointer        user_data)
@@ -764,7 +775,7 @@ home_contents_changed (GFileMonitor      *file_monitor,
 {
 	gchar *excluding;
 
-	if (!baobab.bbEnableHomeMonitor)
+	if (!baobab.monitor_home)
 		return;
 
 	if (baobab.CONTENTS_CHANGED_DELAYED)
@@ -854,6 +865,8 @@ baobab_init (void)
 				 NULL, NULL, NULL);				 
 	gconf_client_notify_add (baobab.gconf_client, BAOBAB_SUBFLSTIPS_VISIBLE_KEY, baobab_subfolderstips_toggled,
 				 NULL, NULL, NULL);
+	gconf_client_notify_add (baobab.gconf_client, PROPS_ENABLE_HOME_MONITOR, baobab_monitor_home_toggled,
+				 NULL, NULL, NULL);
 
 	uri_list = gconf_client_get_list (baobab.gconf_client,
 						      PROPS_SCAN_KEY,
@@ -873,9 +886,9 @@ baobab_init (void)
 
 	monitor_volume ();
 
-	baobab.bbEnableHomeMonitor = gconf_client_get_bool (baobab.gconf_client,
-							    PROPS_ENABLE_HOME_MONITOR,
-							    NULL);
+	baobab.monitor_home = gconf_client_get_bool (baobab.gconf_client,
+						     PROPS_ENABLE_HOME_MONITOR,
+						     NULL);
 
 	monitor_home_dir ();
 }
diff --git a/baobab/src/baobab.h b/baobab/src/baobab.h
index 9e9a214..4b66810 100644
--- a/baobab/src/baobab.h
+++ b/baobab/src/baobab.h
@@ -75,7 +75,7 @@ struct _baobab_application {
 	gboolean STOP_SCANNING;
 	gboolean CONTENTS_CHANGED_DELAYED;
 	GSList *excluded_locations;
-	gboolean bbEnableHomeMonitor;
+	gboolean monitor_home;
 	gchar *label_scan;
 	gboolean show_allocated;
 	gboolean is_local;



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