GNOME Bugzilla – Bug 582589
Should allow users to initially have either audio or audio/video calls
Last modified: 2009-05-18 15:21:31 UTC
On some protocols an audio call is really different then an audio/video call. For example when interacting with the google video plugin, their UI shows audio calls and audio/video calls as different things and there is no way to switch on video if you started an audio call
Created attachment 134639 [details] [review] Fix for #582589 at http://git.collabora.co.uk/?p=user/sjoerd/empathy.git;a=shortlog;h=refs/heads/gvideo configure.ac | 1 + libempathy-gtk/empathy-contact-list-store.c | 24 ++++++- libempathy-gtk/empathy-contact-list-store.h | 3 +- libempathy-gtk/empathy-contact-list-view.c | 84 +++++++++++++++++++++--- libempathy-gtk/empathy-images.h | 1 + libempathy/empathy-call-factory.c | 17 ++++- libempathy/empathy-call-factory.h | 3 + libempathy/empathy-call-handler.c | 94 ++++++++++++++++++++++++++- libempathy/empathy-call-handler.h | 3 + libempathy/empathy-tp-call.c | 14 ++++- libempathy/empathy-tp-call.h | 3 +- python/pyempathy/pyempathy.defs | 37 ++++++++++- 12 files changed, 259 insertions(+), 25 deletions(-)
Note that you need an item in the contact menu too. Instead of duplicating ways to start the call, can we detect such a protocol that does not support upgrading audio to audio+video? Maybe we can just add a popup with the call window that tells "This protocol does not support adding video later, do you want to enable it now?"
Code looks good but introduced some UI problems: - The Contact menu should have a "Video Call" entry as well. - When receiving a video call, the blinking icon should be a webcam and not the microphone. - Similarly, the popup asking if we want to accept the call should tell if it's an audio only or an audio/video one. - If once accepted the call can't be upgraded to audio/video, the popup should offer you the possibilty to accept with or without video. Or maybe we should always do that if video is possible to be more coherent. - The call dialog should have the "send video" widgets enabled according the actual state of the call. These issues can be post-merge work but then should have their own bug(s) to track them.
First point is a merge blocker. I filled bug #582596 bug #582597 and bug #582598 about the other issues.
You should add documentation for all public functions. See EmpathyTpFile, EmpathyAccountChooser, EmpathyProfileChooser, etc. for examples on how to do this.
'gvideo' branch merged to master.