Commit graph

77 commits

Author SHA1 Message Date
William Jon McCann
3ba63de212 flow-box: add more error checking 2013-02-09 16:20:38 -05:00
William Jon McCann
2955ae7090 flow-box: add pc file 2013-02-09 11:33:40 -05:00
William Jon McCann
584e308e6c flow-box: use wink instead of sad 2013-02-09 10:14:55 -05:00
William Jon McCann
658540b2d7 flow-box: add basic selection support 2013-02-09 10:02:59 -05:00
William Jon McCann
ee1e2fdbee Add EggFlowBox
Derived from EggWrapBox originally written by
Tristan Van Berkom <tristanvb@openismus.com>
2013-02-08 17:07:38 -05:00
Matthias Clasen
4155378482 Avoid double emission of active-descentant-changed
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
2013-02-05 06:23:07 -05:00
Matthias Clasen
42012f6ffd Improve a11y implementation
Set the role to ATK_ROLE_LIST_BOX, and add the state
ATK_STATE_MANAGES_DESCENDANTS.
2013-02-04 06:27:46 -05:00
Matthias Clasen
7c64979439 A minimal accessible implementation
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
2013-01-29 00:26:45 -05:00
Matthias Clasen
ebcc7ed3bd Improve keynav some more
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.
2013-01-22 22:14:49 -05:00
Matthias Clasen
98b0a39efe Improve keynav
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
2013-01-22 06:02:25 -05:00
Jasper St. Pierre
f6ed22716b egg-list-box: Remove redundant check
A ChildInfo's widget should never be NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=691979
2013-01-17 19:07:30 -05:00
Jasper St. Pierre
f72c0e70d2 egg-list-box: Move refiltered behavior to be a signal
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
2013-01-17 19:07:30 -05:00
Jasper St. Pierre
a2b8fcd146 egg-list-box: Fix indentation
https://bugzilla.gnome.org/show_bug.cgi?id=691979
2013-01-17 19:07:30 -05:00
Bastien Nocera
33c2f9634a build: Fix libtool related warning
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
2013-01-15 11:03:18 +01:00
Cosimo Cecchi
706210c4e1 egg-list-box: translate motion-notify events for child windows
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
2013-01-08 10:42:38 -05:00
Cosimo Cecchi
f74b6a0c71 egg-list-box: make sure to offset the foucs ring by focus_pad
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.
2012-12-20 16:35:28 +01:00
Jasper St. Pierre
fcd530543c Update INSTALL
More recent versions of autoconf/automake emit a different
updated message.
2012-12-12 05:01:16 -05:00
Alexander Larsson
bb1b6ef425 focus: Don't change selection on focus in
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
2012-12-10 16:48:31 +01:00
Alexander Larsson
83bdd9a3a2 Add selection on-start testcase from #689060 2012-12-10 16:46:37 +01:00
Xavier Claessens
2e49eaf2dc Use a pixbuf cache
https://bugzilla.gnome.org/show_bug.cgi?id=687911
2012-11-09 10:16:53 +01:00
Xavier Claessens
d53ce490a7 Add big contact list test case
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.
2012-11-09 10:16:47 +01:00
Paolo Borelli
b32d127065 Propagate current state to the child
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
2012-10-15 10:10:39 +02:00
Alexander Larsson
ce28bb7b14 Fix vapi file to not we don't have a construct function anymore 2012-08-16 20:37:46 +02:00
Alexander Larsson
2199bbb508 More coding style fixes 2012-08-16 16:58:24 +02:00
Alexander Larsson
27076ebe62 Add child_is_visible helper 2012-08-16 16:53:58 +02:00
Alexander Larsson
bac0e2370e Remove ref/unref helpers 2012-08-16 16:35:47 +02:00
Alexander Larsson
92c1a13d93 Include the right header 2012-08-16 16:14:09 +02:00
Alexander Larsson
771297a0d9 Rename custom marshaller 2012-08-16 16:13:43 +02:00
Alexander Larsson
66dd594087 Cleanup child visibility changes 2012-08-16 16:10:09 +02:00
Alexander Larsson
8f18180172 whitespace cleanups 2012-08-16 16:05:35 +02:00
Alexander Larsson
dcb2a47ead Use priv locals 2012-08-16 16:04:02 +02:00
Alexander Larsson
99946ee342 self -> list_box 2012-08-16 15:56:50 +02:00
Alexander Larsson
65c2f68018 base -> widget where appropriate 2012-08-16 15:53:22 +02:00
Alexander Larsson
94bc8fc5e4 base -> container rename 2012-08-16 15:51:59 +02:00
Alexander Larsson
3e0618de7a cleanup class_init 2012-08-16 15:40:54 +02:00
Alexander Larsson
a4b21004d9 Some formating cleanup 2012-08-16 15:12:27 +02:00
Alexander Larsson
fd82ab29b7 clean up sort callback 2012-08-16 15:08:29 +02:00
Alexander Larsson
20f2da6f0d Reorder init/fini to start of file 2012-08-16 15:05:10 +02:00
Alexander Larsson
e92003be61 Clean up the Block1Data thing 2012-08-16 15:01:56 +02:00
Alexander Larsson
54f10e97a0 Put ChildFlags stuff where used and simplify 2012-08-16 14:54:18 +02:00
Alexander Larsson
25f31106e8 Clean up signal handling 2012-08-16 14:51:04 +02:00
Alexander Larsson
560d510ef7 Bunch of formating changes 2012-08-16 14:41:34 +02:00
Alexander Larsson
597d06b278 Convert EggListBox from vala to C
This is the initial pass, which is essentially a direct
conversion and needs more cleanup.
2012-08-16 14:17:43 +02:00
Alexander Larsson
58eafe87c3 Avoid warning when calling static method via instance 2012-08-14 12:28:07 +02:00
Guillaume Desmottes
fa76492117 auto-scroll during DnD
https://bugzilla.gnome.org/show_bug.cgi?id=678782
2012-06-26 13:58:02 +02:00
Guillaume Desmottes
15eab5980c add API to (un)highlight a widget during DnD
https://bugzilla.gnome.org/show_bug.cgi?id=678603
2012-06-25 10:23:05 +02:00
Guillaume Desmottes
99d9f29f66 Depend on Vala 0.16.1
We are using vfunc accessors for Widget.get_preferred_height/width which have
been added to this version.

https://bugzilla.gnome.org/show_bug.cgi?id=678072
2012-06-25 10:15:49 +02:00
Guillaume Desmottes
f43820e357 focus: cope with cursor_child being null
https://bugzilla.gnome.org/show_bug.cgi?id=677680
2012-06-11 09:36:03 +02:00
Guillaume Desmottes
6adf9cb1e7 fix style of focus()
No semantic change, I just hate working on miss aligned code.

https://bugzilla.gnome.org/show_bug.cgi?id=677680
2012-06-08 10:13:49 +02:00
Guillaume Desmottes
360e782ad9 add get_child_at_y () public method 2012-06-04 13:49:51 +02:00