changeset 21175:4ce3e1f998f6

Don't allow tooltips to interfere with editing blist entries. Fixes #3830.
author Daniel Atallah <daniel.atallah@gmail.com>
date Fri, 09 Nov 2007 04:07:25 +0000
parents 6e0c99e134c2
children 50a93945811b
files pidgin/gtkblist.c
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/pidgin/gtkblist.c	Fri Nov 09 01:39:51 2007 +0000
+++ b/pidgin/gtkblist.c	Fri Nov 09 04:07:25 2007 +0000
@@ -605,6 +605,8 @@
 			return;
 	}
 
+	pidgin_blist_tooltip_destroy();
+
 	path = gtk_tree_model_get_path(GTK_TREE_MODEL(gtkblist->treemodel), &iter);
 	g_object_set(G_OBJECT(gtkblist->text_rend), "editable", TRUE, NULL);
 	gtk_tree_view_set_enable_search (GTK_TREE_VIEW(gtkblist->treeview), FALSE);
@@ -2800,6 +2802,12 @@
 	GtkTreeIter iter;
 	PurpleBlistNode *node;
 	GValue val;
+	gboolean editable = FALSE;
+
+	/* If we're editing a cell (e.g. alias editing), don't show the tooltip */
+	g_object_get(G_OBJECT(gtkblist->text_rend), "editable", &editable, NULL);
+	if (editable)
+		return FALSE;
 
 	if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv), gtkblist->tip_rect.x, gtkblist->tip_rect.y + (gtkblist->tip_rect.height/2), 
 		&path, NULL, NULL, NULL))
@@ -3856,7 +3864,7 @@
 	gtk_widget_set_sensitive(widget, pidgin_blist_joinchat_is_showable());
 
 	widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Privacy"));
-	gtk_widget_set_sensitive(widget, (purple_connections_get_all() != NULL));
+	gtk_widget_set_sensitive(widget, sensitive);
 
 	widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Room List"));
 	gtk_widget_set_sensitive(widget, pidgin_roomlist_is_showable());