GNOME Bugzilla – Bug 154604
gok should not always present multiple actions to the user
Last modified: 2004-12-22 21:47:04 UTC
Activate the panel with the launcher, select UIGrab, select Launch result: user is presented with click, press, and release. Better: just invoke the click. Patch coming.
Created attachment 32261 [details] [review] special cases for widgets with three actions: click, press, and release Bill, this patch needs to be reviewed and tested. I'll be in tomorrow (Wednesday)
Created attachment 32305 [details] [review] improved patch
test/QA has suggested that this bug should be treated as P3 or P2.
David, as I said on IRC, the right place to put the reduction logic is when determining the number of actions, not the number of actionable children: i.e. branch if n_actionable_children > 0 && has_multi_useful_actions () or something like that, where has_multi_useful_actions (action) is logic much like your three_actions_reduce(), except reversed in the sense of the boolean return.
Created attachment 32564 [details] [review] proposed patch This patch has been tested to solve the click, press, release reduction, but has not been tested with counter cases. Please test and review.
Counter cases would be components that expose multiple actions other than the: click, press, release trio. Got any?
Apologies for spam-- ensuring Sun a11y team are cc'ed on all current a11y bugs. Filter on "SUN A11Y SPAM" to ignore.
Created attachment 33083 [details] [review] updated patch against head
raising severity because this is an efficiency killer.
Fixed in CVS. (Note: we'll need to keep an eye out for situations where this reduction might not be desirable)
I have some concerns here. As I can see from some codes, not everyone connect to the "clicked" signal of a gtkbutton. Some just connect to the "pressed" signal, and in some cases, they connect to "button_press_event" signal. So their signal handling function won't be called when you just let the button emit a "clicked" signal. In gailbutton.c, the action "press" will simulate a button press event. So their function can be called when doing the action "press". So I think leave the 3 actions there, user can try "click" first, if this doesn't work, he might then try "press". Or maybe GOK could have a option to let user choose whether showing all actions.
I think having a user option is a good idea. Ideally the first exposed action (at the first index) would be the primary action for a given component but it sounds like that would require extra effort from the application developer. I don't like relying on this. Bill, your thoughts?