After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 171232 - font preferences: table reporting errors
font preferences: table reporting errors
Status: RESOLVED FIXED
Product: gnopernicus
Classification: Deprecated
Component: speech
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Oana Serb
Oana Serb
AP2
: 168241 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-03-22 15:15 UTC by John Crawley
Modified: 2005-05-19 08:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (896 bytes, patch)
2005-03-23 11:43 UTC, remus draica
none Details | Review
Proposed patch for gnopernicus (646 bytes, patch)
2005-04-07 12:58 UTC, Oana Serb
none Details | Review
Proposed patch (644 bytes, patch)
2005-05-16 12:10 UTC, Oana Serb
committed Details | Review

Description John Crawley 2005-03-22 15:15:53 UTC
Distribution/Version: JDS Rel3 B31

Using gnopernicus 0.10.4

 - With gnopernicus activated and speech enabled, go to
   Preferences->Desktop Preferences->Display->Fonts
 
 - Select the "Application font" button
.
 - Navigate to the "Style" table.
 - Navigate back to the "Family" table.

Notice that speech reports the style table and its current selection, as 
well as the current family selection for every element in the family table.
Example:
  
 <shift>+<tab>
 "Table Family, Schumacher Clean, Table line, Schumacher Clean"
 <down>
 "Table Style, Regular, Table Line, Serif"
 <up>
  "Table Style, Regular, Table Line, Schumacher Clean"


This would be very confusing for the gnopernicus speech user.
Also note that when navigating to the table it would be better
to report:
  "Table Family, Table line, Schumacher Clean"
rather than:
  "Table Family, Schumacher Clean, Table line, Schumacher Clean"
Comment 1 bill.haneman 2005-03-22 15:25:03 UTC
this looks to me as though it's caused by 'focus' events from the 'Style' table
when changing selections in the Family table.  
Comment 2 Alexandra Telescu 2005-03-23 10:47:13 UTC
I do not receive the same output :
<shift>+<tab>
 "Table Family, Schumacher Clean, Table line, Schumacher Clean"
 <down>
 "Table Style, Regular, Table Family, Serif, Table Line, Serif"
 <up>
  "Table Style, Regular, Table Family, Schumacher Clean,Table Line, Schumacher
Clean"


Comment 3 bill.haneman 2005-03-23 11:04:14 UTC
Ada: however you see that your output is still 'wrong', because it includes
information from both tables...  when I run this I see 'flickering' in the
tables as they are re-filled - for instance, each time you change 'family', the
'Style' table has to be re-set to include only the styles which are available
for that font family.  So I am speculating that we may be getting a focus event
from 'Style' along with the event from 'Family'.  I haven't confirmed this with
event-listener-test however.
Comment 4 remus draica 2005-03-23 11:38:21 UTC
In this case, both tables are firing active-descendant-changed events.
Gnopernicus converts those events in focus event without checking if the new
active child is focused (the problem in gnopernicus). But, both active children
have FOCUSED state (the gail problem).
Comment 5 remus draica 2005-03-23 11:43:11 UTC
Created attachment 39131 [details] [review]
proposed patch


This patch checks if the table which has fired the active-descendant-changed
event has FOCUSED state. The right solution is to check this for the new active
descendant. Because in this case this is always FOCUSED, the check for parent
is an workaround to solve the problem.
Comment 6 remus draica 2005-03-23 12:28:42 UTC
*** Bug 168241 has been marked as a duplicate of this bug. ***
Comment 7 remus draica 2005-03-28 12:36:01 UTC
In case of tables, more than 1 object can have FOCUSED state in same time. For
the table which has the keyboard input, the current selected cell and table
itself have this state and the other table has a cell which also contains this
state. 

Is this behavior/situation OK?
Comment 8 bill.haneman 2005-03-29 13:03:49 UTC
multiple objects having FOCUSSED state at once seems very suspicious to me.  I
personally doubt that this is what we really want.
Comment 9 Oana Serb 2005-03-30 11:04:43 UTC
This bug depends on bug #172087
Comment 10 remus draica 2005-03-30 11:10:01 UTC
With patch for bug #172087, this bug is no longer present.
Comment 11 bill.haneman 2005-03-30 11:37:22 UTC
Remus - if we set/add ATK_STATE_ACTIVE on the cells instead of
ATK_STATE_FOCUSSED, we can avoid the situation in comment #7 where there are
multiple objects with ATK_STATE_FOCUSSED.  This seems more consistent to me, and
it would help GTK+/GNOME be consistent with the info reported by the
java-access-bridge.
Comment 12 korn 2005-04-04 16:22:25 UTC
As Bill states, this is similar to the Java behavior.  So please instead use the
patch to <a href="http://bugzilla.gnome.org/show_bug.cgi?id=171865">bug
#171865</a> for testing.  Please confirm if that fixes this bug as well.
Comment 13 Oana Serb 2005-04-06 08:08:59 UTC
The patch from bug #171865 doesn't fix this bug.
Comment 14 bill.haneman 2005-04-06 09:01:13 UTC
Is a revised patch to bug 172087 appropriate here?  
Comment 15 Oana Serb 2005-04-07 12:58:31 UTC
Created attachment 39800 [details] [review]
Proposed patch for gnopernicus

This patch checks if the state object is ACTIVE, before converting the
'active-descendant-changed' event into a "gnopernicus focus" event.
The result is that the 'active-descendant-changed' event will be reported by
gnopernicus only if the object has the ACTIVE state.
An revised patch was added for bug #172087.
Comment 16 Oana Serb 2005-05-16 12:10:12 UTC
Created attachment 46479 [details] [review]
Proposed patch
Comment 17 korn 2005-05-17 21:16:34 UTC
If I understand the patch correctly, the key to not speaking all the extra
verbiage is to not change the type of the event to FOCUS, and so only the info
about the active descendent itself is spoken.

If this tests out OK, I'm happy with this nice and tiny patch!
Comment 18 remus draica 2005-05-18 11:16:27 UTC
Gnopernicus doesn't present to user active-descendant-changed event. But, most
of them are converted to focus events (if they have a focused ancestor).
Comment 19 korn 2005-05-18 17:12:57 UTC
Ah, I understand now.  You are in fact getting two events and this code ignores
one of them in many circumstances.  OK, I'm fine with this patch.
Comment 20 Oana Serb 2005-05-19 07:53:48 UTC
Patch committed to CVS head.