aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-call-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy-gtk/empathy-call-window.c')
-rw-r--r--libempathy-gtk/empathy-call-window.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-call-window.c b/libempathy-gtk/empathy-call-window.c
index baa169755..a1c7bd799 100644
--- a/libempathy-gtk/empathy-call-window.c
+++ b/libempathy-gtk/empathy-call-window.c
@@ -24,6 +24,7 @@
#include "config.h"
#include <gtk/gtk.h>
+#include <glib/gi18n.h>
#include <libempathy/empathy-debug.h>
@@ -104,6 +105,20 @@ call_window_capabilities_notify_cb (EmpathyContact *contact,
}
static void
+call_window_name_notify_cb (EmpathyContact *contact,
+ GParamSpec *param,
+ EmpathyCallWindow *window)
+{
+ const gchar *name;
+ gchar *title;
+
+ name = empathy_contact_get_name (contact);
+ title = g_strdup_printf (_("Call from %s"), name);
+ gtk_window_set_title (GTK_WINDOW (window->window), title);
+ g_free (title);
+}
+
+static void
call_window_status_notify_cb (EmpathyTpCall *call,
GParamSpec *param,
EmpathyCallWindow *window)
@@ -124,7 +139,11 @@ call_window_status_notify_cb (EmpathyTpCall *call,
g_signal_connect (contact, "notify::capabilities",
G_CALLBACK (call_window_capabilities_notify_cb),
window);
+ g_signal_connect (contact, "notify::name",
+ G_CALLBACK (call_window_name_notify_cb),
+ window);
call_window_capabilities_notify_cb (contact, NULL, window);
+ call_window_name_notify_cb (contact, NULL, window);
}
}
@@ -142,7 +161,7 @@ call_window_destroy_cb (GtkWidget *widget,
g_slice_free (EmpathyCallWindow, window);
}
-void
+GtkWidget *
empathy_call_window_show (EmpathyTpCall *call)
{
EmpathyCallWindow *window;
@@ -194,5 +213,7 @@ empathy_call_window_show (EmpathyTpCall *call)
window);
gtk_widget_show (window->window);
+
+ return window->window;
}