From d43ed8f0dd6dcc1ee927e63117164e61c5ebffa7 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Sun, 16 May 2010 23:34:28 +0000 Subject: [PATCH] Implemented the call button in the messages view (untested) --- src/callbacks.c | 4 ++-- src/phone.c | 28 ++++++++++++++++++++++++++++ src/phone.h | 2 ++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/callbacks.c b/src/callbacks.c index 414c81a..ba71665 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -255,7 +255,7 @@ void on_phone_messages_call(gpointer data) { Phone * phone = data; - /* FIXME implement */ + phone_messages_call_selected(phone); } @@ -264,7 +264,7 @@ void on_phone_messages_delete(gpointer data) { Phone * phone = data; - /* FIXME implement */ + phone_messages_delete_selected(phone); } diff --git a/src/phone.c b/src/phone.c index c6ba830..66b9854 100644 --- a/src/phone.c +++ b/src/phone.c @@ -731,6 +731,34 @@ void phone_messages_set(Phone * phone, unsigned int index, char const * number, } +/* phone_messages_call_selected */ +void phone_messages_call_selected(Phone * phone) +{ + GtkTreeSelection * treesel; + GtkTreeIter iter; + gchar * number = NULL; + + if((treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW( + phone->me_view))) == NULL) + return; + if(gtk_tree_selection_get_selected(treesel, NULL, &iter) != TRUE) + return; + gtk_tree_model_get(GTK_TREE_MODEL(phone->co_store), &iter, + PHONE_MESSAGE_COLUMN_NUMBER, &number, -1); + if(number == NULL) + return; + gsm_call(phone->gsm, GSM_CALL_TYPE_VOICE, number); + g_free(number); +} + + +/* phone_messages_delete_selected */ +void phone_messages_delete_selected(Phone * phone) +{ + /* FIXME implement */ +} + + /* phone_messages_read_selected */ void phone_messages_read_selected(Phone * phone) { diff --git a/src/phone.h b/src/phone.h index f1dfada..7475923 100644 --- a/src/phone.h +++ b/src/phone.h @@ -66,6 +66,8 @@ void phone_dialer_call(Phone * phone, char const * number); void phone_dialer_hangup(Phone * phone); /* messages */ +void phone_messages_call_selected(Phone * phone); +void phone_messages_delete_selected(Phone * phone); void phone_messages_read_selected(Phone * phone); void phone_messages_set(Phone * phone, unsigned int index, char const * number, time_t date, char const * content);