egg_list_box_update_selected already calls egg_list_box_update_cursor,
so no need to call the two in a row. This was harmless, but it now
causes extra emissions of a11y signals.
https://bugzilla.gnome.org/show_bug.cgi?id=692258
To inform ATs about what is going on, implement AtkSelection,
and also emit ::active-descendant-changed. This seems enough
to make orca read 'filler' for each row (unless the row happens
to be just a label, in which case, it reads the label).
https://bugzilla.gnome.org/show_bug.cgi?id=692258
The previous commit made it so that arrow up/down can leave the
list box when the last child is reached. But it did not work for
Page up/down, due to the way the code was written. With this
commit, all up/down key bindings can leave the widget.
Using gtk_widget_keynav_failed() instead of hardcoding
gtk_widget_error_bell() gives applications a chance to override
keynav handling. We will make use of this in the power panel
to 'link' arrow keynav across multiple list boxes.
https://bugzilla.gnome.org/show_bug.cgi?id=692275
If we want to show a widget when there are no children left after
a refilter, we need a hook to be able to calculate that. Adding
a signal allows us to run handlers before and after the refiltering
is done.
https://bugzilla.gnome.org/show_bug.cgi?id=691979
warning: 'libegglistbox.la': linking libtool libraries using a non-POSIX
archiver requires 'AM_PROG_AR' in 'configure.ac'
So add it before LT_INIT so it can be used by libtool
When a motion event is received relative to a child window, translate
the y coordinate of the event relative to our own window, since that's what
we need to fetch the correct child.
https://bugzilla.gnome.org/show_bug.cgi?id=691181
This is what all other GTK widgets usually do; not doing so here
eventually results in the separator being drawn on top of the focus
ring.
We already allocate and request space for it elsewhere in the code.
We can pick different default initial focus depending on the tab direction
when focus goes into the widget, but we should always start with the
currently selected row if any.
https://bugzilla.gnome.org/show_bug.cgi?id=689060
Focus in/out this window used to take a lot of CPU. See
https://bugzilla.gnome.org/show_bug.cgi?id=687911
The dummy row widget code is copied from empathy-roster-contact.c to
make the test more realistic.
This makes sure that the backdrop state reaches the children. At the
moment I do not explicitely clear the selected, focus and prelight
flags since I do not think they are ever set for the list widget, but
maybe we should.
https://bugzilla.gnome.org/show_bug.cgi?id=686092