From a0d06bf7c731e3462a301a22cb3deda1381d580b Mon Sep 17 00:00:00 2001
From: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>
Date: Thu, 29 Oct 2009 10:35:56 -0400
Subject: [PATCH] [#2284] Clean up uimanager

---
 .../src/config/accountlistconfigdialog.c      |   2 +-
 .../src/config/preferencesdialog.c            |   2 +-
 sflphone-client-gnome/src/contacts/calltree.c |   2 +-
 sflphone-client-gnome/src/ui.xml              |   1 -
 sflphone-client-gnome/src/uimanager.c         | 150 ------------------
 sflphone-client-gnome/src/uimanager.h         |   1 -
 6 files changed, 3 insertions(+), 155 deletions(-)

diff --git a/sflphone-client-gnome/src/config/accountlistconfigdialog.c b/sflphone-client-gnome/src/config/accountlistconfigdialog.c
index 0709c18c7f..7f37b29ad5 100644
--- a/sflphone-client-gnome/src/config/accountlistconfigdialog.c
+++ b/sflphone-client-gnome/src/config/accountlistconfigdialog.c
@@ -522,5 +522,5 @@ show_account_list_config_dialog(void)
 
     accountListDialog = NULL;
     
-    toolbar_update_buttons();
+    update_actions ();
 }
diff --git a/sflphone-client-gnome/src/config/preferencesdialog.c b/sflphone-client-gnome/src/config/preferencesdialog.c
index 658e004db2..6e3c29a007 100644
--- a/sflphone-client-gnome/src/config/preferencesdialog.c
+++ b/sflphone-client-gnome/src/config/preferencesdialog.c
@@ -474,7 +474,7 @@ show_preferences_dialog ()
     result = gtk_dialog_run(dialog);
 
     save_configuration_parameters ();
-    toolbar_update_buttons();
+    update_actions();
 
     dialogOpen = FALSE;
 
diff --git a/sflphone-client-gnome/src/contacts/calltree.c b/sflphone-client-gnome/src/contacts/calltree.c
index 62fa1fab1d..293c59e7c2 100644
--- a/sflphone-client-gnome/src/contacts/calltree.c
+++ b/sflphone-client-gnome/src/contacts/calltree.c
@@ -1191,7 +1191,7 @@ void calltree_display (calltab_t *tab) {
 		} else {
 			gtk_toggle_tool_button_set_active ((GtkToggleToolButton*)historyButton, FALSE);
 		}
-		gtk_toggle_tool_button_set_active ((GtkToggleToolButton*)currentCallsButton, TRUE);
+		// gtk_toggle_tool_button_set_active ((GtkToggleToolButton*)currentCallsButton, TRUE);
 
 	}
 
diff --git a/sflphone-client-gnome/src/ui.xml b/sflphone-client-gnome/src/ui.xml
index 97b865b044..e420b8e270 100644
--- a/sflphone-client-gnome/src/ui.xml
+++ b/sflphone-client-gnome/src/ui.xml
@@ -32,7 +32,6 @@
       <!--menuitem name="VolumeControlsToggle" action="VolumeControls"/-->
       <menuitem action="VolumeControls"/>
       <separator/>
-	  <menuitem action="CallWindow"/>
 	  <menuitem action="History"/>
 	  <menuitem action="Addressbook"/>
     </menu>
diff --git a/sflphone-client-gnome/src/uimanager.c b/sflphone-client-gnome/src/uimanager.c
index 26effb27cd..baffda8530 100644
--- a/sflphone-client-gnome/src/uimanager.c
+++ b/sflphone-client-gnome/src/uimanager.c
@@ -66,153 +66,8 @@ static gboolean is_inserted (GtkWidget* button, GtkWidget *current_toolbar)
 	return (GTK_WIDGET (button)->parent == GTK_WIDGET (current_toolbar));
 }
 
