From 4bfaa6a1f18836ca01d6bd37711a4ff5e3fac052 Mon Sep 17 00:00:00 2001 From: Frederic Peters Date: Wed, 20 Aug 2008 09:18:02 +0000 Subject: don't let label text be selected in contact tooltip (closes: #546568) svn path=/trunk/; revision=1360 --- libempathy-gtk/empathy-contact-list-view.c | 2 +- libempathy-gtk/empathy-contact-widget.c | 15 ++++++++++++--- libempathy-gtk/empathy-contact-widget.h | 1 + 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'libempathy-gtk') diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c index 09544a466..2d6b1703f 100644 --- a/libempathy-gtk/empathy-contact-list-view.c +++ b/libempathy-gtk/empathy-contact-list-view.c @@ -151,7 +151,7 @@ contact_list_view_query_tooltip_cb (EmpathyContactListView *view, if (!priv->tooltip_widget) { priv->tooltip_widget = empathy_contact_widget_new (contact, - EMPATHY_CONTACT_WIDGET_EDIT_NONE); + EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP); g_object_add_weak_pointer (G_OBJECT (priv->tooltip_widget), (gpointer) &priv->tooltip_widget); } else { diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c index 2e591ece3..fb09fa3b6 100644 --- a/libempathy-gtk/empathy-contact-widget.c +++ b/libempathy-gtk/empathy-contact-widget.c @@ -530,7 +530,9 @@ contact_widget_contact_setup (EmpathyContactWidget *information) else { information->widget_account = gtk_label_new (NULL); - gtk_label_set_selectable (GTK_LABEL (information->widget_account), TRUE); + if (!information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP) { + gtk_label_set_selectable (GTK_LABEL (information->widget_account), TRUE); + } gtk_misc_set_alignment (GTK_MISC (information->widget_account), 0, 0.5); } gtk_table_attach_defaults (GTK_TABLE (information->table_contact), @@ -552,7 +554,9 @@ contact_widget_contact_setup (EmpathyContactWidget *information) else { information->widget_id = gtk_label_new (NULL); - gtk_label_set_selectable (GTK_LABEL (information->widget_id), TRUE); + if (!information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP) { + gtk_label_set_selectable (GTK_LABEL (information->widget_id), TRUE); + } gtk_misc_set_alignment (GTK_MISC (information->widget_id), 0, 0.5); } gtk_table_attach_defaults (GTK_TABLE (information->table_contact), @@ -574,12 +578,17 @@ contact_widget_contact_setup (EmpathyContactWidget *information) else { information->widget_alias = gtk_label_new (NULL); - gtk_label_set_selectable (GTK_LABEL (information->widget_alias), TRUE); + if (!information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP) { + gtk_label_set_selectable (GTK_LABEL (information->widget_alias), TRUE); + } gtk_misc_set_alignment (GTK_MISC (information->widget_alias), 0, 0.5); } gtk_table_attach_defaults (GTK_TABLE (information->table_contact), information->widget_alias, 1, 2, 2, 3); + if (information->flags & EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP) { + gtk_label_set_selectable (GTK_LABEL (information->label_status), FALSE); + } gtk_widget_show (information->widget_alias); } diff --git a/libempathy-gtk/empathy-contact-widget.h b/libempathy-gtk/empathy-contact-widget.h index addb049af..4ba75e17f 100644 --- a/libempathy-gtk/empathy-contact-widget.h +++ b/libempathy-gtk/empathy-contact-widget.h @@ -37,6 +37,7 @@ typedef enum EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT = 1 << 2, EMPATHY_CONTACT_WIDGET_EDIT_ID = 1 << 3, EMPATHY_CONTACT_WIDGET_EDIT_GROUPS = 1 << 4, + EMPATHY_CONTACT_WIDGET_FOR_TOOLTIP = 1 << 5, } EmpathyContactWidgetFlags; GtkWidget * empathy_contact_widget_new (EmpathyContact *contact, -- cgit v1.2.3