OSDN Git Service
Michael Curran [Mon, 1 Aug 2011 02:37:11 +0000 (12:37 +1000)]
launcher: replace missing product define with nvda
Michael Curran [Mon, 1 Aug 2011 02:03:15 +0000 (12:03 +1000)]
If NVDA is started from the launcher, let the launcher handle NVDA restarts rather than NVDA itself. Specifically:
* The launcher passes a --launcher argument to NVDA to let NVDA know that its been started by the launcher.
* core.restart: if started by the launcher, just stop the wx mainloop and set globalVars.exitCode to 2 to denote restart.
* nvda.pyw: at the very end, specifically call sys.exit, and give it a code of globalVars.exitcode.
* Launcher: if the exit code of NVDA is 2, then loop back around restarting NVDA again.
Michael Curran [Mon, 1 Aug 2011 01:06:34 +0000 (11:06 +1000)]
setup.py: build an nvda_uiAccess.exe that always has its uiAccess set to true. sconstruct: also sign nvda_uiAccess.exe. Once we replace the nsis installer, then the --enable-uiAccess argument and related code can be removed from setup.py and sconstruct but now still used by dist_installler
Michael Curran [Mon, 1 Aug 2011 00:40:14 +0000 (10:40 +1000)]
Added an nsis-based NVDA portable launcher, based on both the NVDA cd launcher and installer code.
This launcher is a single executable, which automatically self-extracts and runs a portable version of NVDA.
To build the launcher, for now run scons launcher.
Currently its very basic. Eventually support for restarting NVDA, playing a sound while extracting could be added.
Eventually launcher will replace portable, and the installer will be built into NVDA removing the need for the NSIS installer.
James Teh [Tue, 26 Jul 2011 07:06:07 +0000 (17:06 +1000)]
Merge 2011.2.
James Teh [Tue, 26 Jul 2011 05:08:44 +0000 (15:08 +1000)]
Minor change to What's New.
James Teh [Tue, 26 Jul 2011 05:01:58 +0000 (15:01 +1000)]
Update What's New.
Michael Curran [Tue, 26 Jul 2011 03:59:13 +0000 (13:59 +1000)]
MSHTML VBufBackend: look at IHTMLCurrentStyle::listStyleType to choose whether numbering, bullets, or nothing, should be added to the buffer before a list item. Previously this was decided simply by the tag name. This is a partial fix for #1671 where NVDA was rendering bullets or numbers for list items with the list-style-type style set to none. This includes Google results.
Peter Vágner [Mon, 25 Jul 2011 10:52:27 +0000 (12:52 +0200)]
Updated hebrew language file,
Updated finnish language file and user guide.
Peter Vágner [Mon, 25 Jul 2011 07:26:57 +0000 (09:26 +0200)]
Added changes in vietnamese,
Updated brazilian portuguese symbols, user guide and changes,
Updated turkish symbols,
Updated finnish changes.
Michael Curran [Mon, 25 Jul 2011 07:25:56 +0000 (17:25 +1000)]
Mozilla IAccessible NVDAObject: support the level attribute exposed via IAccessible2::attributes as part of positionInfo. This allows heading levels to be reported with object navigation.
Michael Curran [Fri, 22 Jul 2011 23:41:48 +0000 (09:41 +1000)]
MSHTML vbufBackend: Fix for #1685. HTML elements with a display style of None no longer cause line breaks in browse mode. We do add these elements to the buffer, but never give them any content. This is so we can still get events where the display style changes to not None. But previously these nodes were set as block nodes. Now they are not -- thus now being completely hidden, even from line calculation. Tested on radikal.com.tr/Default.aspx?aType=RadikalYazar&ArticleID=
1057171&Yazar=EZG%DD%20BA%DEARAN&Date=22.07.2011&CategoryID=96
Michael Curran [Fri, 22 Jul 2011 23:18:06 +0000 (09:18 +1000)]
MSHTML VBufBackend: fix for #1688. Only check the notAllWhitespace variable to see if the textNode content should be ignored if we're not allowing preformatted text.
James Teh [Thu, 21 Jul 2011 21:15:51 +0000 (07:15 +1000)]
English User Guide: Fix syntax error I accidentally introduced a while ago. Fixes broken Newfon heading.
Fixes #1683.
Michael Curran [Wed, 20 Jul 2011 23:31:11 +0000 (09:31 +1000)]
VirtualBufferTextInfo._getTextRange: fix two very small bugs where arrowing by character or word in a blank virtualBuffer would say nothing (not even blank) due to an exception. Simply make sure that an empty unicode string is returned from the method if no text can be retreaved.
Peter Vágner [Wed, 20 Jul 2011 07:33:17 +0000 (09:33 +0200)]
Updated spanish user guide, changes and symbols,
Updated galician user guide, changes and symbols,
Updated finnish language file, characters descriptions and symbols.
Michael Curran [Wed, 20 Jul 2011 03:16:23 +0000 (13:16 +1000)]
MSHTML VBufBackend: improve the code that tries to strip unneeded whitespace that appears in IE9 documents by making sure that whitespace is only stripped from the left if this is the first textNode in a block node.
This means it will no longer incorrectly remove the space that appears in a sentence straight after a link. The code however will always still collapse all remaining whitespace down to one single space, and also completely remove content that only has whitespace and nothing else.
The example document that showed this problem was: http://en.wikipedia.org/wiki/Big_Joe_Turner
The problem is in the intro paragraph.
Michael Curran [Tue, 19 Jul 2011 06:41:18 +0000 (16:41 +1000)]
OffsetsTextInfo._getWordPOffsets: convert NULL and non-break space both to space before searching for word break offsets. These two characters are not classed as word breaks by uniscribe, but its probably better that they are. Especially for displayModel where we use NULL to delimit text chunks. Fixes #1663
Peter Vágner [Mon, 18 Jul 2011 10:16:53 +0000 (12:16 +0200)]
Added vietnamese user guide,
Updated vietnamese language file.
Peter Vágner [Fri, 15 Jul 2011 13:30:07 +0000 (15:30 +0200)]
Merged updates from arabic and dutch teams
Peter Vágner [Fri, 15 Jul 2011 13:23:34 +0000 (15:23 +0200)]
Updated brazilian portuguese changes.
Updated slovak language file.
Mesar Hameed [Fri, 15 Jul 2011 10:36:40 +0000 (11:36 +0100)]
Updated Duch nvda.po langstrings,, added symbols.dic added changes.t2t removed whats new.txt. Translations provided by Bram Duvigneau
Mesar Hameed [Fri, 15 Jul 2011 10:15:00 +0000 (11:15 +0100)]
updated Arabic symbols.dic nvda.po changes and userguide from arabic translation team.
Peter Vágner [Thu, 14 Jul 2011 08:17:29 +0000 (10:17 +0200)]
Added language strings for the NVDA installer
Peter Vágner [Thu, 14 Jul 2011 08:00:44 +0000 (10:00 +0200)]
Added danish symbols,
Updated french language file and changes.
Peter Vágner [Tue, 12 Jul 2011 20:55:38 +0000 (22:55 +0200)]
Updated turkish language file and user guide.
Peter Vágner [Tue, 12 Jul 2011 20:52:31 +0000 (22:52 +0200)]
Updated french language file, symbols, user guide and changes,
Updated finnish user guide and changes
Updated croatian language file,
Added translated licence into brazilian portuguese,
Updated brazilian portuguese language file, user guide and changes.
Peter Vágner [Mon, 11 Jul 2011 06:49:51 +0000 (08:49 +0200)]
Updated french language file, symbols, user guide and changes,
Updated finnish user guide and changes
Updated croatian language file,
Added translated licence into brazilian portuguese,
Updated brazilian portuguese language file, user guide and changes.
James Teh [Mon, 11 Jul 2011 02:44:58 +0000 (12:44 +1000)]
Bump version to 2011.3dev.
Aleksey Sadovoy [Sat, 9 Jul 2011 15:08:52 +0000 (18:08 +0300)]
Updated Russian and Ukrainian language files and symbols, added Ukrainian character descriptions.
James Teh [Fri, 8 Jul 2011 09:16:25 +0000 (19:16 +1000)]
What's New: Add mention of new NVDA languages.
James Teh [Fri, 8 Jul 2011 09:07:15 +0000 (19:07 +1000)]
Updated MDV Lilli braille display driver. Requires updated lilli.dll.
Fixes #241.
Peter Vágner [Fri, 8 Jul 2011 08:40:17 +0000 (10:40 +0200)]
Added albanian language file, symbols, characters descriptions and user guide by Gezim Rexha,
Updated spanish language file,
Updated galician language file,
Updated brazilian portuguese user guide and changes.
Michael Curran [Fri, 8 Jul 2011 05:53:47 +0000 (15:53 +1000)]
Fix for #1285 (focus tracking in Outlook 2010 message list):
* Add the 'SUPERGRID' window class to the list of BAD UIA implementations. We must resort to MSAA for the Outlook 2010 message list as it 1. does not fire a UIA focus event on each item, and 2. does not set the focused state on the focused item.
* Create a new overlay class in the outlook appModule to handle the client of SUPERGRID, and override its isDuplicateIAccessibleEvent method, always returning false. This is because when the focus moves from message to message, the same focus winEvent is fired, on the client (OBJID_CLIENT,0), but that particular MSAA object keeps mutating itself. Therefore we can not filter out duplicate events.
James Teh [Thu, 7 Jul 2011 08:15:56 +0000 (18:15 +1000)]
Developer Guide: Actually, the heading wasn't missing. It just wasn't showing up as a heading due to an earlier syntax error. So, fix the syntax error.
James Teh [Thu, 7 Jul 2011 07:43:55 +0000 (17:43 +1000)]
User Guide: Add section about advanced customisation of symbol pronunciation, mostly referring to the Developer Guide.
Michael Curran [Thu, 7 Jul 2011 07:14:35 +0000 (17:14 +1000)]
IAccessible NVDAObject's children property: the dictionary from getIAccIdentity sometimes may not contain objectID, if its a menu handle instead of a windowHandle. So use dict.get for objectID and childID instead of subscript syntax.
James Teh [Thu, 7 Jul 2011 04:44:07 +0000 (14:44 +1000)]
Developer Guide: Add missing heading.
Michael Curran [Thu, 7 Jul 2011 04:22:57 +0000 (14:22 +1000)]
Update what's new
Michael Curran [Thu, 7 Jul 2011 04:07:59 +0000 (14:07 +1000)]
Fix for #574 (Freeze when opening Windows Live Mail Move to and Copy to dialogs) plus any other IAccessible implementation that may use ROLE_SYSTEM_WINDOW on a client or other non-windowRoot object:
* Move the special code in IAccessible NVDAObject's next, previous and parent properties that did something specific for the windowRoot (i.e. used Window NVDAObject's navigation properties instead) to newly implemented navigation properties on the WindowRoot IAccessible NVDAObject class.
* IAccessible NVDAObject's children property: when checking if a child is a WindowRoot IAccessible object, instead of just using accRole, instead use IAccIdentity to check for an objectID of 0 and childID of 0.
* IAccessible NVDAObject's findOverlayClasses: only choose to use WindowRoot if the objectID is 0 (previously it checked for either 0 or None).
These changes make sure that WindowRoot code is only used for real windowRoot IAccessibles provided by oleacc, as opposed to also any IAccessible that happened to have a role of window.
In the Windows Live Mail dialog case: there were one or more client IAccessibles with an accRole of ROLE_SYSTEM_WINDOW and therefore object navigation was getting confused and looping back to a parents next/previous, and getDialogText was going in to endless recursion as children kept returning children of that window's client.
James Teh [Thu, 7 Jul 2011 03:10:00 +0000 (13:10 +1000)]
Add translators comment for "on {backgroundColor}" message.
James Teh [Thu, 7 Jul 2011 03:04:08 +0000 (13:04 +1000)]
Fix translation of "on {backgroundColor}" in languages ar_sa, he, it.
James Teh [Thu, 7 Jul 2011 01:33:32 +0000 (11:33 +1000)]
Fix translation of "on {backgroundColor" in languages gl, pt_br and pt_pt. Fixes report formatting command with these languages.
Fixes #1653.
Peter Vágner [Wed, 6 Jul 2011 10:05:21 +0000 (12:05 +0200)]
Updated finnish language file and changes.
Peter Vágner [Wed, 6 Jul 2011 07:34:11 +0000 (09:34 +0200)]
Updated spanish language file, symbols, user guide and changes,
Updated finnish language file and changes,
Updated brazilian portuguese changes,
Updated italian language file.
James Teh [Wed, 6 Jul 2011 07:19:49 +0000 (17:19 +1000)]
UIAHandler.isNativeUIAElement: Don't assume all MSAA proxies are not native UIA. Instead, check whether the nearest window claims to natively support UIA.
This is because some controls implement UIA at their root but then use MSAA proxies beneath. We still want to use UIA in these cases, as MSAA ignores events for all windows which natively support UIA.
Among other things, this fixes the lists in the Windows 7 Firewall and Default Programs control panels.
Michael Curran [Wed, 6 Jul 2011 02:09:28 +0000 (12:09 +1000)]
nvdaInProcUtils_winword_expandToLine: use sendMessageTimeout rather than sendMessage to make sure the RPC call does not block if MS word's main thread is frozen.
Michael Curran [Wed, 6 Jul 2011 00:49:01 +0000 (10:49 +1000)]
Allow NVDA to again read lines in MS Word when running with UIAccess (installer version that is signed running on Vista/7). The specific problem was that ObjectFromLresult cannot be called from a lower-privilage process given an LResult from a higher-privilage process. In this case MS Word was the lower, and NVDA was the higher. Instead of passing the MS Word range with LresultFromObject/ObjectFromLresult via a window message, now pass the start offset of the range, and get back start and end offsets for the line. However as a window message is not big enough to carry this amount of info, add an nvdaInProcUtils RPC interface, with a winword_expandToLine method, which takes an offset, and gives back line start and end offsets, by internally using that same window message and a struct in-process.
James Teh [Tue, 5 Jul 2011 07:20:33 +0000 (17:20 +1000)]
Spanish messages: Fix error which caused report formatting command to fail.
Fixes #1621.
James Teh [Tue, 5 Jul 2011 05:31:58 +0000 (15:31 +1000)]
braille: Add tables: Slovene grade 1, Serbian grade 1.
James Teh [Mon, 4 Jul 2011 08:13:54 +0000 (18:13 +1000)]
Fix documentation of nvdaHelperDebugFlags in source readme and add entry to What's New.
Peter Vágner [Mon, 4 Jul 2011 08:07:03 +0000 (10:07 +0200)]
Updated finnish symbols and changes,
Updated french language file and changes,
Added brazilian portuguese changes, updated brazilian portuguese user guide.
James Teh [Mon, 4 Jul 2011 06:23:34 +0000 (16:23 +1000)]
sconstruct: Accept certTimestampServer variable specifying the URL of a timestamping server to use to timestamp authenticode signatures.
Fixes #1644.
Michael Curran [Mon, 4 Jul 2011 06:05:25 +0000 (16:05 +1000)]
WLM appModule: when opening a plain text message in Windows Live Mail 2011, focus is now correctly placed on the message document so that it can be read. For some odd reason Windows Live Mail itself is not automatically moving focus there.
James Teh [Mon, 4 Jul 2011 05:17:46 +0000 (15:17 +1000)]
Remove the Microsoft Excel Cell Editor dialog for good, as it can't display dates and other formatted values correctly.
The cell edit field can now be read and navigated anyway.
Fixes #1636.
James Teh [Mon, 4 Jul 2011 04:54:34 +0000 (14:54 +1000)]
What's New: Tiny fix.
Michael Curran [Mon, 4 Jul 2011 04:15:19 +0000 (14:15 +1000)]
Do not ever use UI Automation for the SysMonthCal32 calendar control as its UI Automation implementation is very broken. This not only fixes #1637 but also provides the same support for this control in Windows 7 as was found in Windows Vista (i.e. pressing the arrow keys and changing the date has NVDA announce the new date).
James Teh [Mon, 4 Jul 2011 02:09:58 +0000 (12:09 +1000)]
braille: Add Ethiopic grade 1 table.
James Teh [Mon, 4 Jul 2011 00:55:05 +0000 (10:55 +1000)]
Update What's New.
Michael Curran [Sun, 3 Jul 2011 21:38:39 +0000 (07:38 +1000)]
eSpeak synth driver: reset lastIndex to None when speech is canceldd. Also move some code in the eSpeak callback so that if speech has been stopped the callback will return as soon as possible. This is partly to make sure that no last indexes accidentily get set after the last index was reset to None.
Michael Curran [Sun, 3 Jul 2011 21:31:51 +0000 (07:31 +1000)]
sayAllHandler.readTextHelper_generator: when checking if the receivedIndex has changed: treet the index as not having been changed if lastReceivedIndex is 0 and receivedIndex is None.
Michael Curran [Sun, 3 Jul 2011 21:29:15 +0000 (07:29 +1000)]
SAPI5 synth driver's lastIndex property: return None rather than -1 when there is no real index to return.
Michael Curran [Sun, 3 Jul 2011 21:28:17 +0000 (07:28 +1000)]
sapi4 synthDriver: reset lastIndex to None when ever speech is canceled.
Michael Curran [Sun, 3 Jul 2011 20:16:39 +0000 (06:16 +1000)]
UIA NVDAObject: override the devInfo property to add info such as UIA automationID, className, providerDescription, frameworkID and runtimeID.
Michael Curran [Fri, 1 Jul 2011 04:26:04 +0000 (14:26 +1000)]
More MS Word TextInfo / sayAll fixes:
* MS Word TextInfo's move method: only do the last offset sanity check if the start is actually going to be moved (endPoint="end" wouldn't move the start).
* MS Word TextInfo's collapse method: if collapsing to the end, make sure that range.end did not go backwords (trying to collapse to end when the range covers the end of the document would do this) but if it does occure, raise RuntimeError.
* sayAllHandler.readTextHelper_generator: when calling collapse(end=True) catch RuntimeError, doing a final speakWithoutPauses pump and set keepReading to False -- collapse to end now may not work when the end of the range is at the end of the document.
Michael Curran [Fri, 1 Jul 2011 03:35:13 +0000 (13:35 +1000)]
MS Word TextInfo's move method: when the range is on the last offset in the document (insertion point) expanding to units larger than character or word makes the range include both this insertion point and the real unit before it. However move/moveEnd/moveStart when called from a range directly behind incorrectly stops on this insertion point. Therefore if move seems to stop here, and the unit was larger than character/word and the direction is forward, then make mvoe fail. This allows navigating an MS Word document with the review cursor correctly announce bottom when it hits the bottom, and also allows sayAll (both review and system caret) to work properly when the last sentence in the document does not end properly.
James Teh [Fri, 1 Jul 2011 01:57:02 +0000 (11:57 +1000)]
VirtualBuffer.terminate: Gracefully handle the case where the app module is dead.
Michael Curran [Thu, 30 Jun 2011 10:52:14 +0000 (20:52 +1000)]
MSHTML NVDAObject's event_caret: its posible for makeTextInfo position_caret to raise RuntimeError if the object the event is for is not really the MSHTML selection (i.e. caret moves but the focus is not actually on the selected object). Just return early if this happens
Michael Curran [Thu, 30 Jun 2011 09:43:14 +0000 (19:43 +1000)]
MS Word TextInfo's collapse method: MS Word's collapse does support collapsing to end, its just that end is 0 and start is 1, as opposed to our end=True (1). Therefore use MS Word's actual collapse rather than coding our own.
Michael Curran [Thu, 30 Jun 2011 05:10:53 +0000 (15:10 +1000)]
Microsoft Word support: move the code that detects line offsets in-process, via a window message handled by nvdaHelperRemote. Now screen updating is disabled, the selection is moved to the given range, expanded to line, the given range is moved to cover the line, the selection is moved back to where it was, and the screen updating is renabled. All of this in-process meaning most likely a major performance boost, but most importantly, all of this is done in-context, without any other input able to interupt it. The complex rules about when the expandToLineAtCaret code could be used has been removed (i.e. its used any time the line at the caret should be detected, not just if braille is not enabled). This means that both braille and speech share this same code, and its much more accurate. This fixes #1603, and I'm hoping should fix #627.
Tested with Office 2010 and Office 2003.
Michael Curran [Thu, 30 Jun 2011 05:08:53 +0000 (15:08 +1000)]
oleacc.LresultFromObject: rewrite to actually work... obviously this function has never been used before.
James Teh [Thu, 30 Jun 2011 05:02:22 +0000 (15:02 +1000)]
VirtualBuffer: When changing pages in IE (and perhaps other cases), the buffer is cleared before we call terminate() and the caret position is set to 0 accordingly, which means that we always remember the last caret position as being the top of the page.
Therefore, save the last caret position when the caret is moved by the user or an event (in _set_selection) and remember that when terminating.
Fixes remembering of the last position on pages in IE.
Fixes #1604.
James Teh [Thu, 30 Jun 2011 02:35:07 +0000 (12:35 +1000)]
MSHTML NVDAObject caret event: Return if fired on an object which doesn't use MSHTMLTextInfo, as it is useless in this case.
Michael Curran [Wed, 29 Jun 2011 04:10:17 +0000 (14:10 +1000)]
MSHTML NVDAObject's event_caret: ignore the event if the caret has not moved (compair MSHTML TXT range bookmarks of the selection). It seems that IE9 keeps firing redundant winevents for the caret even if the caret has not moved. This improves performance in MSHTML edit controls while using braille, and also stops the review cursor from constantly bouncing back to the caret all the time.
Michael Curran [Tue, 28 Jun 2011 23:37:09 +0000 (09:37 +1000)]
Mozilla IAccessible NVDAObject's parent property: when testing if the IAccessible2 we got from nodeChildOf has a valid windowHandle, also catch AttributeError as it seems that sometimes something that is not an IAccessible2 can be returned.
James Teh [Tue, 28 Jun 2011 11:17:53 +0000 (21:17 +1000)]
UIAHandler: Make the MTA thread a daemon thread just to be safe, even though it shouldn't be necessary.
James Teh [Tue, 28 Jun 2011 07:16:59 +0000 (17:16 +1000)]
typo
James Teh [Tue, 28 Jun 2011 07:06:44 +0000 (17:06 +1000)]
English symbols: Add entry for "...", treating it the same as a Unicode ellipsis.
James Teh [Tue, 28 Jun 2011 07:05:27 +0000 (17:05 +1000)]
SpeechSymbolProcessor: Sort simple symbols longest first so that longer symbols get matched.
James Teh [Tue, 28 Jun 2011 06:32:26 +0000 (16:32 +1000)]
Update What's New.
Peter Vágner [Mon, 27 Jun 2011 10:42:00 +0000 (12:42 +0200)]
Fixed galician language file.
Peter Vágner [Mon, 27 Jun 2011 09:19:03 +0000 (11:19 +0200)]
Updated turkish language file, user guide and symbols
Peter Vágner [Mon, 27 Jun 2011 07:00:11 +0000 (09:00 +0200)]
Updated danish language file,
Updated polish symbols,
Updated brazilian portuguese language file and characters descriptions.
Peter Vágner [Fri, 24 Jun 2011 20:16:12 +0000 (22:16 +0200)]
Updated italian characters descriptions, symbols and user guide.
Peter Vágner [Fri, 24 Jun 2011 07:35:50 +0000 (09:35 +0200)]
Added bulgarian language file, characters descriptions, symbols and user guide by Zahari Yurukov and rumiana kamenska
Michael Curran [Fri, 24 Jun 2011 04:32:53 +0000 (14:32 +1000)]
Update what's new
Michael Curran [Fri, 24 Jun 2011 04:27:53 +0000 (14:27 +1000)]
synthDriverHandler.loadSettings: handle the fact that voice could be missing from the synth's existing config. Not sure why, but possibly from an older broken NVDA. Note that the config is validated only inside changeVoice, or if the section never existed, but its not validated when voice is fetched. Fixes #1599
Michael Curran [Fri, 24 Jun 2011 00:34:09 +0000 (10:34 +1000)]
Gecko vbufBackend: do not force the childCount of nodes with role_unknown to 0, instead just add a space to the buffer inside the node if its length is still 0 after trying to render in every other way. This is to make sure that NVDA can still render content within nodes marked with an aria role of presentation, but are also focusable. It seems that Gecko does not filter out nodes with presentation if they are focusable, but does set their role to unknown. related mozillaBug:666504.
Peter Vágner [Thu, 23 Jun 2011 05:05:43 +0000 (07:05 +0200)]
Updated turkish language file and user guide,
Updated brazilian portuguese language file and user guide,
Updated french language file, symbols and user guide,
Updated finnish language file, symbols, user guide and changes.
Michael Curran [Thu, 23 Jun 2011 01:12:48 +0000 (11:12 +1000)]
EditTextInfo._getWordOffsets: rewrite the code used in XP so that its bounded to the line of the given offset, and also extend past whitespace at the beginning of a line. This *should* make Notepad in XP more normal again.
Michael Curran [Wed, 22 Jun 2011 09:58:24 +0000 (19:58 +1000)]
Revert changeset:main,4468 as it seems that we do need selectionWithin events for Mozilla Gecko (probably in grids when a cell is selected but the row has the focus). Fixes #1600
Michael Curran [Wed, 22 Jun 2011 09:32:13 +0000 (19:32 +1000)]
Installer: apply patch from ticket #1596 which forces zh_HK to zh_TW as zh_HK seems to use an incorrect encoding on Vista/7. Also provide a comment above the fixes, and update what's new.
Michael Curran [Wed, 22 Jun 2011 06:40:12 +0000 (16:40 +1000)]
OffsetsTextInfo._getwordOffsets: for some odd reason uniscribe decides to suggest that words should break pretty much on all characters, as long as the string does not contain two or more alphanumeric characters. This is contradictory to Windows edit control behaviour, plus it is inconsistant as if the string did contain the extra characters then the behaviour would be completely different for the rest of the line. Because of this, add two fake alphanumeric characters to the end of the string passed to calculatewordOffsets, but make sure that the endOffset given back does not pass the real end of the line.
Michael Curran [Wed, 22 Jun 2011 04:14:27 +0000 (14:14 +1000)]
EditTextInfo's _getWordOffsets: on Vista/7 apart from specially handling cariage return / line feed, just call super (useOffsetTextInfo's _getwordOffsets) so that uniscribe is used to calculate the word offsets, as this is what edit controls in Vista/7 do. On XP though, again go back to the code that breaks words only on whitespace. This (again) gets rid of the slow and faulty code that physically moved the caret in order to guess the word offsets. Howver the one case that is not yet handled is XP with east asian languages installed... if we can find a way to detect this, than super should be used in this case as well. Fixes #1580. But also recauses #1455 for XP with east asian language support.
Michael Curran [Wed, 22 Jun 2011 03:37:27 +0000 (13:37 +1000)]
nvdaHelperLocal: add a calculateWordOffsets function which uses uniscribe to find the start and end of the word at the given offset in the given text. Using uniscribe allows for great accuracy for many languages, rather than relying on simply breaking on non-alphaNumeric characters. OffsetsTextInfo._getWordOffsets now makes use of calculatewordOffsets rather than the old findStartOfWord/findEndOfWord. However, this can be disabled at a class or instance level by setting the useUniscribe boolean to False. The older method is also used if calculatewordOffsets fails for some reason. As OffsetsTextInfo is used in many places in NVDA (including virtualBuffers), moving/reviewing by word in these situations will be greatly improved. May fix #456 (Thai word segmentation in virtualBuffers).
James Teh [Wed, 22 Jun 2011 02:42:45 +0000 (12:42 +1000)]
English symbols: Add display name for null character.
James Teh [Wed, 22 Jun 2011 02:35:05 +0000 (12:35 +1000)]
English symbols:
* Preserve colon if not replacing. In practical terms, this means that times will be spoken correctly at levels none and some.
* Move currency symbols to level all and preserve them if not replacing. This means that currency speaking will be handled by the synth at levels below all.
* Add a rule to handle negative numbers at level none.
James Teh [Tue, 21 Jun 2011 10:19:40 +0000 (20:19 +1000)]
UIAHandler.terminate: Close the thread handle after we're finished with it. I doubt this matters, but it's best to be safe.
Michael Curran [Tue, 21 Jun 2011 10:01:21 +0000 (20:01 +1000)]
MSHTMLTextInfo: remove some code added in changeset:main,2909 which apparently got around a bug in IHTMLTxtRange where the caret at the end of an edit field would seem to be before the start. This has been causing #1590 for a long time, and I also can't seem to work out how to reproduce the original issue. Its also possible that the code has changed since then thus making this code redundant. Removing for now but any weirdness should be watched out for after this commit. Fixes #1590
Peter Vágner [Tue, 21 Jun 2011 09:21:55 +0000 (11:21 +0200)]
Updated spanish language file,
updated galician language file,
updated portuguese language file,
Updated polish symbols,
Updated turkish language file and user guide.