[gnome-utils/gsettings-tutorial: 7/22] [gsettings-tutorial] Do the same changes for the statusbar visibility



commit 07bd47d207d3cb981259bebbce35a8fdc24b0eb0
Author: Vincent Untz <vuntz gnome org>
Date:   Fri Apr 16 15:18:48 2010 -0400

    [gsettings-tutorial] Do the same changes for the statusbar visibility
    
    A few notes:
    
      + We can get rid of gconf-client.h in one file!

 baobab/data/baobab-main-window.ui |    1 -
 baobab/src/baobab.c               |   29 +++++++----------------------
 baobab/src/baobab.h               |    3 +--
 baobab/src/callbacks.c            |   16 ----------------
 baobab/src/callbacks.h            |    1 -
 5 files changed, 8 insertions(+), 42 deletions(-)
---
diff --git a/baobab/data/baobab-main-window.ui b/baobab/data/baobab-main-window.ui
index 841cce8..d4f4720 100644
--- a/baobab/data/baobab-main-window.ui
+++ b/baobab/data/baobab-main-window.ui
@@ -113,7 +113,6 @@
             <property name="active">True</property>
             <property name="name">view_sb</property>
             <property name="label" translatable="yes">St_atusbar</property>
-            <signal handler="on_view_sb_activate" last_modification_time="Wed, 19 Apr 2006 12:45:08 GMT" name="activate"/>
           </object>
         </child>
         <child>
diff --git a/baobab/src/baobab.c b/baobab/src/baobab.c
index 3596bac..c67e5e0 100644
--- a/baobab/src/baobab.c
+++ b/baobab/src/baobab.c
@@ -516,21 +516,6 @@ baobab_is_excluded_location (GFile *file)
 }
 
 void
-set_statusbar_visible (gboolean visible)
-{
-	GtkToggleAction *action;
-
-	if (visible)
-		gtk_widget_show (baobab.statusbar);
-	else
-		gtk_widget_hide (baobab.statusbar);
-
-	/* make sure the check menu item is consistent */
-	action = GTK_TOGGLE_ACTION (gtk_builder_get_object (baobab.main_ui, "view_sb"));
-	gtk_toggle_action_set_active (action, visible);
-}
-
-void
 set_statusbar (const gchar *text)
 {
 	gtk_statusbar_pop (GTK_STATUSBAR (baobab.statusbar), 1);
@@ -639,11 +624,6 @@ baobab_create_statusbar (void)
 		g_printerr ("Could not build statusbar\n");
 		return;
 	}
-
-	visible = gconf_client_get_bool (baobab.gconf_client,
-					 BAOBAB_STATUSBAR_VISIBLE_KEY,
-					 NULL);
-	set_statusbar_visible (visible);
 }
 
 static void
@@ -809,8 +789,6 @@ baobab_init (void)
 				 NULL, NULL, NULL);
 	gconf_client_notify_add (baobab.gconf_client, SYSTEM_TOOLBAR_STYLE, baobab_toolbar_style,
 				 NULL, NULL, NULL);				 
-	gconf_client_notify_add (baobab.gconf_client, BAOBAB_SUBFLSTIPS_VISIBLE_KEY, baobab_subfolderstips_toggled,
-				 NULL, NULL, NULL);
 
 	uri_list = gconf_client_get_list (baobab.gconf_client,
 						      PROPS_SCAN_KEY,
@@ -845,6 +823,13 @@ baobab_init (void)
 	g_settings_bind (baobab.settings_ui, BAOBAB_TOOLBAR_VISIBLE_KEY,
 			 GTK_TOGGLE_ACTION (gtk_builder_get_object (baobab.main_ui, "view_tb")), "active",
 			 G_SETTINGS_BIND_DEFAULT);
+
+	g_settings_bind (baobab.settings_ui, BAOBAB_STATUSBAR_VISIBLE_KEY,
+			 baobab.statusbar, "visible",
+			 G_SETTINGS_BIND_DEFAULT);
+	g_settings_bind (baobab.settings_ui, BAOBAB_STATUSBAR_VISIBLE_KEY,
+			 GTK_TOGGLE_ACTION (gtk_builder_get_object (baobab.main_ui, "view_sb")), "active",
+			 G_SETTINGS_BIND_DEFAULT);
 }
 
 static void
