From e99b4bed512b20e9e0e8ebabae9c7ebc7912cc7a Mon Sep 17 00:00:00 2001 From: Julien Bonjean <julien@bonjean.info> Date: Mon, 2 Mar 2009 16:16:45 -0500 Subject: [PATCH] Fix keypad use when in history or contact --- sflphone-gtk/src/actions.c | 38 ++++++++++++++++++------------------- sflphone-gtk/src/calltree.c | 1 + 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/sflphone-gtk/src/actions.c b/sflphone-gtk/src/actions.c index 8f3a4edb7a..870cec2d8a 100644 --- a/sflphone-gtk/src/actions.c +++ b/sflphone-gtk/src/actions.c @@ -555,10 +555,27 @@ sflphone_new_call() void sflphone_keypad( guint keyval, gchar * key) { - call_t * c = call_get_selected(current_calls); - if(c) + + if((active_calltree != current_calls) || (active_calltree == current_calls && !c)) + { + // Not in a call, not dialing, create a new call + //dbus_play_dtmf(key); + switch (keyval) + { + case 65293: /* ENTER */ + case 65421: /* ENTER numpad */ + case 65307: /* ESCAPE */ + break; + default: + switch_tab(current_calls); + process_dialing(sflphone_new_call(), keyval, key); + break; + } + } + else if(c) { + printf("call\n"); switch(c->state) { case CALL_STATE_DIALING: // Currently dialing => edit number @@ -652,23 +669,6 @@ sflphone_keypad( guint keyval, gchar * key) break; } } - else - { // Not in a call, not dialing, create a new call - //dbus_play_dtmf(key); - switch (keyval) - { - case 65293: /* ENTER */ - case 65421: /* ENTER numpad */ - case 65307: /* ESCAPE */ - break; - default: - switch_tab(current_calls); - process_dialing(sflphone_new_call(), keyval, key); - break; - } - - - } } /* diff --git a/sflphone-gtk/src/calltree.c b/sflphone-gtk/src/calltree.c index e61408fae4..6b2b1c59e1 100644 --- a/sflphone-gtk/src/calltree.c +++ b/sflphone-gtk/src/calltree.c @@ -175,6 +175,7 @@ toggle_current_calls(GtkToggleToolButton *toggle_tool_button UNUSED, gtk_widget_hide(history->tree); gtk_widget_hide(contacts->tree); gtk_widget_show(current_calls->tree); + printf("current calls toggle\n"); sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (active_calltree->view)); g_signal_emit_by_name(sel, "changed"); -- GitLab