[evince] libview: Emit the AtkText 'text-caret-moved' and 'text-selection-changed' signals



commit 259022495e7fbc944cdfe49e9556d84ac2397673
Author: Antia Puentes <apuentes igalia com>
Date:   Wed Jul 3 17:31:40 2013 +0200

    libview: Emit the AtkText 'text-caret-moved' and 'text-selection-changed' signals
    
    https://bugzilla.gnome.org/show_bug.cgi?id=701732

 libview/ev-view-accessible.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/libview/ev-view-accessible.c b/libview/ev-view-accessible.c
index 4f07938..6e60dcb 100644
--- a/libview/ev-view-accessible.c
+++ b/libview/ev-view-accessible.c
@@ -908,6 +908,22 @@ ev_view_accessible_hypertext_iface_init (AtkHypertextIface *iface)
        iface->get_link_index = ev_view_accessible_get_link_index;
 }
 
+static void
+ev_view_accessible_cursor_moved (EvView *view,
+                                gint page,
+                                gint offset,
+                                EvViewAccessible *accessible)
+{
+       g_signal_emit_by_name (accessible, "text-caret-moved", offset);
+}
+
+static void
+ev_view_accessible_selection_changed (EvView *view,
+                                     EvViewAccessible *accessible)
+{
+       g_signal_emit_by_name (accessible, "text-selection-changed");
+}
+
 AtkObject *
 ev_view_accessible_new (GtkWidget *widget)
 {
@@ -918,6 +934,13 @@ ev_view_accessible_new (GtkWidget *widget)
        accessible = g_object_new (EV_TYPE_VIEW_ACCESSIBLE, NULL);
        atk_object_initialize (accessible, widget);
 
+       g_signal_connect (widget, "cursor-moved",
+                         G_CALLBACK (ev_view_accessible_cursor_moved),
+                         accessible);
+       g_signal_connect (widget, "selection-changed",
+                         G_CALLBACK (ev_view_accessible_selection_changed),
+                         accessible);
+
        return accessible;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]