show chat/call view from selection in history and contacts

Previoiusly, the chat/call view displayed could only be changed by
changing the selection in the converstaions list view. The contacts
and history list views would only change the call view if a new
call was initiated by double clicking on the selection.

This patch changes this behaviour, now slecting an item in any of
the three contact list views will result in showing the chat view
with that Person or ContactMethod, or showing the call view if there
is an ongoing call with the selected item.

In order to prevent conflicts between different selections in the
different views, only one selection at a time is allowed. So,
changing the selection in the conversations view, for example, will
clear the selection in the other 2 list views except in the case
that the item selected is the same one. For example, if the Person
selected in the Contacts view is the same as the one in the
Conversations view, then both selections will remain.

Change-Id: Icc00c5801e66ca0013b730d6d008ebf904a999e1
Tuleap: #956
diff --git a/src/chatview.h b/src/chatview.h
index 0710601..f7685cc 100644
--- a/src/chatview.h
+++ b/src/chatview.h
@@ -38,10 +38,13 @@
 typedef struct _ChatViewClass ChatViewClass;
 
 
-GType      chat_view_get_type   (void) G_GNUC_CONST;
-GtkWidget *chat_view_new_call   (Call* call);
-GtkWidget *chat_view_new_cm     (ContactMethod* cm);
-GtkWidget *chat_view_new_person (Person* p);
+GType          chat_view_get_type   (void) G_GNUC_CONST;
+GtkWidget     *chat_view_new_call   (Call*);
+GtkWidget     *chat_view_new_cm     (ContactMethod*);
+GtkWidget     *chat_view_new_person (Person* p);
+Call          *chat_view_get_call   (ChatView*);
+ContactMethod *chat_view_get_cm     (ChatView*);
+Person        *chat_view_get_person (ChatView*);
 
 G_END_DECLS