Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in / Register
Toggle navigation
J
jami-daemon
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Insights
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
120
Issues
120
List
Boards
Labels
Milestones
Security & Compliance
Security & Compliance
Dependency List
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
savoirfairelinux
jami-daemon
Commits
811bd124
Commit
811bd124
authored
Sep 01, 2011
by
Rafaël Carré
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* #6828: Replace raw key codes by gdk defines
parent
653a8a3b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
67 additions
and
92 deletions
+67
-92
gnome/src/actions.c
gnome/src/actions.c
+38
-62
gnome/src/mainwindow.c
gnome/src/mainwindow.c
+29
-30
No files found.
gnome/src/actions.c
View file @
811bd124
...
...
@@ -626,52 +626,42 @@ void
process_dialing
(
callable_obj_t
*
c
,
guint
keyval
,
gchar
*
key
)
{
// 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_play_dtmf( key );
}
switch
(
keyval
)
{
case
65293
:
/* ENTER */
case
65421
:
/* ENTER numpad */
case
GDK_KEY_Return
:
case
GDK_KEY_KP_Enter
:
sflphone_place_call
(
c
);
break
;
case
65307
:
/* ESCAPE */
case
GDK_KEY_Escape
:
sflphone_hang_up
();
break
;
case
65288
:
{
/* BACKSPACE */
/* Brackets mandatory because of local vars */
gchar
*
before
=
c
->
_peer_number
;
if
(
strlen
(
c
->
_peer_number
)
>=
1
)
{
if
(
c
->
_state
==
CALL_STATE_TRANSFERT
)
{
// Process backspace if and only if string not NULL
if
(
strlen
(
c
->
_trsft_to
)
>
0
)
c
->
_trsft_to
=
g_strndup
(
c
->
_trsft_to
,
strlen
(
c
->
_trsft_to
)
-
1
);
}
else
{
c
->
_peer_number
=
g_strndup
(
c
->
_peer_number
,
strlen
(
c
->
_peer_number
)
-
1
);
g_free
(
before
);
DEBUG
(
"SFLphone: TO: backspace %s"
,
c
->
_peer_number
);
}
case
GDK_KEY_BackSpace
:
if
(
c
->
_state
==
CALL_STATE_TRANSFERT
)
{
if
(
*
c
->
_trsft_to
)
c
->
_trsft_to
[
strlen
(
c
->
_trsft_to
)
-
1
]
=
'\0'
;
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
{
if
(
*
c
->
_peer_number
)
{
c
->
_peer_number
[
strlen
(
c
->
_peer_number
)
-
1
]
=
'\0'
;
calltree_update_call
(
current_calls
,
c
,
NULL
);
}
else
dbus_hang_up
(
c
);
}
}
break
;
case
65289
:
/* TAB */
case
65513
:
/* ALT */
case
65507
:
/* CTRL */
case
65515
:
/* SUPER */
case
65509
:
/* CAPS */
break
;
case
GDK_KEY_Tab
:
case
GDK_KEY_Alt_L
:
case
GDK_KEY_Control_L
:
case
GDK_KEY_Super_L
:
case
GDK_KEY_Caps_Lock
:
break
;
default:
// if (keyval < 255 || (keyval >65453 && keyval < 65466))
if
(
keyval
<
127
||
(
keyval
>
65400
&&
keyval
<
65466
)
)
{
if
(
keyval
<
127
/* ascii */
||
(
keyval
>=
GDK_KEY_Mode_switch
&&
keyval
<=
GDK_KEY_KP_9
)
/* num keypad */
)
{
if
(
c
->
_state
==
CALL_STATE_TRANSFERT
)
{
gchar
*
new_trsft
=
g_strconcat
(
c
->
_trsft_to
,
key
,
NULL
);
...
...
@@ -695,8 +685,6 @@ process_dialing (callable_obj_t *c, guint keyval, gchar *key)
callable_obj_t
*
sflphone_new_call
()
{
DEBUG
(
"Actions: Sflphone new call"
);
callable_obj_t
*
current_selected_call
=
calltab_get_selected_call
(
current_calls
);
if
(
(
current_selected_call
!=
NULL
)
&&
(
current_selected_call
->
_confID
==
NULL
))
...
...
@@ -723,16 +711,11 @@ sflphone_keypad (guint keyval, gchar * key)
{
callable_obj_t
*
c
=
calltab_get_selected_call
(
current_calls
);
DEBUG
(
"SFLphone: Keypad"
);
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
)
{
case
65293
:
/* ENTER */
case
65421
:
/* ENTER numpad */
case
65307
:
/* ESCAPE */
case
GDK_KEY_Return
:
case
GDK_KEY_KP_Enter
:
case
GDK_KEY_Escape
:
break
;
default:
calltree_display
(
current_calls
);
...
...
@@ -740,18 +723,15 @@ sflphone_keypad (guint keyval, gchar * key)
break
;
}
}
else
if
(
c
)
{
DEBUG
(
"Call is non-zero"
);
switch
(
c
->
_state
)
{
case
CALL_STATE_DIALING
:
// Currently dialing => edit number
DEBUG
(
"Writing a number"
);
process_dialing
(
c
,
keyval
,
key
);
break
;
case
CALL_STATE_RECORD
:
case
CALL_STATE_CURRENT
:
switch
(
keyval
)
{
case
65307
:
/* ESCAPE */
case
GDK_KEY_Escape
:
dbus_hang_up
(
c
);
time
(
&
c
->
_time_stop
);
calltree_update_call
(
history
,
c
,
NULL
);
...
...
@@ -766,17 +746,15 @@ sflphone_keypad (guint keyval, gchar * key)
case
CALL_STATE_INCOMING
:
switch
(
keyval
)
{
case
65293
:
/* ENTER */
case
65421
:
/* ENTER numpad */
case
GDK_KEY_Return
:
case
GDK_KEY_KP_Enter
:
c
->
_history_state
=
INCOMING
;
calltree_update_call
(
history
,
c
,
NULL
);
dbus_accept
(
c
);
DEBUG
(
"from sflphone_keypad ( enter ) : "
);
stop_notification
();
break
;
case
65307
:
/* ESCAPE */
case
GDK_KEY_Escape
:
dbus_refuse
(
c
);
DEBUG
(
"from sflphone_keypad ( escape ) : "
);
stop_notification
();
break
;
}
...
...
@@ -785,13 +763,13 @@ sflphone_keypad (guint keyval, gchar * key)
case
CALL_STATE_TRANSFERT
:
switch
(
keyval
)
{
case
65293
:
/* ENTER */
case
65421
:
/* ENTER numpad */
case
GDK_KEY_Return
:
case
GDK_KEY_KP_Enter
:
dbus_transfert
(
c
);
time
(
&
c
->
_time_stop
);
calltree_remove_call
(
current_calls
,
c
,
NULL
);
break
;
case
65307
:
/* ESCAPE */
case
GDK_KEY_Escape
:
sflphone_unset_transfert
();
break
;
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)
case
CALL_STATE_HOLD
:
switch
(
keyval
)
{
case
65293
:
/* ENTER */
case
65421
:
/* ENTER numpad */
case
GDK_KEY_Return
:
case
GDK_KEY_KP_Enter
:
dbus_unhold
(
c
);
break
;
case
65307
:
/* ESCAPE */
case
GDK_KEY_Escape
:
dbus_hang_up
(
c
);
break
;
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)
case
CALL_STATE_BUSY
:
case
CALL_STATE_FAILURE
:
//c->_stop = 0;
switch
(
keyval
)
{
case
65307
:
/* ESCAPE */
case
GDK_KEY_Escape
:
dbus_hang_up
(
c
);
//c->_stop = 0;
calltree_update_call
(
history
,
c
,
NULL
);
break
;
}
...
...
gnome/src/mainwindow.c
View file @
811bd124
...
...
@@ -131,37 +131,36 @@ main_window_ask_quit ()
static
gboolean
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
==
FALSE
)
{
if
(
event
->
keyval
==
65293
)
{
if
(
active_calltree
==
current_calls
)
{
sflphone_keypad
(
event
->
keyval
,
event
->
string
);
return
TRUE
;
}
else
if
(
active_calltree
==
history
)
{
return
FALSE
;
}
}
// If a modifier key is pressed, it's a shortcut, pass along
if
(
event
->
state
&
GDK_CONTROL_MASK
||
event
->
state
&
GDK_MOD1_MASK
||
event
->
keyval
==
60
||
// <
event
->
keyval
==
62
||
// >
event
->
keyval
==
34
||
// "
event
->
keyval
==
65289
||
// tab
event
->
keyval
==
65293
||
// enter
event
->
keyval
==
65361
||
// left arrow
event
->
keyval
==
65362
||
// up arrow
event
->
keyval
==
65363
||
// right arrow
event
->
keyval
==
65364
||
// down arrow
event
->
keyval
>=
65470
||
// F-keys
event
->
keyval
==
32
//
)
return
FALSE
;
else
{
if
(
focus_is_on_searchbar
)
return
TRUE
;
if
(
event
->
keyval
==
GDK_KEY_Return
)
{
if
(
active_calltree
==
current_calls
)
{
sflphone_keypad
(
event
->
keyval
,
event
->
string
);
}
return
TRUE
;
}
else
if
(
active_calltree
==
history
)
{
return
FALSE
;
}
}
// If a modifier key is pressed, it's a shortcut, pass along
if
(
event
->
state
&
GDK_CONTROL_MASK
||
event
->
state
&
GDK_MOD1_MASK
||
event
->
keyval
==
'<'
||
event
->
keyval
==
'>'
||
event
->
keyval
==
'\"'
||
event
->
keyval
==
GDK_KEY_Tab
||
event
->
keyval
==
GDK_KEY_Return
||
event
->
keyval
==
GDK_KEY_Left
||
event
->
keyval
==
GDK_KEY_Up
||
event
->
keyval
==
GDK_KEY_Right
||
event
->
keyval
==
GDK_KEY_Down
||
(
event
->
keyval
>=
GDK_KEY_F1
&&
event
->
keyval
<=
GDK_KEY_F12
)
||
event
->
keyval
==
' '
)
return
FALSE
;
else
{
sflphone_keypad
(
event
->
keyval
,
event
->
string
);
}
return
TRUE
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment