OSDN Git Service
James Teh [Mon, 20 Jun 2011 06:16:22 +0000 (16:16 +1000)]
User Guide: Document use spelling functionality voice setting and document synthesizers that don't support it. Also document that symbol level is a global setting.
Fixes #930.
Michael Curran [Sat, 18 Jun 2011 07:11:15 +0000 (17:11 +1000)]
Reverted last commit to do with supporting 64 bit Mozilla Gecko as this has now been found to clealry be a bug in Gecko which could easily be fixed with a change to one line of Gecko code. and since 64 bit builds are still not official, Gecko still has a chance t o fix before the public at large get their hands on it.
Michael Curran [Fri, 17 Jun 2011 13:49:37 +0000 (23:49 +1000)]
Gecko vbufBackend: implement a replacement AccessibleObjectFromEvent that actually works when called from within a 64 bit process. Technically, AccessibleObjectFromWindow is the actual function with the bug, though AccessibleObjectFromEvent calls it.
The new AccessibleObjectFromEvent_fixed only uses custom code where absolutely necessary. It in fact is a macro that only on 64 bit is defined as the custom function, otherwise its just AccessibleObjectFromEvent. Plus, the custom function only does the custom code if the current thread and the thread for the window are the same, otherwise it calls the original AccessibleObjectFromEvent.
The custom code just does the standard wm_getobject, ObjectFromLResult, tries accChild. Pretty much exactly what its clear AccessibleObjectFromEvent/AccessibleObjectFromWindow does. I have no idea why AccessibleObjectFromWindow fails.
In short all this means that virtualBuffers are no longer blank in 64 bit builds of Mozilla Gecko applications.
Fixes #1454.
James Teh [Fri, 17 Jun 2011 10:10:06 +0000 (20:10 +1000)]
What's New: Fix errors.
James Teh [Fri, 17 Jun 2011 08:00:33 +0000 (18:00 +1000)]
MSHTMLTextInfo._expandToLine: textRange.select() sometimes throws focus onto the document for some unfathomable reason, so instead, create a new range from the selection and move the selection using that.
Fixes a rare problem where the focus kept bouncing infinitely between the document and a multi-line editable text field in focus mode.
Fixes #1566.
James Teh [Fri, 17 Jun 2011 05:32:15 +0000 (15:32 +1000)]
NVDAObjects.IAccessible.MSHTML.locateHTMLElementByID: It's not possible to get an IAccessible for an iframe with an ARIA role of presentation, so just skip it.
Fixes NotImplementedError exceptions on pages containing such iframes.
Fixes #1569.
Michael Curran [Fri, 17 Jun 2011 01:11:29 +0000 (11:11 +1000)]
colors.RGB.name: once finding the closest color, do not cache it in the RGBToNames dictionary, instead cache it in a separate dictionary spcific for caching. Previously the more colors that NVDA found, the more inaccurate it was becoming as the closest color was in many cases a color that was previously found to be close to another. also rewrite the algorithm to possibly read a bit better by using a for loop rather than sort and a lambda etc.
Michael Curran [Thu, 16 Jun 2011 22:50:28 +0000 (08:50 +1000)]
Update what's new
Michael Curran [Thu, 16 Jun 2011 06:51:11 +0000 (16:51 +1000)]
Remove the support for MSAA's event_object_selectionWithIn event. This was never used in NVDA, at least, not usefully anyway (stateChange on the parent isn't really valid). But most importantly this speeds up Yahoo Mail with IE quite a bit as it removes two events on the message table.
Michael Curran [Thu, 16 Jun 2011 04:47:32 +0000 (14:47 +1000)]
MSHTML virtualBuffer's __contains__ method: in the main while loop do the isinstance check before the role check as the isinstance check is faster.
Michael Curran [Thu, 16 Jun 2011 04:24:42 +0000 (14:24 +1000)]
MSHTML NVDAObject: make the HTMLNodeName and HTMLNodeUniqueNumber properties be cached for the lifetime of the object, not just the current core cycle. also replace one last missed use of self.HTMLNode.nodeName with self.HTMLNodeName. These changes do provide a small speed improvement for MSHTML.
Michael Curran [Thu, 16 Jun 2011 04:16:30 +0000 (14:16 +1000)]
MSHTML NVDAObject: rather than setting TextInfo in the constructor, implement it as a getter that caches whether HTMLNode.createTextRange() succeeds, for the lifetime of the object. this stops createTextRange from being called if a TextInfo is actually not needed (i.e. crawling up ancestors or something
Michael Curran [Thu, 16 Jun 2011 04:03:34 +0000 (14:03 +1000)]
Fix typo
James Teh [Thu, 16 Jun 2011 02:38:26 +0000 (12:38 +1000)]
DisplayModelTextInfo: Gracefully handle the case where the underlying object's location is None and just return no text.
Should fix an exception when changing folders in Outlook Express.
Fixes #1568.
James Teh [Wed, 15 Jun 2011 23:48:21 +0000 (09:48 +1000)]
UIATextInfo: Implement updateSelection/updateCaret.
This should allow say all and braille cursor routing to work in UIA controls with a caret.
James Teh [Wed, 15 Jun 2011 23:10:01 +0000 (09:10 +1000)]
UIA NVDAObject: Don't cache the object in __new__, as __init__ might fail, which would result in a broken object in the cache. Instead, cache it at the end of __init__.
Fixes rare strange exceptions concerning UIA objects (particularly at startup).
Michael Curran [Wed, 15 Jun 2011 23:14:48 +0000 (09:14 +1000)]
Fix #1567 (errors after cutting and pasting in excel).
Michael Curran [Wed, 15 Jun 2011 08:51:45 +0000 (18:51 +1000)]
displayModel_t::renderText: go back to using a NULL \0 to represent gaps between chunks, if useXML is not requested.
Peter Vágner [Wed, 15 Jun 2011 11:38:10 +0000 (13:38 +0200)]
Updated portuguese languag file,
Updated brazilian portuguese user guide,
Updated turkish language file and user guide.
James Teh [Wed, 15 Jun 2011 05:27:31 +0000 (15:27 +1000)]
UIAHandler.isNativeUIAElement: The case of the string "UIAutomationCore.dll" seems to vary across systems, so make the regexp search case insensitive.
Fixes unwanted UIA focus events on some systems; e.g. double speaking when moving around the Desktop.
James Teh [Wed, 15 Jun 2011 05:12:24 +0000 (15:12 +1000)]
What's New: Fixes.
James Teh [Wed, 15 Jun 2011 05:10:22 +0000 (15:10 +1000)]
VoiceSettingsSlider: Win events sometimes aren't sent when SetValue is called, so hackily send our own.
Fixes the issue where the value of sliders was sometimes not reported when changed.
Fixes #1411.
Michael Curran [Wed, 15 Jun 2011 05:07:46 +0000 (15:07 +1000)]
Remove old commented code
Michael Curran [Wed, 15 Jun 2011 04:29:22 +0000 (14:29 +1000)]
Outlook Express / Windows Mail / windows Live mail message list: announce if the first message in a conversation thread is collapsed or expanded.
James Teh [Wed, 15 Jun 2011 01:48:42 +0000 (11:48 +1000)]
What's New: Minor updates.
James Teh [Wed, 15 Jun 2011 01:30:35 +0000 (11:30 +1000)]
espeak synth driver: Add a rate boost setting which triples the speaking rate.
Michael Curran [Tue, 14 Jun 2011 12:36:06 +0000 (22:36 +1000)]
The reportcurrentformatting script (NVDA+f) now reports formatting at the position of the review cursor, rather than the system caret. for most people this will not affect them as by default the review cursor follows the system caret. However, for those wishing to detect formatting when moving the review cursor, such as in flat review, this is useful.
Michael Curran [Tue, 14 Jun 2011 12:25:16 +0000 (22:25 +1000)]
You've asked for it since 2006... NVDA will now announce the fact that a message is unread, in the Outllook Express / windows Mail / windows Live Mail message list.
However, there is the question of whether this will break on non-english versions of windows... "Outlook Express Message List" may be translated.
Michael Curran [Tue, 14 Jun 2011 12:21:55 +0000 (22:21 +1000)]
NVDA can now detect formatting in display models. This includes font name, font size, bold, italic, underline and color.
This information is saved in to the model along with text chunks when they are written, and displayModel's getwindowTextInRect now can give back XML including the formatting.
GetTextWithFields has been implemented on the DisplayModelTextInfo class so that it pfetches and processes the XML, producing text and format fields.
speech.getcontrolFieldSpeech also no lo longer treets the _childcount attribute as manditory.
Michael Curran [Tue, 14 Jun 2011 12:12:00 +0000 (22:12 +1000)]
Moved the appendCharToxML function out of vbufBase/storage.cpp and in to a new file: common/xml.h. This is so that other parts of NVDAHelper can make use of it.
James Teh [Tue, 14 Jun 2011 09:33:05 +0000 (19:33 +1000)]
VoiceSettingsDialog.makeBooleanSettingControl: Oops. Use evt.IsChecked() instead of evt.GetSelection() so the values are bool instead of int.
James Teh [Tue, 14 Jun 2011 07:43:03 +0000 (17:43 +1000)]
Add support for boolean synth settings.
James Teh [Tue, 14 Jun 2011 07:39:51 +0000 (17:39 +1000)]
Make bzr ignore build.t2tConf.
James Teh [Tue, 14 Jun 2011 06:04:15 +0000 (16:04 +1000)]
Update What's New.
James Teh [Tue, 14 Jun 2011 03:35:39 +0000 (13:35 +1000)]
sconstruct: Oops. Use version variable when generating build.t2tConf, not versionInfo.version.
This means that the documentation correctly uses the version from the command line if it is overridden.
James Teh [Tue, 14 Jun 2011 03:31:14 +0000 (13:31 +1000)]
t2t docs: Move the NVDA_VERSION, NVDA_URL and NVDA_COPYRIGHT_YEARS macros out of global.t2tConf and instead have scons generate a file containing them using the versionInfo module.
This means that we no longer need to manually update global.t2tConf when one of these changes.
No change is required anywhere else, as global.t2tConf includes the build include (build.t2tConf).
Fixes #1450.
James Teh [Tue, 14 Jun 2011 02:56:33 +0000 (12:56 +1000)]
versionInfo: Split copyright years into separate copyrightYears variable, which will allow us to use it in the documentation, etc.
Fixes #1449.
James Teh [Tue, 14 Jun 2011 02:27:38 +0000 (12:27 +1000)]
You can now configure whether table cell coordinates are reported from the Document Formatting preferences dialog.
Fixes #719.
James Teh [Tue, 14 Jun 2011 02:25:45 +0000 (12:25 +1000)]
base NVDAObject: Treat table rows/columns/cells as layout if reporting of table cell coordinates is disabled.
Peter Vágner [Mon, 13 Jun 2011 12:00:15 +0000 (14:00 +0200)]
Added polish symbols,
Updated portuguese language file,
Updated turkish language file and user guide,
Updated brazilian language file, user guide,
Updated finnish language file, symbols, user guide and changes.
Peter Vágner [Mon, 13 Jun 2011 11:43:47 +0000 (13:43 +0200)]
Merged in changes to the arabic, swedish and dutch translations
Mesar Hameed [Mon, 13 Jun 2011 07:31:06 +0000 (08:31 +0100)]
ar: updated Arabic user guide, changes, nvda.po langstrings.txt, (Arabic Translation Team).
Mesar Hameed [Mon, 13 Jun 2011 07:24:17 +0000 (08:24 +0100)]
nl: Updated Dutch userguide, nvda.po and corrected contributers file to include correct email address for Dutch translation team (Bram Duvigneau).
Mesar Hameed [Mon, 13 Jun 2011 07:13:13 +0000 (08:13 +0100)]
sv: updated Swedish langstrings.txt.
Michael Curran [Mon, 13 Jun 2011 01:11:48 +0000 (11:11 +1000)]
Announce the cell moved to when navigating tables in Microsoft Word with the tab key. Fixes #159
Michael Curran [Sun, 12 Jun 2011 02:25:07 +0000 (12:25 +1000)]
NVDAObjects.UIA.UIA.__init__: allow the UIAElement's window handle to override the windowHandle argument as in some situations there was a contridiction between the window handle values, which caused some strangeness when navigating from one of these objects. Its still odd that getting a UIAelement from a window has a different windowHandle, but its better that we choose to use just one of them.
This seems to fix the issue where NVDA would not announce the dialog/caption for the UAC dialog sometimes... though not really sure.
James Teh [Fri, 10 Jun 2011 10:02:36 +0000 (20:02 +1000)]
Move comment to more appropriate place.
James Teh [Fri, 10 Jun 2011 09:07:16 +0000 (19:07 +1000)]
speech:
* getSpeechTextForProperties: Rename includeCoords to includeTableCellCoords for clarity and default it to True.
* speakObject: Fix error which caused table cell coordinates not to be reported when it should be and vice versa.
* getControlFieldSpeech: Don't return a space if reporting of table cell coordinates is disabled and there are no headers, which was breaking blank detection in speakTextInfo.
* Cosmetic fixes.
James Teh [Fri, 10 Jun 2011 08:47:16 +0000 (18:47 +1000)]
DocumentFormattingDialog: Change accelerator for Report table cell coordinates to o instead of c, as c conflicts with colours.
James Teh [Fri, 10 Jun 2011 08:46:07 +0000 (18:46 +1000)]
Rephrase What's New entry.
James Teh [Fri, 10 Jun 2011 07:49:01 +0000 (17:49 +1000)]
Initial code to make reporting of table cell coordinates configurable from Mesar Hameed.
Michael Curran [Fri, 10 Jun 2011 07:48:08 +0000 (17:48 +1000)]
NVDAObjects.window.edit.ITextdocumentTextInfo._getEmbeddedObjectLabel: It seems that Windows Live Mail still needs to use IDataObject.getData to get a useful label for its embedded objects, so reinstate that code, but only if we can't get useful text from display model. also it now just queryInterfaces directly to IDataObject rather than queryInterface to IOleObject and then calling getclipboardData.
Michael Curran [Fri, 10 Jun 2011 03:00:33 +0000 (13:00 +1000)]
Update what's new
Michael Curran [Fri, 10 Jun 2011 02:28:56 +0000 (12:28 +1000)]
Improve NVDA's support for announcing embedded objects in rich text. This most importantly allows NVDA to announce the recipiants in the To/CC/BCC fields in Microsoft Outlook. Specific changes:
* NVDAObjects.window.edit.ITextDocumentTextInfo: split out the code that tries to get a label for an embedded object in to its own _getEmbeddedObjectLabel method to make code cleaner.
* NVDAObjects.window.edit.ITextdocumentTextInfo: completely rewrite how we get a label for an embedded object. The rule is now: 1. try queryInterface to IAccessible on the embeded object and if successful use accName as the label. This works in MS Outlook 2007 and above. 2. Use displayModel to get the screen text within the bounding rectangle of the embedded object range. 3. QueryInterface to IOleObject and use getUserType to make the label. No longer at all try using IDataObject.getData and friends as it is too unpredictable and does not work everywhere.
So as said above: Outlook 2007 and above should use IAccessible::accName. Outlook Express / Outlook pre 2007 will use displayModel. And any other embedded object that does not actually have detectable screen text will use getUserType, which is a description of the object type (e.g. Outlook recipiant).
* NVDAObjects.window.edit.Edit.TextInfo: if the editAPI is greater than 1 and the window class name ends with 'PT' its safe to use ITextDocument, even if useITextDocumentSupport is false. Outlook uses RichEdit20WPT and probably other versions, but most likely they all end in PT.
Fixes #864.
James Teh [Fri, 10 Jun 2011 01:02:05 +0000 (11:02 +1000)]
speech: Stop reporting the read only state when it changes to positive except on editable text fields.
James Teh [Fri, 10 Jun 2011 00:55:46 +0000 (10:55 +1000)]
speech.processPositiveStates: Rather than using a condition which checks for a list of reasons, change the condition to check for any reason other than REASON_CHANGE, since this is probably more what we want and covers REASON_FOCUSENTERED as well. (REASON_QUERY has already been handled at this point.)
James Teh [Fri, 10 Jun 2011 00:45:31 +0000 (10:45 +1000)]
speech: Don't report submenu for combo boxes. Don't report collapsed/expanded for combo boxes unless explicitly queried.
James Teh [Thu, 9 Jun 2011 23:58:01 +0000 (09:58 +1000)]
speech.getControlFieldSpeech: Don't report descriptions if the user has disabled this.
James Teh [Thu, 9 Jun 2011 21:42:42 +0000 (07:42 +1000)]
User Guide: Further clarification of Flat Review reviewing objects inside objects.
James Teh [Thu, 9 Jun 2011 08:44:43 +0000 (18:44 +1000)]
Don't use the terms "first child" and "parent" with respect to object navigation, as these are confusing for many users. Instead, use container terminology.
James Teh [Thu, 9 Jun 2011 07:52:20 +0000 (17:52 +1000)]
Update What's New.
Michael Curran [Thu, 9 Jun 2011 08:35:22 +0000 (18:35 +1000)]
Outlook Express appModule: make sure the NVDAObject overlay class for supporting message rule checkboxes is only used for SysListview32 controls. It was previously not checking the window class and therefore was also being used for the ListBox control found in the Apply now dialog in the message rules dialog. This change means that NVDA will no longer class the rule list items in the apply now dialog as checkboxes. Thus, you can now just listen to their selected/not selected state to tell if they're active or not. The other checkboxes in the message rules dialog should continue to work appropriately. Completely fixes #576
Michael Curran [Thu, 9 Jun 2011 07:37:50 +0000 (17:37 +1000)]
UIA focus event handler: return if obj is None after NVDAObject instanciation. The other events already did this, just not focus.
Michael Curran [Thu, 9 Jun 2011 07:36:01 +0000 (17:36 +1000)]
UIATextInfo: support initializing with a position of all
Michael Curran [Thu, 9 Jun 2011 05:20:50 +0000 (15:20 +1000)]
Updated what's new
Michael Curran [Thu, 9 Jun 2011 05:16:28 +0000 (15:16 +1000)]
UIATextInfo: allow initializing with positions of first, last, and a UIATextInfo instance (what bookmark returns). also implement __eq__ so that bookmarks can be compared. finally also make textInfos.UNIT_READINGCHUNK to UIA's line unit. these changes allow for sayall to correctly work in UIA text fields that support all needed methods. E.g. its now possible to perform sayall with review cursor in xPS viewer.
James Teh [Thu, 9 Jun 2011 02:22:14 +0000 (12:22 +1000)]
User Guide and globalCommands: Clarify that flat review is just an object, not a mode.
Michael Curran [Thu, 9 Jun 2011 02:15:17 +0000 (12:15 +1000)]
speech dictionary entries dialog: address some issues noted in #357. specifically: Move the label for the entries list from beside it to above it, and make the first letter of the Edit button be uppercase to match the other buttons.
James Teh [Thu, 9 Jun 2011 01:30:49 +0000 (11:30 +1000)]
What's New: Add release blurb, fix typos/spelling errors.
Michael Curran [Thu, 9 Jun 2011 01:24:02 +0000 (11:24 +1000)]
Update what's new
Michael Curran [Wed, 8 Jun 2011 23:04:31 +0000 (09:04 +1000)]
espeak synthDriver: if an unknown variant is requested, choose max rather than none. Fixes #1548
Mesar Hameed [Wed, 8 Jun 2011 13:55:56 +0000 (14:55 +0100)]
Fixes bug(s): http://nvda-project.org/ticket/719
James Teh [Wed, 8 Jun 2011 09:19:03 +0000 (19:19 +1000)]
User Guide: Fix link for more info about Python Console, as it has now been moved to the Developer Guide.
Michael Curran [Wed, 8 Jun 2011 06:42:46 +0000 (16:42 +1000)]
speech.speakObject: states are now announced if the reason is focusEntered. this is especially useful if focus moves to a control inside a document that is busy, NVDA will now announce this fact.
Michael Curran [Wed, 8 Jun 2011 03:39:10 +0000 (13:39 +1000)]
VirtualBuffer.event_treeInterceptor_gainFocus: when announcing the document name, also announce states as well, so that busy is announced when the document is busy.
Michael Curran [Wed, 8 Jun 2011 02:05:40 +0000 (12:05 +1000)]
VBufBackend_t::cancelPendingUpdate: reset renderThreadTimerID to 0 after killing the timer. This will stop any possible pending updates from happening that were still possibly in the windows message queue after KillTimer was called. This more importantly also fixes a problem introduced by r4356 where after a text change and focus change happen in quick succession only focus changes will update the buffer after that point. E.g. after changing the value in a combo box, edit fields would never update their content again.
Michael Curran [Wed, 8 Jun 2011 00:43:35 +0000 (10:43 +1000)]
textInfos.offsets.OffsetsTextInfo._getLineNumFromOffset: return None instead of raising NotImplementedError. this is an optional method to implement and the code that uses it already checks for None. Stops errors when announcing lines in controls that use NVDAObjectTextInfo or other offset-based TextInfos that do not implement a _getLineNumFromOffset while report line numbers is enabled.
Michael Curran [Tue, 7 Jun 2011 23:18:52 +0000 (09:18 +1000)]
MSHTML NVDAObject: add a HTMLNodeUniqueNumber property, and use instead of HTMLNode.uniqueNumber / HTMLNode.uniqueID. As this will be cashed for the core cycle, this now will especially make equality checks of MSHTML NVDAObjects in loops faster (i.e. constnatly checking against rootNVDAObject in the MSHTML virtualBuffer).
Michael Curran [Tue, 7 Jun 2011 23:02:47 +0000 (09:02 +1000)]
Revert accidentilly committed code within r4392. Fixes #1552 and probably other things -- No MSAA annotation was being used so it seems
Michael Curran [Tue, 7 Jun 2011 22:46:48 +0000 (08:46 +1000)]
_UIAHandler.isNativeUIAelement: When looking at providerDescription to detect an MSAA proxy, use a regexp to look for either an Annotation or MSAA proxy. It seems that pretty much all MSAA proxy UIA elements will also be wrapped in an annotation proxy, except for menus, which use the standard MSAA proxy anyway. Its possible we may still need to add some extra names to this regexp in future. But we must be careful to not ad things like HWND or non-client as these are used even with native UIA elements. This fix seems to stop all the unwanted UI automation focus events
James Teh [Tue, 7 Jun 2011 07:44:24 +0000 (17:44 +1000)]
gecko_ia2 vbuf: For Gecko >= 2 (e.g. Firefox >= 4), allow the document to be rendered even if the busy state is set (i.e. it hasn't fully finished loading).
Unfortunately, this isn't safe in Gecko 1.9, as we don't receive events while the document is busy.
Michael Curran [Tue, 7 Jun 2011 06:41:32 +0000 (16:41 +1000)]
UI Automation support: make it again possible to run NVDA after preparing/building with out access to the UI Automation client library. This was done by moving UIAHandler.py to _UIAHandler.py, and then making a new UIAHandler.py which checks config as to whether it should use UIA or not, and if so then try to imports all of _UIAHandler in to its global namespace and set isUIAAvailable to true. Initialize and terminate are moved from _UIAHandler to UIAHandler, and initialize now throws NotImplementedError if isUIAAvailable is False, but other wize tries to create the handler etc. So for other modules using UIAHandler, the rule is, if isUIAAvailable then it is guaranteed that all constants, interfaces and code exists in UIAHandler. However, only if handler is not None, does it mean that UIA has actually been initialized.
Michael Curran [Tue, 7 Jun 2011 05:46:18 +0000 (15:46 +1000)]
UIAHandler.UIAHandler.isNativeUIAElement: improve logic to handle the situation where the element has been reparented in to a window that does not natively support UIA (i.e. controls in the IE9 downloads window).
Specifically: if the UIA element definitly has a window handle, then check that window handle to see if the window supports native UIA, and if so then its a native element. We used to use nearest window handle if the element itself did not have a window handle, but the issue was that the nearest window handle may not be native UIA when clearly the element itself was. If it does not have a window handle, instead look at its providerDescription property to see if its an MSAA proxy, and only treet the element as native if its not. Note that although we cannot detect the element's real window handle, its 99% sure that if the IAccessible it proxies fires an event, that event will come from the real (not reparented) window, and therefore IAccessibleHandler will filter out the event as it saw that window supported UIA natively. Fixes #1280.
James Teh [Tue, 7 Jun 2011 05:39:40 +0000 (15:39 +1000)]
What's New: Minor fixes.
James Teh [Tue, 7 Jun 2011 05:32:58 +0000 (15:32 +1000)]
User Guide: Browse Mode Quick Navigation: Clarify heading level commands.
James Teh [Tue, 7 Jun 2011 05:27:52 +0000 (15:27 +1000)]
User guide: Add further explanation to Flat Review section.
James Teh [Tue, 7 Jun 2011 04:50:19 +0000 (14:50 +1000)]
User Guide: Improve sections about Navigating with NVDA.
James Teh [Mon, 6 Jun 2011 11:25:07 +0000 (21:25 +1000)]
Fix minor knit in last commit; no functional change.
James Teh [Mon, 6 Jun 2011 11:06:50 +0000 (21:06 +1000)]
braille: Handle the case where an update causes a region to shrink or disappear entirely so that the start position of the window no longer exists.
BrailleBuffer.restoreWindow() no longer takes an ignoreErrors option and will never leave the window in a broken state. To facilitate this, regionPosToBufferPos() takes an allowNearest option to return the nearest position if the requested position does not exist.
Also fixed a bug in regionPosToBufferPos() so that allowNearest can work. :)
Michael Curran [Mon, 6 Jun 2011 07:43:30 +0000 (17:43 +1000)]
Fix typo
James Teh [Mon, 6 Jun 2011 03:58:02 +0000 (13:58 +1000)]
cosmetic: Remove unnecessary pass statements.
Michael Curran [Mon, 6 Jun 2011 02:03:10 +0000 (12:03 +1000)]
Fix for #1455 (Hyphenated words reported incorrectly in standard Windows Edit controls). for now just revert changeset:main,4148 as although this was correct for XP edit controls with out uniscribe support, it was incorrect for all later Operating systems and most likely xP with unicscribe support (east asian language pack installed). An alternative way this could be implemented in the future is to first detect whether uniscribe is being used (not sure how), and if it is, then use ScriptItemize / ScriptBreak to generate an array of script logic attribute structures, and check for which characters allow word stop on. We could also consider using this inside offsetstextInfo at a low level so that virtualBuffers can make use of better word navigation.
Michael Curran [Sun, 5 Jun 2011 11:51:52 +0000 (21:51 +1000)]
If the OS supports it, detect windows that have a ghost window (they have hung) and skip them when navigating by window, when checking for a higher API on Window NVDAObjects, and when processing MSAA winEvents. This will stop some lags / freezes when navigating top-level windows with object navigatin while a window has hung. It may also stop some other freezes as UIAHasServerSideProvider also would freeze on this ghosted windows.
Michael Curran [Sun, 5 Jun 2011 11:34:50 +0000 (21:34 +1000)]
IAccessibleHandler: add a useful utility function 'isMarshalledIAccessible' which can tell if the given IAccessible COM object is marshalled or local. It does this by looking at the location of its IUnknown::AddRef (first function in its vtable). If its located in oleacc.dll then its a local IAccessible proxy, if its located in ole32.dll, then its marshalled
James Teh [Mon, 6 Jun 2011 00:12:51 +0000 (10:12 +1000)]
gecko_ia2 vbuf backend: Handle the encoded accDescriptions used in Gecko 1.
Fixes reporting of encoded position info when reporting focus/quick navigation in browse mode; e.g. "l1" for heading level 1.
Fixes #1542.
James Teh [Fri, 3 Jun 2011 11:45:07 +0000 (21:45 +1000)]
Fix misspellings of "NonVisual Desktop Access".
Fixes #1215.
James Teh [Fri, 3 Jun 2011 11:33:28 +0000 (21:33 +1000)]
service: Change display name to "NVDA", as we don't use the unabbreviated name as the product name anywhere else and it presents localisation issues.
James Teh [Fri, 3 Jun 2011 11:16:33 +0000 (21:16 +1000)]
service: Fix cases where handles were closed twice and some where handles weren't closed at all.
The former caused the service to crash intermittently, while the latter probably caused a slight memory leak.
To make this easier (and to avoid similar mistakes in future), create an AutoHANDLE class which closes the handle automatically when the object is no longer in use.
Peter Vágner [Fri, 3 Jun 2011 09:14:20 +0000 (11:14 +0200)]
Updated the list of contributors
Peter Vágner [Fri, 3 Jun 2011 07:37:52 +0000 (09:37 +0200)]
QT: code cleaning QT table columns support