Skip to content
Snippets Groups Projects
Commit 811bd124 authored by Rafaël Carré's avatar Rafaël Carré
Browse files

* #6828: Replace raw key codes by gdk defines

parent 653a8a3b
Branches
Tags
No related merge requests found
...@@ -626,52 +626,42 @@ void ...@@ -626,52 +626,42 @@ void
process_dialing (callable_obj_t *c, guint keyval, gchar *key) process_dialing (callable_obj_t *c, guint keyval, gchar *key)
{ {
// We stop the tone // We stop the tone
if (strlen (c->_peer_number) == 0 && c->_state != CALL_STATE_TRANSFERT) { if (!*c->_peer_number && c->_state != CALL_STATE_TRANSFERT)
dbus_start_tone (FALSE , 0); dbus_start_tone (FALSE , 0);
//dbus_play_dtmf( key );
}
switch (keyval) { switch (keyval) {
case 65293: /* ENTER */ case GDK_KEY_Return:
case 65421: /* ENTER numpad */ case GDK_KEY_KP_Enter:
sflphone_place_call (c); sflphone_place_call (c);
break; break;
case 65307: /* ESCAPE */ case GDK_KEY_Escape:
sflphone_hang_up (); sflphone_hang_up ();
break; break;
case 65288: { /* BACKSPACE */ case GDK_KEY_BackSpace:
/* Brackets mandatory because of local vars */
gchar * before = c->_peer_number;
if (strlen (c->_peer_number) >= 1) {
if (c->_state == CALL_STATE_TRANSFERT) { if (c->_state == CALL_STATE_TRANSFERT) {
// Process backspace if and only if string not NULL if (*c->_trsft_to)
if (strlen (c->_trsft_to) > 0) c->_trsft_to[strlen (c->_trsft_to) - 1] = '\0';
c->_trsft_to = g_strndup (c->_trsft_to, strlen (c->_trsft_to) - 1); calltree_update_call (current_calls, c, NULL);
} else { } else {
c->_peer_number = g_strndup (c->_peer_number, strlen (c->_peer_number) -1); if (*c->_peer_number) {
g_free (before); c->_peer_number[strlen (c->_peer_number) -1] = '\0';
DEBUG ("SFLphone: TO: backspace %s", c->_peer_number);
}
calltree_update_call (current_calls, c, NULL); calltree_update_call (current_calls, c, NULL);
} else if (strlen (c->_peer_number) == 0) {
if (c->_state != CALL_STATE_TRANSFERT)
dbus_hang_up (c);
} }
else
dbus_hang_up(c);
} }
break; break;
case 65289: /* TAB */ case GDK_KEY_Tab:
case 65513: /* ALT */ case GDK_KEY_Alt_L:
case 65507: /* CTRL */ case GDK_KEY_Control_L:
case 65515: /* SUPER */ case GDK_KEY_Super_L:
case 65509: /* CAPS */ case GDK_KEY_Caps_Lock:
break; break;
default: default:
// if (keyval < 255 || (keyval >65453 && keyval < 65466)) if (keyval < 127 /* ascii */ ||
if (keyval < 127 || (keyval > 65400 && keyval < 65466)) { (keyval >= GDK_KEY_Mode_switch && keyval <= GDK_KEY_KP_9) /* num keypad */) {
if (c->_state == CALL_STATE_TRANSFERT) { if (c->_state == CALL_STATE_TRANSFERT) {
gchar *new_trsft = g_strconcat (c->_trsft_to, key, NULL); gchar *new_trsft = g_strconcat (c->_trsft_to, key, NULL);
...@@ -695,8 +685,6 @@ process_dialing (callable_obj_t *c, guint keyval, gchar *key) ...@@ -695,8 +685,6 @@ process_dialing (callable_obj_t *c, guint keyval, gchar *key)
callable_obj_t * callable_obj_t *
sflphone_new_call() sflphone_new_call()
{ {
DEBUG ("Actions: Sflphone new call");
callable_obj_t *current_selected_call = calltab_get_selected_call (current_calls); callable_obj_t *current_selected_call = calltab_get_selected_call (current_calls);
if ( (current_selected_call != NULL) && (current_selected_call->_confID == NULL)) if ( (current_selected_call != NULL) && (current_selected_call->_confID == NULL))
...@@ -723,16 +711,11 @@ sflphone_keypad (guint keyval, gchar * key) ...@@ -723,16 +711,11 @@ sflphone_keypad (guint keyval, gchar * key)
{ {
callable_obj_t * c = calltab_get_selected_call (current_calls); callable_obj_t * c = calltab_get_selected_call (current_calls);
DEBUG("SFLphone: Keypad");
if ( (active_calltree != current_calls) || (active_calltree == current_calls && !c)) { if ( (active_calltree != current_calls) || (active_calltree == current_calls && !c)) {
DEBUG ("Not in a call, not dialing, create a new call");
//dbus_play_dtmf(key);
switch (keyval) { switch (keyval) {
case 65293: /* ENTER */ case GDK_KEY_Return:
case 65421: /* ENTER numpad */ case GDK_KEY_KP_Enter:
case 65307: /* ESCAPE */ case GDK_KEY_Escape:
break; break;
default: default:
calltree_display (current_calls); calltree_display (current_calls);
...@@ -740,18 +723,15 @@ sflphone_keypad (guint keyval, gchar * key) ...@@ -740,18 +723,15 @@ sflphone_keypad (guint keyval, gchar * key)
break; break;
} }
} else if (c) { } else if (c) {
DEBUG ("Call is non-zero");
switch (c->_state) { switch (c->_state) {
case CALL_STATE_DIALING: // Currently dialing => edit number case CALL_STATE_DIALING: // Currently dialing => edit number
DEBUG ("Writing a number");
process_dialing (c, keyval, key); process_dialing (c, keyval, key);
break; break;
case CALL_STATE_RECORD: case CALL_STATE_RECORD:
case CALL_STATE_CURRENT: case CALL_STATE_CURRENT:
switch (keyval) { switch (keyval) {
case 65307: /* ESCAPE */ case GDK_KEY_Escape:
dbus_hang_up (c); dbus_hang_up (c);
time (&c->_time_stop); time (&c->_time_stop);
calltree_update_call (history, c, NULL); calltree_update_call (history, c, NULL);
...@@ -766,17 +746,15 @@ sflphone_keypad (guint keyval, gchar * key) ...@@ -766,17 +746,15 @@ sflphone_keypad (guint keyval, gchar * key)
case CALL_STATE_INCOMING: case CALL_STATE_INCOMING:
switch (keyval) { switch (keyval) {
case 65293: /* ENTER */ case GDK_KEY_Return:
case 65421: /* ENTER numpad */ case GDK_KEY_KP_Enter:
c->_history_state = INCOMING; c->_history_state = INCOMING;
calltree_update_call (history, c, NULL); calltree_update_call (history, c, NULL);
dbus_accept (c); dbus_accept (c);
DEBUG ("from sflphone_keypad ( enter ) : ");
stop_notification(); stop_notification();
break; break;
case 65307: /* ESCAPE */ case GDK_KEY_Escape:
dbus_refuse (c); dbus_refuse (c);
DEBUG ("from sflphone_keypad ( escape ) : ");
stop_notification(); stop_notification();
break; break;
} }
...@@ -785,13 +763,13 @@ sflphone_keypad (guint keyval, gchar * key) ...@@ -785,13 +763,13 @@ sflphone_keypad (guint keyval, gchar * key)
case CALL_STATE_TRANSFERT: case CALL_STATE_TRANSFERT:
switch (keyval) { switch (keyval) {
case 65293: /* ENTER */ case GDK_KEY_Return:
case 65421: /* ENTER numpad */ case GDK_KEY_KP_Enter:
dbus_transfert (c); dbus_transfert (c);
time (&c->_time_stop); time (&c->_time_stop);
calltree_remove_call(current_calls, c, NULL); calltree_remove_call(current_calls, c, NULL);
break; break;
case 65307: /* ESCAPE */ case GDK_KEY_Escape:
sflphone_unset_transfert (); sflphone_unset_transfert ();
break; break;
default: // When a call is on transfert, typing new numbers will add it to c->_peer_number default: // When a call is on transfert, typing new numbers will add it to c->_peer_number
...@@ -803,11 +781,11 @@ sflphone_keypad (guint keyval, gchar * key) ...@@ -803,11 +781,11 @@ sflphone_keypad (guint keyval, gchar * key)
case CALL_STATE_HOLD: case CALL_STATE_HOLD:
switch (keyval) { switch (keyval) {
case 65293: /* ENTER */ case GDK_KEY_Return:
case 65421: /* ENTER numpad */ case GDK_KEY_KP_Enter:
dbus_unhold (c); dbus_unhold (c);
break; break;
case 65307: /* ESCAPE */ case GDK_KEY_Escape:
dbus_hang_up (c); dbus_hang_up (c);
break; break;
default: // When a call is on hold, typing new numbers will create a new call default: // When a call is on hold, typing new numbers will create a new call
...@@ -820,11 +798,9 @@ sflphone_keypad (guint keyval, gchar * key) ...@@ -820,11 +798,9 @@ sflphone_keypad (guint keyval, gchar * key)
case CALL_STATE_BUSY: case CALL_STATE_BUSY:
case CALL_STATE_FAILURE: case CALL_STATE_FAILURE:
//c->_stop = 0;
switch (keyval) { switch (keyval) {
case 65307: /* ESCAPE */ case GDK_KEY_Escape:
dbus_hang_up (c); dbus_hang_up (c);
//c->_stop = 0;
calltree_update_call (history, c, NULL); calltree_update_call (history, c, NULL);
break; break;
} }
......
...@@ -131,10 +131,10 @@ main_window_ask_quit () ...@@ -131,10 +131,10 @@ main_window_ask_quit ()
static gboolean static gboolean
on_key_released (GtkWidget *widget, GdkEventKey *event, gpointer user_data UNUSED) on_key_released (GtkWidget *widget, GdkEventKey *event, gpointer user_data UNUSED)
{ {
DEBUG ("MainWindow: On key released: %s", gtk_widget_get_name (widget)); if (focus_is_on_searchbar)
return TRUE;
if (focus_is_on_searchbar == FALSE) { if(event->keyval == GDK_KEY_Return) {
if(event->keyval == 65293) {
if(active_calltree == current_calls) { if(active_calltree == current_calls) {
sflphone_keypad (event->keyval, event->string); sflphone_keypad (event->keyval, event->string);
return TRUE; return TRUE;
...@@ -145,24 +145,23 @@ on_key_released (GtkWidget *widget, GdkEventKey *event, gpointer user_data UNUSE ...@@ -145,24 +145,23 @@ on_key_released (GtkWidget *widget, GdkEventKey *event, gpointer user_data UNUSE
} }
// If a modifier key is pressed, it's a shortcut, pass along // If a modifier key is pressed, it's a shortcut, pass along
if (event->state & GDK_CONTROL_MASK || event->state & GDK_MOD1_MASK if (event->state & GDK_CONTROL_MASK || event->state & GDK_MOD1_MASK ||
|| event->keyval == 60 || // < event->keyval == '<' ||
event->keyval == 62 || // > event->keyval == '>' ||
event->keyval == 34 || // " event->keyval == '\"' ||
event->keyval == 65289 || // tab event->keyval == GDK_KEY_Tab ||
event->keyval == 65293 || // enter event->keyval == GDK_KEY_Return ||
event->keyval == 65361 || // left arrow event->keyval == GDK_KEY_Left ||
event->keyval == 65362 || // up arrow event->keyval == GDK_KEY_Up ||
event->keyval == 65363 || // right arrow event->keyval == GDK_KEY_Right ||
event->keyval == 65364 || // down arrow event->keyval == GDK_KEY_Down ||
event->keyval >= 65470 || // F-keys (event->keyval >= GDK_KEY_F1 && event->keyval <= GDK_KEY_F12)||
event->keyval == 32 // event->keyval == ' '
) )
return FALSE; return FALSE;
else { else {
sflphone_keypad (event->keyval, event->string); sflphone_keypad (event->keyval, event->string);
} }
}
return TRUE; return TRUE;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment