[nvda] revision 215 - some focus changes

Hi All,

Following is the revision 215 changelog.

*Added properties to the base NVDAObject:

-speakOnGainFocus: If true the object will speak when it gains focus.

-needsFocusState: If true, a gainFocus event will only be run if this object has its focus state set at the time

-speakOnForeground: if true this object will speak when it becomes the current foreground object

*Changed a few NVDAObjects so that they set things like speakOnGainFocus etc in their __init__ rather than overriding event_gainFocus etc.

*Stopped NVDA from saying "client client client" or even worse "SHELLDLL_DefView client SHELLDLL_DefView client SHELLDLL_DefView client" sometimes when moving in and out of folders in a windows explorer list. This was fixed by adding an NVDAObject specifically for this windowClass/role and then setting its speakOnGainFocus to false.

*NVDA no longer processes a focus event for an object that already has the focus

*Now when a list agains focus, its active list item is always spoken, and if there is no active list item, then there must be 0 items so it reports as so. This is handled by an NVDAObject for lists that when having gained focus, it tries to get its active child, and if it is a list item, it setsFocusObjectByLocator, and runs the list item's event_gainFocus. This should not make the list item speak twice because NVDA now already knows that the list item has gained focus by the time its real event comes (if MSAA does its job properly). [Jamie, this should fix the foobar stuff? it seems to on my system with 0.9.4.1].



Mick





To post messages to the list send email to
nvda@xxxxxxxxxxxxx
To unsubscribe from the list send a blank message to:
nvda-request@xxxxxxxxxxxxx
with 'unsubscribe' in the Subject field.
Thank you for your continued support of Nonvisual Desktop Access, an open 
source free screen reader for Microsoft Windows:
http://www.kulgan.net/nvda/

Other related posts: