[nautilus-actions] Use base_window_signal_connect to handle signal deconnexions



commit e37562aa7594b5407edda4e487bc95be5041551d
Author: Pierre Wieser <pwieser trychlos org>
Date:   Mon Oct 26 22:15:58 2009 +0100

    Use base_window_signal_connect to handle signal deconnexions

 ChangeLog                       |    6 +++++
 src/nact/nact-iadvanced-tab.c   |   48 +++++++++++++++++++-------------------
 src/nact/nact-ibackground-tab.c |   36 ++++++++++++++--------------
 3 files changed, 48 insertions(+), 42 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 9ebe6bc..4224c91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2009-10-26 Pierre Wieser <pwieser trychlos org>
 
+	* src/nact/nact-iadvanced-tab.c (runtime_init_connect_signals):
+	* src/nact/nact-ibackground-tab.c
+	(nact_ibackground_tab_runtime_init_toplevel):
+	Replace g_signal_connect with base_window_signal_connect to
+	better handle signal deconnections.
+
 	* src/nact/nact-ibackground-tab.c (treeview_cell_edited):
 	Only setup previous text if a non null pointer is provided.
 
diff --git a/src/nact/nact-iadvanced-tab.c b/src/nact/nact-iadvanced-tab.c
index 65c0b3d..f6be63f 100644
--- a/src/nact/nact-iadvanced-tab.c
+++ b/src/nact/nact-iadvanced-tab.c
@@ -259,59 +259,59 @@ runtime_init_connect_signals( NactIAdvancedTab *instance, GtkTreeView *listview
 
 		column = gtk_tree_view_get_column( listview, SCHEMES_CHECKBOX_COLUMN );
 		renderers = gtk_tree_view_column_get_cell_renderers( column );
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( renderers->data ),
 				"toggled",
-				G_CALLBACK( on_scheme_selection_toggled ),
-				instance );
+				G_CALLBACK( on_scheme_selection_toggled ));
 
 		column = gtk_tree_view_get_column( listview, SCHEMES_KEYWORD_COLUMN );
 		renderers = gtk_tree_view_column_get_cell_renderers( column );
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( renderers->data ),
 				"edited",
-				G_CALLBACK( on_scheme_keyword_edited ),
-				instance );
+				G_CALLBACK( on_scheme_keyword_edited ));
 
 		column = gtk_tree_view_get_column( listview, SCHEMES_DESC_COLUMN );
 		renderers = gtk_tree_view_column_get_cell_renderers( column );
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( renderers->data ),
 				"edited",
-				G_CALLBACK( on_scheme_desc_edited ),
-				instance );
+				G_CALLBACK( on_scheme_desc_edited ));
 
 		add_button = get_add_button( instance );
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( add_button ),
 				"clicked",
-				G_CALLBACK( on_add_scheme_clicked ),
-				instance );
+				G_CALLBACK( on_add_scheme_clicked ));
 
 		remove_button = get_remove_button( instance );
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( remove_button ),
 				"clicked",
-				G_CALLBACK( on_remove_scheme_clicked ),
-				instance );
+				G_CALLBACK( on_remove_scheme_clicked ));
 
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( gtk_tree_view_get_selection( listview )),
 				"changed",
-				G_CALLBACK( on_scheme_list_selection_changed ),
-				instance );
+				G_CALLBACK( on_scheme_list_selection_changed ));
 
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( instance ),
 				TAB_UPDATABLE_SIGNAL_SELECTION_CHANGED,
-				G_CALLBACK( on_tab_updatable_selection_changed ),
-				instance );
+				G_CALLBACK( on_tab_updatable_selection_changed ));
 
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( instance ),
 				TAB_UPDATABLE_SIGNAL_ENABLE_TAB,
-				G_CALLBACK( on_tab_updatable_enable_tab ),
-				instance );
+				G_CALLBACK( on_tab_updatable_enable_tab ));
 	}
 }
 
diff --git a/src/nact/nact-ibackground-tab.c b/src/nact/nact-ibackground-tab.c
index b52eeb9..eacd923 100644
--- a/src/nact/nact-ibackground-tab.c
+++ b/src/nact/nact-ibackground-tab.c
@@ -199,46 +199,46 @@ nact_ibackground_tab_runtime_init_toplevel( NactIBackgroundTab *instance )
 
 	if( st_initialized && !st_finalized ){
 
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( instance ),
 				TAB_UPDATABLE_SIGNAL_SELECTION_CHANGED,
-				G_CALLBACK( on_tab_updatable_selection_changed ),
-				instance );
+				G_CALLBACK( on_tab_updatable_selection_changed ));
 
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( instance ),
 				TAB_UPDATABLE_SIGNAL_ENABLE_TAB,
-				G_CALLBACK( on_tab_updatable_enable_tab ),
-				instance );
+				G_CALLBACK( on_tab_updatable_enable_tab ));
 
 		listview = get_folders_treeview( instance );
 		column = gtk_tree_view_get_column( listview, BACKGROUND_URI_COLUMN );
 		renderers = gtk_tree_view_column_get_cell_renderers( column );
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( renderers->data ),
 				"edited",
-				G_CALLBACK( on_folder_uri_edited ),
-				instance );
+				G_CALLBACK( on_folder_uri_edited ));
 
 		add_button = base_window_get_widget( BASE_WINDOW( instance ), "AddFolderButton");
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( add_button ),
 				"clicked",
-				G_CALLBACK( on_add_folder_clicked ),
-				instance );
+				G_CALLBACK( on_add_folder_clicked ));
 
 		remove_button = base_window_get_widget( BASE_WINDOW( instance ), "RemoveFolderButton");
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( remove_button ),
 				"clicked",
-				G_CALLBACK( on_remove_folder_clicked ),
-				instance );
+				G_CALLBACK( on_remove_folder_clicked ));
 
-		g_signal_connect(
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
 				G_OBJECT( gtk_tree_view_get_selection( listview )),
 				"changed",
-				G_CALLBACK( on_folders_selection_changed ),
-				instance );
+				G_CALLBACK( on_folders_selection_changed ));
 	}
 }
 



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