aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@src.gnome.org>2008-07-15 22:00:43 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2008-07-15 22:00:43 +0800
commit85f1114dfde72df49d377eb56e4703213243f661 (patch)
tree46a118563245e7c8463450ae8ced909d5764a7c5 /libempathy-gtk
parent284af952a6644b052dad4aa131175c14658312f7 (diff)
downloadgsoc2013-empathy-85f1114dfde72df49d377eb56e4703213243f661.tar
gsoc2013-empathy-85f1114dfde72df49d377eb56e4703213243f661.tar.gz
gsoc2013-empathy-85f1114dfde72df49d377eb56e4703213243f661.tar.bz2
gsoc2013-empathy-85f1114dfde72df49d377eb56e4703213243f661.tar.lz
gsoc2013-empathy-85f1114dfde72df49d377eb56e4703213243f661.tar.xz
gsoc2013-empathy-85f1114dfde72df49d377eb56e4703213243f661.tar.zst
gsoc2013-empathy-85f1114dfde72df49d377eb56e4703213243f661.zip
Activate the event when clicking on the contact list.
svn path=/trunk/; revision=1248
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-contact-list-view.c31
1 files changed, 23 insertions, 8 deletions
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c
index f8942cbb3..4760b4253 100644
--- a/libempathy-gtk/empathy-contact-list-view.c
+++ b/libempathy-gtk/empathy-contact-list-view.c
@@ -671,21 +671,36 @@ contact_list_view_row_activated_cb (EmpathyContactListView *view,
GtkTreeModel *model;
GtkTreeIter iter;
- if (!(priv->contact_features & EMPATHY_CONTACT_FEATURE_CHAT)) {
- return;
- }
-
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
-
+ model = GTK_TREE_MODEL (priv->store);
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_model_get (model, &iter,
EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact,
-1);
- if (contact) {
+ if (!contact) {
+ return;
+ }
+
+ if (priv->event_manager) {
+ GSList *events, *l;
+
+ events = empathy_event_manager_get_events (priv->event_manager);
+ for (l = events; l; l = l->next) {
+ EmpathyEvent *event = l->data;
+
+ if (event->contact == contact) {
+ empathy_event_activate (event);
+ goto OUT;
+ }
+ }
+ }
+
+ if (priv->contact_features & EMPATHY_CONTACT_FEATURE_CHAT) {
empathy_dispatcher_chat_with_contact (contact);
- g_object_unref (contact);
}
+
+OUT:
+ g_object_unref (contact);
}
static void