diff --git a/gnome/src/actions.c b/gnome/src/actions.c index 183531d85cdf2cb9935d8a356d71b37ca75e9075..cf3cdcd9dd32c1bb98ed2e7a58404e0cda25ed7c 100644 --- a/gnome/src/actions.c +++ b/gnome/src/actions.c @@ -181,7 +181,7 @@ sflphone_hung_up(callable_obj_t * c) DEBUG("%s", __PRETTY_FUNCTION__); calllist_remove_call(current_calls_tab, c->_callID); - calltree_remove_call(current_calls_tab, c->_callID); + calltree_remove_call(current_calls_tab, c->_callID, FALSE); c->_state = CALL_STATE_DIALING; call_remove_all_errors(c); update_actions(); @@ -395,7 +395,7 @@ sflphone_pick_up() case CALL_STATE_TRANSFER: dbus_transfer(selectedCall); time(&selectedCall->_time_stop); - calltree_remove_call(current_calls_tab, selectedCall->_callID); + calltree_remove_call(current_calls_tab, selectedCall->_callID, TRUE); calllist_remove_call(current_calls_tab, selectedCall->_callID); break; case CALL_STATE_CURRENT: @@ -694,7 +694,7 @@ sflphone_keypad(guint keyval, gchar * key) case GDK_KP_Enter: dbus_transfer(c); time(&c->_time_stop); - calltree_remove_call(current_calls_tab, c->_callID); + calltree_remove_call(current_calls_tab, c->_callID, TRUE); break; case GDK_Escape: sflphone_unset_transfer(); @@ -820,7 +820,7 @@ sflphone_detach_participant(const gchar* callID) } im_widget_update_state(IM_WIDGET(selectedCall->_im_widget), TRUE); - calltree_remove_call(current_calls_tab, selectedCall->_callID); + calltree_remove_call(current_calls_tab, selectedCall->_callID, TRUE); calltree_add_call(current_calls_tab, selectedCall, NULL); dbus_detach_participant(selectedCall->_callID); } diff --git a/gnome/src/contacts/calllist.c b/gnome/src/contacts/calllist.c index fb54e10cf06648dec203cf0d0deb37b297532644..398b06a369936a55a9ca8ddda4cb7c0e010f5538 100644 --- a/gnome/src/contacts/calllist.c +++ b/gnome/src/contacts/calllist.c @@ -136,7 +136,7 @@ calllist_clean_history(void) for (guint i = 0; i < size; i++) { callable_obj_t * c = calllist_get_nth(history_tab, i); if (c) - calltree_remove_call(history_tab, c->_callID); + calltree_remove_call(history_tab, c->_callID, TRUE); } calllist_reset(history_tab); @@ -146,7 +146,7 @@ void calllist_remove_from_history(callable_obj_t* c) { calllist_remove_call(history_tab, c->_callID); - calltree_remove_call(history_tab, c->_callID); + calltree_remove_call(history_tab, c->_callID, TRUE); } void diff --git a/gnome/src/contacts/calltree.c b/gnome/src/contacts/calltree.c index 951794a142de265beff12d426ce60219fca3090b..3942b52f937debaafcf25039d7fb32c543187887 100644 --- a/gnome/src/contacts/calltree.c +++ b/gnome/src/contacts/calltree.c @@ -118,7 +118,6 @@ is_conference(GtkTreeModel *model, GtkTreeIter *iter) static void call_selected_cb(GtkTreeSelection *sel, void* data UNUSED) { - DEBUG("Calltree selection callback"); GtkTreeModel *model = gtk_tree_view_get_model(gtk_tree_selection_get_tree_view(sel)); GtkTreeIter iter; @@ -166,8 +165,6 @@ row_activated(GtkTreeView *tree_view UNUSED, GtkTreeViewColumn *column UNUSED, void * data UNUSED) { - DEBUG("Double click action"); - if (calltab_get_selected_type(active_calltree_tab) == A_CALL) { DEBUG("Selected a call"); callable_obj_t *selectedCall = calltab_get_selected_call(active_calltree_tab); @@ -239,8 +236,6 @@ row_single_click(GtkTreeView *tree_view UNUSED, void * data UNUSED) { gchar * displaySasOnce = NULL; - DEBUG("Single click action"); - callable_obj_t *selectedCall = calltab_get_selected_call(active_calltree_tab); conference_obj_t *selectedConf = calltab_get_selected_conf(active_calltree_tab); @@ -250,7 +245,6 @@ row_single_click(GtkTreeView *tree_view UNUSED, void * data UNUSED) DEBUG("Active calltree is history"); if (calltab_get_selected_type(active_calltree_tab) == A_CALL) { - DEBUG("Selected a call"); if (selectedCall) { account_t *account_details = account_list_get_by_id(selectedCall->_accountID); @@ -294,7 +288,6 @@ row_single_click(GtkTreeView *tree_view UNUSED, void * data UNUSED) } } } else if (calltab_get_selected_type(active_calltree_tab) == A_CONFERENCE) { - DEBUG("Selected a conference"); if (selectedConf) DEBUG("There is actually a selected conf"); } else @@ -522,8 +515,6 @@ calltree_remove_call_recursive(calltab_t* tab, const gchar *target_id, GtkTreeIt int nbChild = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(store), parent); - DEBUG("Removing call"); - for (int i = 0; i < nbChild; i++) { GtkTreeIter child; @@ -546,15 +537,15 @@ calltree_remove_call_recursive(calltab_t* tab, const gchar *target_id, GtkTreeIt if (sel && g_strcmp0(sel->_callID, target_id) == 0) calltab_select_call(tab, NULL); - update_actions(); - statusbar_update_clock(""); } void -calltree_remove_call(calltab_t* tab, const gchar *id) +calltree_remove_call(calltab_t* tab, const gchar *id, gboolean do_update_actions) { calltree_remove_call_recursive(tab, id, NULL); + if (do_update_actions) + update_actions(); } GdkPixbuf *history_state_to_pixbuf(const gchar *history_state) @@ -722,13 +713,12 @@ calltree_update_call_recursive(calltab_t* tab, callable_obj_t * call, GtkTreeIte } } } - - update_actions(); } void calltree_update_call(calltab_t* tab, callable_obj_t * c) { calltree_update_call_recursive(tab, c, NULL); + update_actions(); } void calltree_add_call(calltab_t* tab, callable_obj_t * call, GtkTreeIter *parent) @@ -994,8 +984,6 @@ void calltree_add_conference_to_current_calls(conference_obj_t* conf) } } - DEBUG("Add conference to tree store"); - gchar *description = g_markup_printf_escaped("<b>%s</b>", ""); gtk_tree_store_set(current_calls_tab->store, &iter, COLUMN_ACCOUNT_PIXBUF, pixbuf, @@ -1016,7 +1004,7 @@ void calltree_add_conference_to_current_calls(conference_obj_t* conf) const gchar * const call_id = (gchar *) part->data; callable_obj_t *call = calllist_get_call(current_calls_tab, call_id); - calltree_remove_call(current_calls_tab, call->_callID); + calltree_remove_call(current_calls_tab, call->_callID, FALSE); calltree_add_call(current_calls_tab, call, &iter); } @@ -1073,7 +1061,6 @@ void calltree_remove_conference_recursive(calltab_t* tab, const conference_obj_t } } - DEBUG("Remove conference %s", conf->_confID); gtk_tree_store_remove(tab->store, &iter_parent); } } @@ -1082,15 +1069,14 @@ void calltree_remove_conference_recursive(calltab_t* tab, const conference_obj_t if (calltab_get_selected_conf(tab) == conf) calltab_select_conf(tab, NULL); - - update_actions(); } void calltree_remove_conference(calltab_t* tab, const conference_obj_t* conf) { - DEBUG("Remove conference %s", conf->_confID); calltree_remove_conference_recursive(tab, conf, NULL); - DEBUG("Finished Removing conference"); + + update_actions(); + DEBUG("Finished removing conference %s", conf->_confID); } void calltree_display(calltab_t *tab) @@ -1123,7 +1109,6 @@ void calltree_display(calltab_t *tab) gtk_widget_show(active_calltree_tab->tree); GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(active_calltree_tab->view)); - DEBUG("Emit signal changed from calltree_display"); g_signal_emit_by_name(sel, "changed"); update_actions(); } @@ -1223,8 +1208,8 @@ handle_drop_into(GtkTreeModel *model, GtkTreeIter *source_iter, GtkTreeIter *des sflphone_add_participant(dest_ID, source_ID); result = TRUE; } else { - DEBUG("Dropped call on call, creating new conference or transferring"); - calltree_remove_call(current_calls_tab, source_ID); + DEBUG("dropped call on call, creating new conference or transferring"); + calltree_remove_call(current_calls_tab, source_ID, FALSE); callable_obj_t *source_call = calllist_get_call(current_calls_tab, source_ID); calltree_add_call(current_calls_tab, source_call, NULL); cleanup_popup_data(&popup_data); @@ -1253,7 +1238,7 @@ render_drop(GtkTreeModel *model, GtkTreePath *dest_path, GtkTreeViewDropPosition { GtkTreeIter dest_iter; if (!gtk_tree_model_get_iter(model, &dest_iter, dest_path)) { - ERROR("Could not set dest iter"); + ERROR("Could not get destination iterator"); return FALSE; } @@ -1328,8 +1313,8 @@ menuitem_response(gchar * string) if (g_strcmp0(string, SFL_CREATE_CONFERENCE) == 0) { dbus_join_participant(popup_data->source_ID, popup_data->dest_ID); - calltree_remove_call(current_calls_tab, popup_data->source_ID); - calltree_remove_call(current_calls_tab, popup_data->dest_ID); + calltree_remove_call(current_calls_tab, popup_data->source_ID, TRUE); + calltree_remove_call(current_calls_tab, popup_data->dest_ID, TRUE); } else if (g_strcmp0(string, SFL_TRANSFER_CALL) == 0) { callable_obj_t * source_call = calllist_get_call(current_calls_tab, popup_data->source_ID); callable_obj_t * dest_call = calllist_get_call(current_calls_tab, popup_data->dest_ID); @@ -1337,7 +1322,7 @@ menuitem_response(gchar * string) source_call->_peer_number, dest_call->_peer_number); dbus_attended_transfer(source_call, dest_call); - calltree_remove_call(current_calls_tab, popup_data->source_ID); + calltree_remove_call(current_calls_tab, popup_data->source_ID, TRUE); } else ERROR("Unknown option in menu %s", string); diff --git a/gnome/src/contacts/calltree.h b/gnome/src/contacts/calltree.h index 3191e26751fb0eb71757b66ab3d6f2d886eb33ff..1389e22c18aaec31d7e012fae2125b5c73d97477 100644 --- a/gnome/src/contacts/calltree.h +++ b/gnome/src/contacts/calltree.h @@ -83,7 +83,7 @@ calltree_update_call (calltab_t *, callable_obj_t *); * @param c The ID of the call to remove */ void -calltree_remove_call(calltab_t *, const gchar*); +calltree_remove_call(calltab_t *, const gchar*, gboolean do_update_actions); /** * Add a callable object to history treeview