Skip to content
Snippets Groups Projects
Commit eb91c704 authored by Alexandre Savard's avatar Alexandre Savard
Browse files

[#2447] Add conference action in gtk client's ToolBar

parent 063d4c75
Branches
Tags
No related merge requests found
...@@ -50,6 +50,7 @@ calltab_select_call (calltab_t* tab, callable_obj_t * c ) ...@@ -50,6 +50,7 @@ calltab_select_call (calltab_t* tab, callable_obj_t * c )
{ {
tab->selectedType = A_CALL; tab->selectedType = A_CALL;
tab->selectedCall = c; tab->selectedCall = c;
current_calls->selectedConf = NULL;
} }
...@@ -58,6 +59,7 @@ calltab_select_conf (conference_obj_t * c ) ...@@ -58,6 +59,7 @@ calltab_select_conf (conference_obj_t * c )
{ {
current_calls->selectedType = A_CONFERENCE; current_calls->selectedType = A_CONFERENCE;
current_calls->selectedConf = c; current_calls->selectedConf = c;
current_calls->selectedCall = NULL;
} }
gint gint
......
...@@ -116,9 +116,12 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED ) ...@@ -116,9 +116,12 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED )
selected_call_id = selected_conf->_confID; selected_call_id = selected_conf->_confID;
selected_path = string_path; selected_path = string_path;
selected_call = NULL;
} }
DEBUG(" selected_path %s, selected_call_id %s, selected_path_depth %i\n", selected_path, selected_call_id, selected_path_depth);
} }
else else
{ {
...@@ -133,12 +136,16 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED ) ...@@ -133,12 +136,16 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED )
selected_call = (callable_obj_t*)g_value_get_pointer(&val); selected_call = (callable_obj_t*)g_value_get_pointer(&val);
if(selected_call) {
selected_call_id = selected_call->_callID; selected_call_id = selected_call->_callID;
selected_path = string_path; selected_path = string_path;
selected_conf = NULL;
} }
DEBUG("selected_cb\n");
DEBUG(" selected_path %s, selected_call_id %s, selected_path_depth %i\n", selected_path, selected_call_id, selected_path_depth); DEBUG(" selected_path %s, selected_call_id %s, selected_path_depth %i\n", selected_path, selected_call_id, selected_path_depth);
}
// conferencelist_reset (); // conferencelist_reset ();
// sflphone_fill_conference_list(); // sflphone_fill_conference_list();
......
...@@ -69,6 +69,8 @@ static gboolean is_inserted (GtkWidget* button, GtkWidget *current_toolbar) ...@@ -69,6 +69,8 @@ static gboolean is_inserted (GtkWidget* button, GtkWidget *current_toolbar)
void update_actions() void update_actions()
{ {
DEBUG("Update action");
gtk_action_set_sensitive( GTK_ACTION (newCallAction), TRUE); gtk_action_set_sensitive( GTK_ACTION (newCallAction), TRUE);
gtk_action_set_sensitive (GTK_ACTION (pickUpAction), FALSE); gtk_action_set_sensitive (GTK_ACTION (pickUpAction), FALSE);
gtk_action_set_sensitive (GTK_ACTION (hangUpAction), FALSE); gtk_action_set_sensitive (GTK_ACTION (hangUpAction), FALSE);
...@@ -145,6 +147,7 @@ void update_actions() ...@@ -145,6 +147,7 @@ void update_actions()
if (selectedCall) if (selectedCall)
{ {
// DEBUG("------------------------- selected call ---------------------------\n");
gtk_action_set_sensitive (GTK_ACTION (copyAction), TRUE); gtk_action_set_sensitive (GTK_ACTION (copyAction), TRUE);
switch(selectedCall->_state) switch(selectedCall->_state)
...@@ -220,9 +223,48 @@ void update_actions() ...@@ -220,9 +223,48 @@ void update_actions()
break; break;
} }
} }
else if (selectedConf){
else // DEBUG("------------------------- selected conf ---------------------------\n");
{
switch(selectedConf->_state) {
case CONFERENCE_STATE_ACTIVE_ATACHED:
gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2);
break;
case CONFERENCE_STATE_ACTIVE_DETACHED:
gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2);
break;
case CONFERENCE_STATE_RECORD:
gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2);
break;
case CONFERENCE_STATE_HOLD:
gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (offHoldToolbar), TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (offHoldToolbar), 2);
break;
default:
WARN("Should not happen in update_action()!");
break;
}
}
else {
if( account_list_get_size() > 0 && current_account_has_mailbox ()) if( account_list_get_size() > 0 && current_account_has_mailbox ())
{ {
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (voicemailToolbar), -2); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (voicemailToolbar), -2);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment