forked from AuroraMiddleware/gtk
a11y: Simplify GtkWindowAccessible
Have GtkWindow notify of title changes, instead of overriding GtkWidgetAccessible.notify_gtk.
This commit is contained in:
parent
d60f7f2e7a
commit
24e8b484e0
@ -61,19 +61,14 @@ gtk_window_accessible_focus_event (AtkObject *obj,
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_window_accessible_notify_gtk (GObject *obj,
|
||||
GParamSpec *pspec)
|
||||
on_title_changed (GObject *gobject,
|
||||
GParamSpec *pspec,
|
||||
GtkWindowAccessible *self)
|
||||
{
|
||||
GtkWidget *widget = GTK_WIDGET (obj);
|
||||
AtkObject* atk_obj = gtk_widget_get_accessible (widget);
|
||||
AtkObject *atk_obj = ATK_OBJECT (self);
|
||||
|
||||
if (g_strcmp0 (pspec->name, "title") == 0)
|
||||
{
|
||||
g_object_notify (G_OBJECT (atk_obj), "accessible-name");
|
||||
g_signal_emit_by_name (atk_obj, "visible-data-changed");
|
||||
}
|
||||
else
|
||||
GTK_WIDGET_ACCESSIBLE_CLASS (gtk_window_accessible_parent_class)->notify_gtk (obj, pspec);
|
||||
g_object_notify (G_OBJECT (atk_obj), "accessible-name");
|
||||
g_signal_emit_by_name (atk_obj, "visible-data-changed");
|
||||
}
|
||||
|
||||
static const gchar *
|
||||
@ -244,14 +239,21 @@ gtk_window_accessible_ref_child (AtkObject *object,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_window_accessible_initialize (AtkObject *object,
|
||||
gpointer data)
|
||||
{
|
||||
GtkWidget *window = data;
|
||||
|
||||
g_signal_connect (window, "notify::title", G_CALLBACK (on_title_changed), object);
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_window_accessible_class_init (GtkWindowAccessibleClass *klass)
|
||||
{
|
||||
GtkWidgetAccessibleClass *widget_class = (GtkWidgetAccessibleClass*)klass;
|
||||
AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
|
||||
|
||||
widget_class->notify_gtk = gtk_window_accessible_notify_gtk;
|
||||
|
||||
class->initialize = gtk_window_accessible_initialize;
|
||||
class->get_name = gtk_window_accessible_get_name;
|
||||
class->get_index_in_parent = gtk_window_accessible_get_index_in_parent;
|
||||
class->ref_relation_set = gtk_window_accessible_ref_relation_set;
|
||||
|
Loading…
Reference in New Issue
Block a user