diff --git a/sflphone-gtk/src/actions.c b/sflphone-gtk/src/actions.c index dcd715f04db99591cde359f236ee8b9fc1e90c76..4f5e911a52a0d6e32584a4d8c7dbf6744d265a06 100644 --- a/sflphone-gtk/src/actions.c +++ b/sflphone-gtk/src/actions.c @@ -387,6 +387,16 @@ sflphone_current( call_t * c ) update_menus(); } +void +sflphone_record( call_t * c ) +{ + if( c->state != CALL_STATE_HOLD ) + (void) time(&c->_start); + c->state = CALL_STATE_RECORD; + update_call_tree(current_calls,c); + update_menus(); +} + void sflphone_set_transfert() { diff --git a/sflphone-gtk/src/dbus.c b/sflphone-gtk/src/dbus.c index c1227aadb29f7e5f3c40086040a6425789d089ec..c1d5d616a27547e5f8185a6b534fa9dbd7039d7f 100644 --- a/sflphone-gtk/src/dbus.c +++ b/sflphone-gtk/src/dbus.c @@ -115,10 +115,14 @@ call_state_cb (DBusGProxy *proxy UNUSED, sflphone_hung_up (c); update_call_tree( history, c ); } - else if ( strcmp(state, "UNHOLD") == 0 ) + else if ( strcmp(state, "UNHOLD_CURRENT") == 0 ) { sflphone_current (c); } + else if ( strcmp(state, "UNHOLD_RECORD") == 0 ) + { + sflphone_record (c); + } else if ( strcmp(state, "HOLD") == 0 ) { sflphone_hold (c);