also handle keyboard tooltips. (#408325, Matthias Clasen).
authorKristian Rietveld <kris@imendio.com>
Fri, 16 Feb 2007 20:10:48 +0000 (20:10 +0000)
committerKristian Rietveld <kristian@src.gnome.org>
Fri, 16 Feb 2007 20:10:48 +0000 (20:10 +0000)
2007-02-16  Kristian Rietveld  <kris@imendio.com>

* tests/testtooltips.c (query_tooltip_text_view_cb): also handle
keyboard tooltips. (#408325, Matthias Clasen).

svn path=/trunk/; revision=17313

ChangeLog
tests/testtooltips.c

index a62cd1d84eaf25423541bd51e707f7a28890bab5..0347e20328aca0e0d3be02ce9f1e39a446fe64eb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-02-16  Kristian Rietveld  <kris@imendio.com>
+
+       * tests/testtooltips.c (query_tooltip_text_view_cb): also handle
+       keyboard tooltips. (#408325, Matthias Clasen).
+
 2007-02-16  Xan Lopez  <xan@gnome.org>
 
        * gtk/gtkcombobox.c (gtk_combo_box_expose_event): Cleanup the logic
index f0a062e76364cd95ed1eed881d966b6336a8a462..7c3c98a62c74edfdd85c6605595d1e361d4b4213 100644 (file)
@@ -62,14 +62,25 @@ query_tooltip_text_view_cb (GtkWidget  *widget,
                            GtkTooltip *tooltip,
                            gpointer    data)
 {
-  gint bx, by, trailing;
   GtkTextTag *tag = data;
   GtkTextIter iter;
   GtkTextView *text_view = GTK_TEXT_VIEW (widget);
 
-  gtk_text_view_window_to_buffer_coords (text_view, GTK_TEXT_WINDOW_TEXT,
-                                        x, y, &bx, &by);
-  gtk_text_view_get_iter_at_position (text_view, &iter, &trailing, bx, by);
+  if (keyboard_tip)
+    {
+      gint offset;
+
+      g_object_get (text_view->buffer, "cursor-position", &offset, NULL);
+      gtk_text_buffer_get_iter_at_offset (text_view->buffer, &iter, offset);
+    }
+  else
+    {
+      gint bx, by, trailing;
+
+      gtk_text_view_window_to_buffer_coords (text_view, GTK_TEXT_WINDOW_TEXT,
+                                            x, y, &bx, &by);
+      gtk_text_view_get_iter_at_position (text_view, &iter, &trailing, bx, by);
+    }
 
   if (gtk_text_iter_has_tag (&iter, tag))
     gtk_tooltip_set_markup (tooltip, "Tooltip on text tag");