aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-contact-widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy-gtk/empathy-contact-widget.c')
-rw-r--r--libempathy-gtk/empathy-contact-widget.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c
index 773aa6130..3e8ed8430 100644
--- a/libempathy-gtk/empathy-contact-widget.c
+++ b/libempathy-gtk/empathy-contact-widget.c
@@ -1271,9 +1271,12 @@ contact_widget_contact_setup (EmpathyContactWidget *information)
if (information->flags & EMPATHY_CONTACT_WIDGET_EDIT_ALIAS)
{
information->widget_alias = gtk_entry_new ();
- g_signal_connect (information->widget_alias, "focus-out-event",
- G_CALLBACK (contact_widget_entry_alias_focus_event_cb),
- information);
+
+ if (!(information->flags & EMPATHY_CONTACT_WIDGET_NO_SET_ALIAS))
+ g_signal_connect (information->widget_alias, "focus-out-event",
+ G_CALLBACK (contact_widget_entry_alias_focus_event_cb),
+ information);
+
/* Make return activate the window default (the Close button) */
gtk_entry_set_activates_default (GTK_ENTRY (information->widget_alias),
TRUE);
@@ -1414,6 +1417,20 @@ empathy_contact_widget_get_contact (GtkWidget *widget)
return information->contact;
}
+const gchar *
+empathy_contact_widget_get_alias (GtkWidget *widget)
+{
+ EmpathyContactWidget *information;
+
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+
+ information = g_object_get_data (G_OBJECT (widget), "EmpathyContactWidget");
+ if (!information)
+ return NULL;
+
+ return gtk_entry_get_text (GTK_ENTRY (information->widget_alias));
+}
+
/**
* empathy_contact_widget_set_contact:
* @widget: an #EmpathyContactWidget