Mercurial > pidgin.yaz
diff pidgin/gtkimhtml.c @ 18392:693f9b544e2b
Show tooltip for smileys. Fixes #1981.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sun, 01 Jul 2007 01:13:54 +0000 |
parents | 4c3a24270114 |
children | 16bdcffb1c62 |
line wrap: on
line diff
--- a/pidgin/gtkimhtml.c Sun Jul 01 00:15:45 2007 +0000 +++ b/pidgin/gtkimhtml.c Sun Jul 01 01:13:54 2007 +0000 @@ -494,6 +494,8 @@ GSList *tags = NULL, *templist = NULL; GdkColor *norm, *pre; GtkTextTag *tag = NULL, *oldprelit_tag; + GtkTextChildAnchor* anchor; + gboolean hand = TRUE; oldprelit_tag = GTK_IMHTML(imhtml)->prelit_tag; @@ -551,8 +553,15 @@ GTK_IMHTML(imhtml)->tip_timer = 0; } + /* If we don't have a tip from a URL, let's see if we have a tip from a smiley */ + anchor = gtk_text_iter_get_child_anchor(&iter); + if (anchor) { + tip = g_object_get_data(G_OBJECT(anchor), "gtkimhtml_plaintext"); + hand = FALSE; + } + if (tip){ - if (!GTK_IMHTML(imhtml)->editable) + if (!GTK_IMHTML(imhtml)->editable && hand) gdk_window_set_cursor(win, GTK_IMHTML(imhtml)->hand_cursor); GTK_IMHTML(imhtml)->tip_timer = g_timeout_add (TOOLTIP_TIMEOUT, gtk_imhtml_tip, imhtml); @@ -4621,6 +4630,7 @@ GtkWidget *img = gtk_image_new_from_stock(GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_MENU); gtk_container_add(GTK_CONTAINER(ebox), img); gtk_widget_show(img); + g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_plaintext", g_strdup(unescaped), g_free); gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(imhtml), ebox, anchor); } } else {