[nautilus-actions] NactMainWindow: connect to 'quit-requested' signal



commit d1136848bc8e3ea8fdf5a2a2f2bd75a8c8420e56
Author: Pierre Wieser <pwieser trychlos org>
Date:   Mon Jan 16 22:28:22 2012 +0100

    NactMainWindow: connect to 'quit-requested' signal

 ChangeLog                   |    5 +++++
 src/nact/base-isession.c    |    6 ++++++
 src/nact/nact-main-window.c |   18 ++++++++++--------
 3 files changed, 21 insertions(+), 8 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index cf9af6c..976cdc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2012-01-16 Pierre Wieser <pwieser trychlos org>
 
+	* src/nact/base-isession.c (client_quit_requested_cb): Add debug trace.
+
+	* src/nact/nact-main-window.c
+	(on_base_initialize_window): Connect to quit-requested signal.
+
 	* src/nact/nact-application.c
 	(appli_init_application): Fix parent class method call.
 
diff --git a/src/nact/base-isession.c b/src/nact/base-isession.c
index 5f814d2..e1032d1 100644
--- a/src/nact/base-isession.c
+++ b/src/nact/base-isession.c
@@ -325,8 +325,14 @@ base_isession_is_willing_to_quit( const BaseISession *instance )
 static void
 client_quit_requested_cb( EggSMClient *client, BaseISession *instance )
 {
+	static const gchar *thisfn = "base_isession_client_quit_requested_cb";
 	gboolean willing_to;
 
+	g_debug( "%s: client=%p, instance=%p (%s)",
+			thisfn,
+			( void * ) client,
+			( void * ) instance, G_OBJECT_TYPE_NAME( instance ));
+
 	willing_to = base_isession_is_willing_to_quit( instance );
 
 	egg_sm_client_will_quit( client, willing_to );
diff --git a/src/nact/nact-main-window.c b/src/nact/nact-main-window.c
index df51ac7..78b3390 100644
--- a/src/nact/nact-main-window.c
+++ b/src/nact/nact-main-window.c
@@ -200,7 +200,7 @@ static gboolean   confirm_for_giveup_from_menu( const NactMainWindow *window );
 static void       load_or_reload_items( NactMainWindow *window );
 
 /* application termination */
-static gboolean   on_base_is_willing_to_quit( const BaseWindow *window, gconstpointer user_data );
+static gboolean   on_base_quit_requested( NactApplication *application, NactMainWindow *window );
 static gboolean   on_delete_event( GtkWidget *toplevel, GdkEvent *event, NactMainWindow *window );
 static gboolean   warn_modified( NactMainWindow *window );
 
@@ -874,13 +874,14 @@ on_base_initialize_window( NactMainWindow *window, gpointer user_data )
 				G_CALLBACK( on_delete_event ));
 
 		/* is willing to quit ?
+		 * connect to the signal of the BaseISession interface
 		 */
 		application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( window )));
 		base_window_signal_connect(
 				BASE_WINDOW( window ),
 				G_OBJECT( application ),
 				BASE_SIGNAL_QUIT_REQUESTED,
-				G_CALLBACK( on_base_is_willing_to_quit ));
+				G_CALLBACK( on_base_quit_requested ));
 	}
 }
 
@@ -1315,20 +1316,21 @@ nact_main_window_quit( NactMainWindow *window )
  * this will also stop the emission of the signal (i.e. the first FALSE wins)
  */
 static gboolean
-on_base_is_willing_to_quit( const BaseWindow *window, gconstpointer user_data )
+on_base_quit_requested( NactApplication *application, NactMainWindow *window )
 {
-	static const gchar *thisfn = "nact_main_window_on_base_is_willing_to_quit";
+	static const gchar *thisfn = "nact_main_window_on_base_quit_requested";
 	gboolean willing_to;
 
 	g_return_val_if_fail( NACT_IS_MAIN_WINDOW( window ), TRUE );
 
 	willing_to = TRUE;
 
-	if( !NACT_MAIN_WINDOW( window )->private->dispose_has_run ){
-		g_debug( "%s (virtual): window=%p", thisfn, ( void * ) window );
+	if( !window->private->dispose_has_run ){
+
+		g_debug( "%s: application=%p, window=%p", thisfn, ( void * ) application, ( void * ) window );
 
-		if( NACT_MAIN_WINDOW( window )->private->is_tree_modified ){
-			willing_to = nact_confirm_logout_run( NACT_MAIN_WINDOW( window ));
+		if( window->private->is_tree_modified ){
+			willing_to = nact_confirm_logout_run( window );
 		}
 	}
 



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