diff --git a/baobab/src/baobab.h b/baobab/src/baobab.h
index 0354de8..331e419 100644
--- a/baobab/src/baobab.h
+++ b/baobab/src/baobab.h
@@ -41,7 +41,7 @@ struct BaobabSearchOpt;
 
 #define BAOBAB_KEY_DIR "/apps/baobab"
 #define BAOBAB_TOOLBAR_VISIBLE_KEY	"toolbar_visible"
-#define BAOBAB_STATUSBAR_VISIBLE_KEY	BAOBAB_KEY_DIR "/ui/statusbar_visible"
+#define BAOBAB_STATUSBAR_VISIBLE_KEY	"statusbar_visible"
 #define BAOBAB_SUBFLSTIPS_VISIBLE_KEY   BAOBAB_KEY_DIR "/ui/baobab_subfoldertips_visible"
 #define PROPS_SCAN_KEY			BAOBAB_KEY_DIR "/properties/skip_scan_uri_list"
 #define PROPS_ENABLE_HOME_MONITOR	BAOBAB_KEY_DIR "/properties/enable_home_monitor"
@@ -118,7 +118,6 @@ void fill_model (struct chan_data *);
 void first_row (void);
 gboolean baobab_is_excluded_location (GFile *);
 void baobab_set_excluded_locations (GSList *);
-void set_statusbar_visible (gboolean visible);
 void set_statusbar (const gchar *);
 
 #endif /* __BAOBAB_H_ */
diff --git a/baobab/src/callbacks.c b/baobab/src/callbacks.c
index 7673210..bbbaec8 100644
--- a/baobab/src/callbacks.c
+++ b/baobab/src/callbacks.c
@@ -27,7 +27,6 @@
 #include <string.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
-#include <gconf/gconf-client.h>
 #include <gio/gio.h>
 
 #include "baobab.h"
@@ -269,21 +268,6 @@ on_ck_allocated_activate (GtkToggleAction *action,
 }
 
 void
-on_view_sb_activate (GtkToggleAction *action,
-                     gpointer         user_data) 
-{
-	gboolean visible;
-
-	visible = gtk_toggle_action_get_active (action);
-	set_statusbar_visible (visible);
-
-	gconf_client_set_bool (baobab.gconf_client,
-			       BAOBAB_STATUSBAR_VISIBLE_KEY,
-			       visible,
-			       NULL);
-}
-
-void
 on_helpcontents_activate (GtkAction *a, gpointer user_data)
 {
 	baobab_help_display (GTK_WINDOW (baobab.window), "baobab", NULL);
diff --git a/baobab/src/callbacks.h b/baobab/src/callbacks.h
index a5b6079..07d712e 100644
--- a/baobab/src/callbacks.h
+++ b/baobab/src/callbacks.h
@@ -48,7 +48,6 @@ void list_all_cb (GtkMenuItem *pmenu, gpointer dummy);
 void on_pref_menu (GtkAction *a, gpointer user_data);
 void on_tb_scan_remote_clicked (GtkToolButton *toolbutton, gpointer user_data);
 void on_menu_scan_rem_activate (GtkMenuItem *menuitem, gpointer user_data);
-void on_view_sb_activate (GtkToggleAction *action, gpointer         user_data);
 void on_ck_allocated_activate (GtkToggleAction *action, gpointer user_data);
 void on_helpcontents_activate (GtkAction *a, gpointer user_data);
 void on_tv_selection_changed (GtkTreeSelection *selection, gpointer user_data);



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