]> Pileus Git - ~andy/gtk/commitdiff
a11y: remove implementation for [add/remove]_global_event_listener
authorAlejandro Piñeiro <apinheiro@igalia.com>
Mon, 25 Jun 2012 17:45:25 +0000 (19:45 +0200)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Thu, 28 Jun 2012 10:38:11 +0000 (12:38 +0200)
Since release 2.5.3, ATK provides an implementation for those
methods, so toolkits doesn't need to implement them.

configure.ac
gtk/a11y/gailutil.c

index 37b6349b8be82a51ced24659e3dab4b2e2de0c2a..da70185c27bcb5f26408cf18d49c274bae6d2ff3 100644 (file)
@@ -41,7 +41,7 @@ m4_define([gtk_binary_version], [3.0.0])
 # required versions of other packages
 m4_define([glib_required_version], [2.33.1])
 m4_define([pango_required_version], [1.30.0])
-m4_define([atk_required_version], [2.2.0])
+m4_define([atk_required_version], [2.5.3])
 m4_define([cairo_required_version], [1.10.0])
 m4_define([gdk_pixbuf_required_version], [2.26.0])
 m4_define([introspection_required_version], [1.32.0])
index e04f8c566af95da4aa0b6a6a5356c95c815715f6..7cc175a89b36055eaa12fb4165deb388831f1f4b 100644 (file)
 #include "gtktoplevelaccessible.h"
 #include "gtkwindowaccessible.h"
 
-
-static GHashTable *listener_list = NULL;
-static gint listener_idx = 1;
 static GSList *key_listener_list = NULL;
 
-typedef struct _GailUtilListenerInfo GailUtilListenerInfo;
 typedef struct _GailKeyEventInfo GailKeyEventInfo;
 
-struct _GailUtilListenerInfo
-{
-   gint key;
-   guint signal_id;
-   gulong hook_id;
-};
-
 struct _GailKeyEventInfo
 {
   AtkKeyEventStruct *key_event;
   gpointer func_data;
 };
 
-static guint
-add_listener (GSignalEmissionHook  listener,
-              const gchar         *object_type,
-              const gchar         *signal_name,
-              const gchar         *hook_data)
-{
-  GType type;
-  guint signal_id;
-  gint  rc = 0;
-
-  type = g_type_from_name (object_type);
-  if (type)
-    {
-      signal_id  = g_signal_lookup (signal_name, type);
-      if (signal_id > 0)
-        {
-          GailUtilListenerInfo *listener_info;
-
-          rc = listener_idx;
-
-          listener_info = g_new (GailUtilListenerInfo, 1);
-          listener_info->key = listener_idx;
-          listener_info->hook_id =
-                          g_signal_add_emission_hook (signal_id, 0, listener,
-                                                      g_strdup (hook_data),
-                                                      (GDestroyNotify) g_free);
-          listener_info->signal_id = signal_id;
-
-          g_hash_table_insert (listener_list, &(listener_info->key), listener_info);
-          listener_idx++;
-        }
-      else
-        {
-          g_warning ("Invalid signal type %s\n", signal_name);
-        }
-    }
-  else
-    {
-      g_warning ("Invalid object type %s\n", object_type);
-    }
-  return rc;
-}
-
 static gboolean
 state_event_watcher (GSignalInvocationHint *hint,
                      guint                  n_param_values,
@@ -259,63 +205,6 @@ do_window_event_initialization (void)
   g_signal_connect (root, "children-changed::remove",
                     (GCallback) window_removed, NULL);
 }
-static guint
-gail_util_add_global_event_listener (GSignalEmissionHook  listener,
-                                     const gchar         *event_type)
-{
-  guint rc = 0;
-  gchar **split_string;
-
-  split_string = g_strsplit (event_type, ":", 3);
-
-  if (g_strv_length (split_string) == 3)
-    rc = add_listener (listener, split_string[1], split_string[2], event_type);
-
-  g_strfreev (split_string);
-
-  return rc;
-}
-
-static void
-gail_util_remove_global_event_listener (guint remove_listener)
-{
-  if (remove_listener > 0)
-  {
-    GailUtilListenerInfo *listener_info;
-    gint tmp_idx = remove_listener;
-
-    listener_info = (GailUtilListenerInfo *)
-      g_hash_table_lookup(listener_list, &tmp_idx);
-
-    if (listener_info != NULL)
-      {
-        /* Hook id of 0 and signal id of 0 are invalid */
-        if (listener_info->hook_id != 0 && listener_info->signal_id != 0)
-          {
-            /* Remove the emission hook */
-            g_signal_remove_emission_hook(listener_info->signal_id,
-              listener_info->hook_id);
-
-            /* Remove the element from the hash */
-            g_hash_table_remove(listener_list, &tmp_idx);
-          }
-        else
-          {
-            g_warning ("Invalid listener hook_id %ld or signal_id %d\n",
-                       listener_info->hook_id, listener_info->signal_id);
-          }
-      }
-    else
-      {
-        g_warning ("No listener with the specified listener id %d",
-                   remove_listener);
-      }
-  }
-  else
-  {
-    g_warning ("Invalid listener_id %d", remove_listener);
-  }
-}
 
 static AtkKeyEventStruct *
 atk_key_event_from_gdk_event_key (GdkEventKey *key)
@@ -457,14 +346,11 @@ _gail_util_install (void)
 {
   AtkUtilClass *atk_class = ATK_UTIL_CLASS (g_type_class_ref (ATK_TYPE_UTIL));
 
-  atk_class->add_global_event_listener = gail_util_add_global_event_listener;
-  atk_class->remove_global_event_listener = gail_util_remove_global_event_listener;
   atk_class->add_key_event_listener = gail_util_add_key_event_listener;
   atk_class->remove_key_event_listener = gail_util_remove_key_event_listener;
   atk_class->get_root = gail_util_get_root;
   atk_class->get_toolkit_name = gail_util_get_toolkit_name;
   atk_class->get_toolkit_version = gail_util_get_toolkit_version;
 
-  listener_list = g_hash_table_new_full (g_int_hash, g_int_equal, NULL, g_free);
   do_window_event_initialization ();
 }