-
-void toolbar_update_buttons ()
-{
-
-	/*
-	   gtk_widget_set_sensitive( GTK_WIDGET(callButton),			FALSE);
-	   gtk_action_set_sensitive( GTK_ACTION(hangUpAction),			FALSE);
-	   gtk_widget_set_sensitive( GTK_WIDGET(holdMenu),				FALSE);
-	   gtk_widget_set_sensitive( GTK_WIDGET(transfertButton),		FALSE);
-	   gtk_widget_set_sensitive( GTK_WIDGET(mailboxButton) ,		FALSE);
-	   gtk_widget_set_sensitive( GTK_WIDGET(unholdButton),			FALSE);
-	   gtk_action_set_sensitive( GTK_ACTION(recordButton),			FALSE);
-	   gtk_widget_set_sensitive( GTK_WIDGET(contactButton),        FALSE);
-	   g_object_ref (contactButton);
-	   if( is_inserted( GTK_WIDGET(contactButton) ) )     gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET (contactButton));
-	   g_object_ref(holdButton);
-	   g_object_ref(unholdButton);
-	   if( is_inserted( GTK_WIDGET(holdButton) ) )   gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(holdButton));
-	   if( is_inserted( GTK_WIDGET(unholdButton) ) ) gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(unholdButton));
-	   gtk_toolbar_insert(GTK_TOOLBAR(toolbar), holdButton, 3);
-	   g_object_ref(callButton);
-	   g_object_ref(pickupButton);
-	   if( is_inserted( GTK_WIDGET(callButton) ) ) gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(callButton));
-	   if( is_inserted( GTK_WIDGET(pickupButton) ) ) gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(pickupButton));
-	   gtk_toolbar_insert(GTK_TOOLBAR(toolbar), callButton, 0);
-
-	// If addressbook support has been enabled and all addressbooks are loaded, display the icon
-	if (addressbook_is_enabled () && addressbook_is_ready()) {  
-	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), contactButton, 5);
-	// Make the icon clickable only if at least one address book is active
-	if (addressbook_is_active ())   gtk_widget_set_sensitive( GTK_WIDGET(contactButton), TRUE);
-	}
-
-	gtk_signal_handler_block(GTK_OBJECT(transfertButton),transfertButtonConnId);
-	gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(transfertButton), FALSE);
-	gtk_signal_handler_unblock(transfertButton, transfertButtonConnId);
-
-	callable_obj_t * selectedCall = calltab_get_selected_call(active_calltree);
-	conference_obj_t * selectedConf = calltab_get_selected_conf(active_calltree);
-	if (selectedCall)
-	{
-	switch(selectedCall->_state)
-	{
-	case CALL_STATE_INCOMING:
-	gtk_widget_set_sensitive( GTK_WIDGET(pickUpAction),     TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(hangUpAction), TRUE);
-	g_object_ref(callButton);
-	gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(callButton));
-	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), pickupButton, 0);
-	break;
-	case CALL_STATE_HOLD:
-	gtk_widget_set_sensitive( GTK_WIDGET(hangUpAction),     TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(unholdButton),     TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(callButton),       TRUE);
-	g_object_ref(holdButton);
-	gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(holdButton));
-	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), unholdButton, 3);
-	break;
-	case CALL_STATE_RINGING:
-	gtk_widget_set_sensitive( GTK_WIDGET(hangUpAction),     TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(callButton),     TRUE);
-	break;
-	case CALL_STATE_DIALING:
-	if( active_calltree == current_calls )  gtk_widget_set_sensitive( GTK_WIDGET(hangUpAction),     TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(pickupButton),       TRUE);
-	g_object_ref(callButton);
-	gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(callButton));
-	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), pickupButton, 0);
-	break;
-	case CALL_STATE_CURRENT:
-	gtk_widget_set_sensitive( GTK_WIDGET(hangUpAction),     TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(holdButton),       TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(transfertButton),  TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(callButton),       TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(recButton),        TRUE);
-	break;
-	case CALL_STATE_BUSY:
-	case CALL_STATE_FAILURE:
-	gtk_widget_set_sensitive( GTK_WIDGET(hangUpAction),     TRUE);
-	break;
-	case CALL_STATE_TRANSFERT:
-	gtk_signal_handler_block(GTK_OBJECT(transfertButton),transfertButtonConnId);
-	gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(transfertButton), TRUE);
-	gtk_signal_handler_unblock(transfertButton, transfertButtonConnId);
-	gtk_widget_set_sensitive( GTK_WIDGET(callButton),       TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(hangUpAction),     TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(holdButton),       TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(transfertButton),  TRUE);
-	break;
-	case CALL_STATE_RECORD:
-	gtk_widget_set_sensitive( GTK_WIDGET(hangUpAction),     TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(holdButton),       TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(transfertButton),  TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(callButton),       TRUE);
-	gtk_widget_set_sensitive( GTK_WIDGET(recButton),        TRUE);
-	break;
-	default:
-	// Fix bug #1145
-	// Actually it could happen when sflphone_fill_account_list()
-	// call this function and no "call" is selected
-	// WARN("Toolbar update - Should not happen!");
-	break;
-}
-}
-else if(selectedConf)
-{
-	switch(selectedConf->_state)
-	{
-		case CONFERENCE_STATE_ACTIVE_ATACHED:
-			gtk_widget_set_sensitive( GTK_WIDGET(recButton),        FALSE);
-			break;
-		case CONFERENCE_STATE_ACTIVE_DETACHED:
-			gtk_widget_set_sensitive( GTK_WIDGET(recButton),        FALSE);
-			break;
-		case CONFERENCE_STATE_RECORD:
-			gtk_widget_set_sensitive( GTK_WIDGET(recButton),        FALSE);
-			break;
-		case CONFERENCE_STATE_HOLD:
-			gtk_widget_set_sensitive( GTK_WIDGET(recButton),        FALSE);
-			break;
-		default:
-			break;
-	}
-}
-else
-{
-	if( account_list_get_size() > 0 )
-	{
-		gtk_widget_set_sensitive( GTK_WIDGET(callButton), TRUE );
-		if (account_list_current_account_has_mailbox ())
-			gtk_widget_set_sensitive( GTK_WIDGET(mailboxButton), TRUE );
-	}
-	else
-	{
-		gtk_widget_set_sensitive( GTK_WIDGET(callButton), FALSE);
-	}
-}
-*/
-
-}
-
-
-
 void update_actions()
 {
-	// Block signals for holdMenu
-	// gtk_signal_handler_block (GTK_OBJECT(holdToolbar), holdConnId);
 
 	gtk_action_set_sensitive( GTK_ACTION (newCallAction), TRUE);
 	gtk_action_set_sensitive (GTK_ACTION (pickUpAction), FALSE);
@@ -256,7 +111,6 @@ void update_actions()
 	gtk_widget_set_sensitive (GTK_WIDGET (offHoldToolbar),   FALSE);
 	gtk_action_set_sensitive (GTK_ACTION (recordAction), FALSE);
 	gtk_action_set_sensitive (GTK_ACTION (copyAction),   FALSE);
-	//gtk_action_set_sensitive (GTK_ACTION (voicemailAction), FALSE);
 	gtk_widget_set_sensitive( GTK_WIDGET(contactButton), FALSE);
 	gtk_widget_set_tooltip_text (GTK_WIDGET (contactButton), _("No address book selected"));
 
@@ -1488,9 +1342,5 @@ GtkWidget* create_toolbar_windows (GtkUIManager *ui_manager)
 	toolbarWindows = gtk_ui_manager_get_widget (ui_manager, "/ToolbarWindows");
 	active_calltree = current_calls;
 
-	/*historyButton = gtk_ui_manager_get_widget (ui_manager, "/ToolbarWindows/HistoryToolbar");
-	contactButton = gtk_ui_manager_get_widget (ui_manager, "/ToolbarWindows/AddressbookToolbar");
-	currentCallsButton = gtk_ui_manager_get_widget (ui_manager, "/ToolbarWindows/CallWindowToolbar");
-	*/
 	return toolbarWindows;
 }
diff --git a/sflphone-client-gnome/src/uimanager.h b/sflphone-client-gnome/src/uimanager.h
index 4c33f55a2c..c34d5afd50 100644
--- a/sflphone-client-gnome/src/uimanager.h
+++ b/sflphone-client-gnome/src/uimanager.h
@@ -28,7 +28,6 @@ guint holdConnId;     //The hold_menu signal connection ID
 
 GtkWidget *historyButton;
 GtkWidget *contactButton;
-GtkWidget *currentCallsButton;
 
 GtkAction *volumeToggle;
 
-- 
GitLab