OSDN Git Service
Michael Curran [Wed, 30 Jan 2013 01:16:45 +0000 (11:16 +1000)]
Converted source/generateComInterfaces.py to an sconscript file (source/comInterfaces_sconscript).
Michael Curran [Tue, 29 Jan 2013 19:22:09 +0000 (05:22 +1000)]
Fix for #2929 (NVDA makes Firefox crash on audioboo.com). Specifically: for IA2LiveRegions code in NVDAHelper: when looping through the variant array from AccessibleChildren, just because a variant was marked as VT_DISPATCH, don't assume that pdispVal is not NULL -- check it first. Also made this change in Gecko VBufBackend, though it was the IA2LiveRegions one that always caused the actual crash.
Michael Curran [Mon, 28 Jan 2013 19:42:09 +0000 (05:42 +1000)]
Fix for #2951 - typing uppercase text into the Filter By field for the elements list in Browse mode now returns case-insenstive results the same as lowercase does, rather than nothing at all.
Michael Curran [Mon, 28 Jan 2013 19:28:35 +0000 (05:28 +1000)]
Added two new options to keyboard settings: interrupt speech for typed characters (on by default), and interrupt speech for Enter key (on by default). Fixes #698.
James Teh [Fri, 25 Jan 2013 01:18:58 +0000 (11:18 +1000)]
Support for input of computer braille for braille displays which have a braille keyboard.
Not all drivers implement this yet. Hopefully, they will eventually.
Fixes #808.
James Teh [Fri, 25 Jan 2013 01:15:12 +0000 (11:15 +1000)]
Merge main.
James Teh [Tue, 22 Jan 2013 02:39:17 +0000 (12:39 +1000)]
Move some module docstrings to the top of the module so they actually show up as module docstrings. There are probably a few more that need fixing.
James Teh [Tue, 22 Jan 2013 02:32:24 +0000 (12:32 +1000)]
Fix encoding error that was breaking Epydoc.
James Teh [Mon, 21 Jan 2013 07:04:55 +0000 (17:04 +1000)]
Dev docs building changes:
* Exclude nvdaHelper from scons devDocs and instead create a separate devDocs_nvdaHelper target, since this is very complex internal stuff that most developers aren't interested in.
* Add info about Epydoc dependency to the source readme.
Fixes #2421.
James Teh [Sun, 20 Jan 2013 22:55:47 +0000 (08:55 +1000)]
Merge main.
Halim Sahin [Sun, 20 Jan 2013 20:09:12 +0000 (06:09 +1000)]
papenmeier driver: Correct dn and dn2 keys.
Fixes #2932.
Halim Sahin [Sun, 20 Jan 2013 20:04:26 +0000 (06:04 +1000)]
Fixes to Papenmeier serial documentation.
Marlin Rodrigues [Sat, 19 Jan 2013 08:16:33 +0000 (09:16 +0100)]
Brazilian Portuguese (pt_BR):
userGuide.t2t matching 5745
from translation svn:7546
Mesar Hameed [Sat, 19 Jan 2013 07:16:39 +0000 (08:16 +0100)]
add Russian contributor.
Mesar Hameed [Sat, 19 Jan 2013 04:33:11 +0000 (05:33 +0100)]
Fix two spelling mistakes, Translators please ignore.
Fixes #2930.
Cagri Dogan [Tue, 15 Jan 2013 18:25:08 +0000 (19:25 +0100)]
Turkish (tr):
userGuide.t2t matching 5745
changes.t2t matching 5745
nvda.po matching 100% of main:5745
from translation svn:7439
Jani Kinnunen [Tue, 15 Jan 2013 18:24:40 +0000 (19:24 +0100)]
Finnish (fi):
userGuide.t2t matching 5745
from translation svn:7439
vgjh2005@gmail.com [Tue, 15 Jan 2013 07:11:45 +0000 (08:11 +0100)]
Simplified Chinese (zh_CN):
nvda.po matching 99% of main:5745
from translation svn:7428
Mesar Hameed [Tue, 15 Jan 2013 07:11:09 +0000 (08:11 +0100)]
Russian (ru):
userGuide.t2t
nvda.po matching 100% of main:5745
from translation svn:7428
Authors: Beqa Gozalishvili <beqaprogger@gmail.com>, ruslan <ru2020slan@yandex.ru>
Cagri Dogan [Tue, 15 Jan 2013 07:10:29 +0000 (08:10 +0100)]
Turkish (tr):
userGuide.t2t matching 5680
changes.t2t matching 5729
nvda.po matching 99% of main:5745
from translation svn:7428
Dinakar T.D. [Tue, 15 Jan 2013 07:10:06 +0000 (08:10 +0100)]
Tamil (ta):
userGuide.t2t matching 5745
nvda.po matching 100% of main:5745
from translation svn:7428
Jozko Gregorc [Tue, 15 Jan 2013 07:09:48 +0000 (08:09 +0100)]
Slovenian (sl):
userGuide.t2t
nvda.po matching 100% of main:5745
from translation svn:7428
Ondrej Rosik [Tue, 15 Jan 2013 07:09:26 +0000 (08:09 +0100)]
Slovak (sk):
userGuide.t2t matching 5680
changes.t2t matching 5729
nvda.po matching 96% of main:5745
from translation svn:7428
Rui Batista [Tue, 15 Jan 2013 07:08:52 +0000 (08:08 +0100)]
Portuguese (pt_PT):
nvda.po matching 97% of main:5745
from translation svn:7428
Mesar Hameed [Tue, 15 Jan 2013 07:08:10 +0000 (08:08 +0100)]
Brazilian Portuguese (pt_BR):
changes.t2t
nvda.po matching 100% of main:5745
from translation svn:7428
Authors: Cleverson Casarin Uliana <clever92000@yahoo.com.br>, Marlin Rodrigues <marlincgrodrigues@yahoo.com.br>
Hubert Meyer [Tue, 15 Jan 2013 07:07:27 +0000 (08:07 +0100)]
Polish (pl):
nvda.po matching 99% of main:5745
from translation svn:7428
David Hole [Tue, 15 Jan 2013 07:06:59 +0000 (08:06 +0100)]
Norwegian bokmål (nb_NO):
nvda.po matching 97% of main:5745
from translation svn:7428
him Prasad Gautam [Tue, 15 Jan 2013 07:06:04 +0000 (08:06 +0100)]
Nepali (ne):
nvda.po matching 100% of main:5745
from translation svn:7428
Mesar Hameed [Tue, 15 Jan 2013 07:05:45 +0000 (08:05 +0100)]
Duch (nl):
userGuide.t2t matching 5660
nvda.po matching 100% of main:5745
from translation svn:7428
Authors: Bart Simons <bart@bartsimons.be>, A Campen <a.campen@wxs.nl>
Mesar Hameed [Tue, 15 Jan 2013 07:05:11 +0000 (08:05 +0100)]
Korean (ko):
userGuide.t2t matching 5680
changes.t2t matching 5739
nvda.po matching 100% of main:5745
from translation svn:7428
Authors: Joseph Lee <joseph.lee22590@gmail.com>, Chang-Hoan Jang <462356@gmail.com>
Takuya Nishimoto [Tue, 15 Jan 2013 07:04:53 +0000 (08:04 +0100)]
Japanese (ja):
symbols.dic
userGuide.t2t matching 5680
nvda.po matching 100% of main:5745
from translation svn:7428
Simone Dal Maso [Tue, 15 Jan 2013 07:03:55 +0000 (08:03 +0100)]
Italian (it):
symbols.dic
changes.t2t matching 5745
userGuide.t2t matching 5745
nvda.po matching 100% of main:5745
from translation svn:7428
Mesar Hameed [Tue, 15 Jan 2013 07:03:34 +0000 (08:03 +0100)]
Icelandic (is):
nvda.po matching 70% of main:5745
from translation svn:7428
Authors: Birkir R. Gunnarsson <birkir.gunnarsson@gmail.com>, H M. Hreinsson <hm.hreinsson@gmail.com>
Mesar Hameed [Tue, 15 Jan 2013 06:59:00 +0000 (07:59 +0100)]
French (fr):
symbols.dic
changes.t2t matching 5739
nvda.po matching 100% of main:5745
from translation svn:7428
Authors: Michel such <michel.such@free.fr>, Patrick ZAJDA <patrick@zajda.fr>
Jani Kinnunen [Tue, 15 Jan 2013 06:58:39 +0000 (07:58 +0100)]
Finnish (fi):
symbols.dic
changes.t2t matching 5745
nvda.po matching 100% of main:5745
from translation svn:7428
Juan C. buno [Tue, 15 Jan 2013 06:58:15 +0000 (07:58 +0100)]
Galician (gl):
userGuide.t2t matching 5745
changes.t2t matching 5745
nvda.po matching 100% of main:5745
from translation svn:7428
Juan C. buno [Tue, 15 Jan 2013 06:57:59 +0000 (07:57 +0100)]
Spanish (es):
userGuide.t2t matching 5745
changes.t2t matching 5745
nvda.po matching 100% of main:5745
from translation svn:7428
Mesar Hameed [Tue, 15 Jan 2013 06:57:31 +0000 (07:57 +0100)]
German (de):
userGuide.t2t matching 5680
changes.t2t matching 5739
nvda.po matching 98% of main:5734
from translation svn:7428
Authors: Bernd Dorer <bernd_dorer@yahoo.de>, David Parduhn <xkill85@gmx.net>
Jorge Perez [Tue, 15 Jan 2013 06:55:15 +0000 (07:55 +0100)]
Aragonese (an):
userGuide.t2t
nvda.po matching 100% of main:5745
from translation svn:7428
Mesar Hameed [Tue, 15 Jan 2013 06:53:47 +0000 (07:53 +0100)]
Arabic (ar):
userGuide.t2t matching 5680
changes.t2t matching 5739
nvda.po matching 98% of main:5745
from translation svn:7428
Authors: Fatma Mehanna <fatma.mehanna@gmail.com>, Shaimaa Ibrahim <shamse1@gmail.com>
rui Batista [Fri, 11 Jan 2013 18:54:20 +0000 (18:54 +0000)]
Freedom Scientific driver: only create braille input gesture when only space or dots are pressed (and no other key).
James Teh [Fri, 11 Jan 2013 03:38:19 +0000 (13:38 +1000)]
What's New: Add developer info.
James Teh [Fri, 11 Jan 2013 03:26:21 +0000 (13:26 +1000)]
Update What's New.
James Teh [Fri, 11 Jan 2013 03:26:00 +0000 (13:26 +1000)]
Reword.
James Teh [Fri, 11 Jan 2013 03:12:04 +0000 (13:12 +1000)]
User Guide: Add braille input to the braille displays point in the features list. Linguistic fixes to Braille Input/Output Table settings. Add notes to Supported Braille Displays section concerning drivers which don't support braille input.
James Teh [Fri, 11 Jan 2013 01:33:25 +0000 (11:33 +1000)]
Support for older models of Papenmeier BRAILLEX braille displays.
I've made some changes to the English documentation. German translators will need to update the German documentation accordingly.
Authors: Tobias Platen, Halim Sahin, Ali-Riza Ciftcioglu <aliminator83@googlemail.com>, James Teh <jamie@jantrid.net>
Fixes #2679.
James Teh [Fri, 11 Jan 2013 01:32:08 +0000 (11:32 +1000)]
Update What's New.
James Teh [Fri, 11 Jan 2013 01:28:27 +0000 (11:28 +1000)]
English User Guide: Linguistic and syntax fixes. Make command names consistent with the rest of the User Guide. Include in Key Commands.
James Teh [Fri, 11 Jan 2013 00:15:56 +0000 (10:15 +1000)]
Whitespace.
James Teh [Fri, 11 Jan 2013 00:12:44 +0000 (10:12 +1000)]
Initial import of papenmeier_serial driver.
Authors: Tobias Platen, Halim Sahin, Ali-Riza Ciftcioglu <aliminator83@googlemail.com>
James Teh [Thu, 10 Jan 2013 07:22:25 +0000 (17:22 +1000)]
Move one more monkey patch into comtypesMonkeyPatches.
Michael Curran [Thu, 10 Jan 2013 05:14:04 +0000 (15:14 +1000)]
PowerPoint appModule: Listen for COM events from PowerPoint in order to track the selection and slide show transitions, rather than using specific keyboard gestures. This now allows NVDA to report the next slide in a slide show if the slide changes by itself or via user input NVDA did not expect. Also there may have been other user input NVDA did not expect, for moving the selection.
Specifically:
* Implement a COM object that supports the EApplication interface (Powerpoint application object's outgoing interface). This implementation supports WindowSelectionChange and SlideshowNextSlide. These events alert NVDA of changes by calling DocumentWindow NVDAObject's handleSelectionChange etc on the current focus object, but only if the focus window for the current input thread is the same window as what the NVDA focus object is for (i.e. there is no event_gainFocus coming up).
* Subscribe our EApplication event listner to Powerpoint using comtypes.client._AdviseConnection the first time an object model is successfully retreaved.
* OutlinePane NVDAObject now inherits from PaneClassDC rather than DocumentWindow as it does not need the selection properties, nor should we do anything about selection changes in this window from Powerpoint.
* SlideShowWindow NVDAObject: rename handleNewSlide to reportNewSlide as it doesn't actually set anything up as such. Also convert script_changeSlide into a normal method called handleSlidechange, which just clears any cached slide info and then calls reportNewSlide. This is called from the SlideShowNextSlide APowerpoint event.
Michael Curran [Thu, 10 Jan 2013 05:08:24 +0000 (15:08 +1000)]
Mostly for Powerpoint: monkey patch comtypes.automation.VARIANT so that fetching its value when its a VT_DISPATCH does not use GetBestInterface, rather just dynamic.Dispatch. Variants already got some support for dynamic, but its currently not used for IDispatch_Invoke on comtypes COM server COM objects, which is annoying for PowerPoint. If we were to change comtypes, we could keep this change specifically inside IDispatch_Invoke for COM servers, but monky patching this is not as easy. If we see any regressions from this change, we can either: manually QueryInterface to a suitable interface where needed, or try again at monkey patching further, or of course, patch comtypes itself.
James Teh [Thu, 10 Jan 2013 04:59:34 +0000 (14:59 +1000)]
Merge main.
James Teh [Thu, 10 Jan 2013 04:57:12 +0000 (14:57 +1000)]
baum driver: Correct the length of the argument for routing key data, which is actually 10 bytes for > 40 cells and 5 bytes for <= 40.
This would probably have been harmless except for debugWarnings.
James Teh [Thu, 10 Jan 2013 04:44:52 +0000 (14:44 +1000)]
Add comment.
James Teh [Thu, 10 Jan 2013 04:39:29 +0000 (14:39 +1000)]
baum driver: Add support for braille input. Untested, as I don't have a unit with braille input keys.
James Teh [Thu, 10 Jan 2013 04:11:12 +0000 (14:11 +1000)]
The HumanWare Brailliant BI/B series braille display driver can now be selected when the display is connected via Bluetooth but has never been connected via USB.
James Teh [Thu, 10 Jan 2013 03:42:09 +0000 (13:42 +1000)]
brailliantB driver: Add support for braille input. Untested, as I don't have a unit to test with.
Michael Curran [Thu, 10 Jan 2013 02:07:50 +0000 (12:07 +1000)]
Move all comtypes monkey patches out of core.py into a separate module (comtypesMonkeyPatches) as there are quite a few and soon there will be more.
rui Batista [Wed, 9 Jan 2013 18:57:51 +0000 (18:57 +0000)]
Add braille input support to the braillenote driver.
rui Batista [Wed, 9 Jan 2013 13:16:26 +0000 (13:16 +0000)]
Add input table to braille settings documentation and changed translation table to output table.
* Expanded a bit the output table section: we have tables for many languages but also grades and "standards".
* In the braille input table section make clear the feature is only supported in devices with a braille keyboard (obvious but...) and if the driver supports it. Link the braille displays documentation for further details.
rui Batista [Wed, 9 Jan 2013 12:47:40 +0000 (12:47 +0000)]
Change translation table to output table in braille settings dialog and braille input to table to just input table.
* The config setting is still translation table. I'm not changing it for compatibility reasons.
* It also needs documentation changes.
rui Batista [Wed, 9 Jan 2013 10:54:03 +0000 (10:54 +0000)]
Add Braille input table selection to settings dialog.
* Added new combo box tthe braille settings dialog
* Add braille.INPUT_TABLES constant to filter input-ready tables (to avoid recomputing it elsewhere).
* Add new ["braille"][inputTable"] setting to config.
* Use config["braille"]["inputTable"] on !brailleInputHandler to back-translate braille dots.
James Teh [Wed, 9 Jan 2013 09:42:27 +0000 (19:42 +1000)]
braille.TABLES: Add a bool for each table specifying whether it supports input or not.
James Teh [Wed, 9 Jan 2013 09:35:39 +0000 (19:35 +1000)]
Merge main.
James Teh [Wed, 9 Jan 2013 04:58:21 +0000 (14:58 +1000)]
In Internet Explorer and other MSHTML controls, block quotes are now reported where appropriate.
Fixes #2888.
James Teh [Tue, 8 Jan 2013 11:32:54 +0000 (21:32 +1000)]
For languages such as German where the + (plus) sign is a single key on the keyboard, it is now possible to bind commands to it by using the word "plus".
Fixes #2898.
James Teh [Tue, 8 Jan 2013 11:22:16 +0000 (21:22 +1000)]
Oops. winUser.VkKeyScanEx should actually use VkKeyScanEx instead of VkKeyScan.
James Teh [Tue, 8 Jan 2013 08:43:59 +0000 (18:43 +1000)]
If the input language is changed to something other than the default, NVDA now detects keys correctly for commands and input help mode.
When the input language is changed, it only happens for the input (focused) thread, so NVDA's hook thread is still using a different keyboard layout and MapVirtualKey/VkKeyScan use that. To fix this, we use MapVirtualKeyEx/VkKeyScanEx and pass the hkl of the input thread.
Michael Curran [Mon, 7 Jan 2013 03:44:11 +0000 (13:44 +1000)]
PowerPoint appModule: provide translator comments for all translation strings.
Michael Curran [Mon, 7 Jan 2013 03:31:30 +0000 (13:31 +1000)]
Powerpoint appModule: change the word 'body' to 'text' in placeholder labels as this more accurately matches auto-generated names in later versions.
Michael Curran [Mon, 7 Jan 2013 03:22:17 +0000 (13:22 +1000)]
Powerpoint appModule: Shape NVDAObject's name property: if this shape is a placeholder, provide a name that describes the type of placeholder. Mostly needed in PowerPoint 2003 where the auto-generated names do not take placeholders into account. But also improves description a little for later versions.
Mesar Hameed [Fri, 4 Jan 2013 10:31:39 +0000 (11:31 +0100)]
Russian (ru): remove handwritten keyCommands.txt, its now produced automatically from the userGuide.
Michael Curran [Tue, 1 Jan 2013 11:20:36 +0000 (21:20 +1000)]
Merged Powerpoint branch
Michael Curran [Tue, 1 Jan 2013 11:19:26 +0000 (21:19 +1000)]
Powerpoint appModule: fix bug stopping Slide Shows from reading. #2906.
Michael Curran [Tue, 1 Jan 2013 04:05:55 +0000 (14:05 +1000)]
Merged powerpoint branch. Adds basic support for editing and reading MS PowerPoint presentations. New features and performence enhancements may be requested in future, but this is a subset that is suitable enough for a next release.
Michael Curran [Tue, 1 Jan 2013 03:46:15 +0000 (13:46 +1000)]
Powerpoint appModule's Shape.location: fix typo.
Michael Curran [Tue, 1 Jan 2013 02:56:40 +0000 (12:56 +1000)]
Powerpoint appModule: implement location property on Shape NVDAObjects to give back the correct screen coordinates for the shape.
Michael Curran [Tue, 1 Jan 2013 01:39:21 +0000 (11:39 +1000)]
Powerpoint appModule: provide fetching of formatting from shape text ranges. Includes font name, font size, bold, italic, underline, superscript/subscript and text color. This code will always work at the review cursor, but you can also turn on formatting after cursor to get all format changes within a chunk reported automatically. However, this does get a bit slow if there are many format runs. This code will eventually be replaced with in-process code.
Michael Curran [Mon, 31 Dec 2012 19:52:54 +0000 (05:52 +1000)]
Powerpoint appModule: Include the title in the label for slides if they have them (#2905). Also report position info (x of y) when selecting slides in Slide sorter and thumbnails views.
Specifically:
* Split out some base features from the Slide NVDAObject into a SlideBase NVDAObject.
* Slide NVDAObject: include the text of the 'title' shape of the slide in brackets after the slide number if it exists.
* Slide NVDAObject: implement positionInfo property so that for selected slides (in Thumbnails and slide sorter) x of y is announced.
* Add a Master NVDAObject for master slides, that just uses the Master object's name as the NVDAObject's name -- Masters do not have slide numbers or meaningful slide titles.
* SlideBase NVDAObject: implement a findOverlayClasses that selects either Slide or Master depending on the view.
* All other code now instanciates SlideBase instead of Slide so that either Slide or Master will be automatically chosen at runtime.
Michael Curran [Sun, 30 Dec 2012 21:03:57 +0000 (07:03 +1000)]
MS Powerpoint 2003 throws a COMError for textRange.parent instead of returning None when it can't be retreaved. Catch this error.
Michael Curran [Sun, 30 Dec 2012 20:26:46 +0000 (06:26 +1000)]
A big restructure to the Powerpoint appModule based on findings while implementing in the last week. Provides partial support for Outline view via display model, slightly beter support for slide sorter view. Fixes to object navigation, and always possible to review a slide in slide view with display model.
Specific changes:
* appModule.chooseNVDAObjectOverlayClasses is now used again to choose PaneClassDC, DocumentWindow, SlideShowWindow etc, rather than AppModule.event_gainFocus / PaneClassDC.findOverlayClasses. PaneClassDC now has an event_gainFocus which handles the app switching to fix fetching of the object model. This allows object navigation to pick up a working PaneClassDC if its the focused pane at least.
* DocumentWindow now contains the slide's name in its name if the document's view has a slide. (Most panes do have a slide, such as slide view, notes page, outline view etc).
* Moved ppActivePaneViewType, ppDocumentViewType properties from PaneClassDC to DocumentWindow as they're only now needed here.
* DocumentWindow.selection: a slide is only returned if its truely selected. For example, in Slide view a slide is no longer returned as the current slide's name is in the panes name anyway. But in Slide sorter or Thumbnails view a slide could be returned as these views are for specifically selecting slides.
* Moved handleSelectionChange and script_selectionChange, and all related key bindings from PpObject/Shape/Slide NVDAObjects onto the DocumentWindow NVDAObject. Script_selectionChange now has canPropagate set to true. In short DocumentWindow now totally manages selection of shapes / slides/textFrames. PpObject NVDAObject however still keeps a script_selectionChange which simply calls DocumentWindow's one, so that subClasses of PpObject can still bind in certain situations, such as for pressing tab when editing in a tableCell text frame.
* PaneClassDC has a DisplayModelTextInfo as its TextInfo so that its possible to review display content for any view.
* Added an OutlinePane NVDAObject to represent Outline view, which inherits from EditableText and DocumentWindow, and uses an EditableTextDisplayModelTextInfo so that display model is used to track the caret in this view. A little flaky still but better than nothing.
* Shape NVDAObject's parent property now always returns the DocumentWindow (pane its in) rather than a Slide NVDAObject. The slide is not necessary as the pane is specifically for the slide anyway.
* Removed children and childCount properties from Slide and Shape NVDAObjects as they're not used or needed.
* Implement firstChild on DocumentWindow NVDAObjects to return selection property. This is so its possible to get back after navigating to parent.
Michael Curran [Sat, 29 Dec 2012 09:31:43 +0000 (19:31 +1000)]
Merged main
Michael Curran [Sat, 29 Dec 2012 09:30:51 +0000 (19:30 +1000)]
Allow scons launcher to build properlty again. I made a mistake in 5725 -- forgot the equals sign.
Michael Curran [Sat, 29 Dec 2012 06:15:25 +0000 (16:15 +1000)]
Fix for #2904 (IAccessible window objects treeted as layout when unavailable).
Specifically:
* IAccessible NVDAObject's presentationType property: remove all mentions of window objects and implement a new presentationType property on WindowRoot IAccessible NVDAObjects that returns unavailable if unavailable or invisible is in states, layout if the window does not have any extra IAccessibles, and at the very end, content.
* Move the windowHasExtraIAccessibles method onto the WindowRoot IAccessible NVDAObject.
* IAccessible NVDAObject's isPresentableFocusAncestor: remove any mention of window objects and put a isPresentableFocusAncestor property on GenericWindow IAccessible NVDAObjects that is set to False.
Michael Curran [Sat, 29 Dec 2012 05:36:55 +0000 (15:36 +1000)]
Merge main
Michael Curran [Sat, 29 Dec 2012 05:35:01 +0000 (15:35 +1000)]
powerpoint appModule: Rewrite PaneClassDC NVDAObject's selection property to better handle the notes page in normal view. In Powerpoint 2007 and below it doesn't correctly report that text can be selected, so override this. Also allow selection tracking of slides in the slide sorter view.
Michael Curran [Fri, 28 Dec 2012 12:19:08 +0000 (22:19 +1000)]
uninstall and launcher NSI scripts: set Outfile with an OutFile command in the script that takes a quoted define, rather than the OutFile command being passed in on the commandline. This allows NVDA to be built when there are spaces in the path.
James Teh [Fri, 28 Dec 2012 10:34:10 +0000 (20:34 +1000)]
setup.py: Don't explicitly include ftdi2. I don't know why I thought it wouldn't be included implicitly, since brailleDisplayDrivers have been bundled for a while now.
This means that a user who doesn't need this can still build successfully.
Michael Curran [Fri, 28 Dec 2012 02:20:48 +0000 (12:20 +1000)]
Powerpoint appModule: DocumentWindow NVDAObject: make use of Powerpoint's activePane.viewType to correctly label the currently active pane. MS Office 2003 does not automatically label its pane windows at all.
Michael Curran [Thu, 27 Dec 2012 06:35:45 +0000 (16:35 +1000)]
Powerpoint appModule: make the PaneClassDC NVDAObject have a presentation type of content and a role of pane so that its name is announced on the focus ancestors as that is what tells you whether its notes, or slide master etc. Also give Slide NVDAObjects a presentation type of content so that if moving focus to Powerpoint and it straight away landes on a shape, NVDA will announce the slide in the focus ancestry.
Michael Curran [Thu, 27 Dec 2012 06:08:18 +0000 (16:08 +1000)]
Powerpoint appModule: again generate a slide's name from its slide number if it has one, otherwize (for masters, use the name). The name can't be used for normal slides as the auto-generated powerpoint names do not make sense when the slides are deleted or reorded.
Michael Curran [Thu, 27 Dec 2012 05:26:00 +0000 (15:26 +1000)]
Add support for all the master views in PowerPoint (title master, slide master, notes master etc):
* Slide NVDAObject's name property: don't make up the name ourselves, just use the PowerPoint Slide object's name property instead. The name is already unique, and for slides by default does contain the number. This also allows this to work for master slides which don't have a number.
* Slide NVDAObject's _isEqual method: don't use slideID for comparison as master slides don't implement this property. Instead use the name property as this is guaranteed to be unique and both slides and masters contain this.
Michael Curran [Thu, 27 Dec 2012 03:06:34 +0000 (13:06 +1000)]
nvdaHelperLocal.cancellableSendMessageTimeout: don't foreceably remove SMTO_BLOCK as it can freeze Powerpoint #2900. Lets see how this goes for now...
Michael Curran [Wed, 26 Dec 2012 01:23:30 +0000 (11:23 +1000)]
Allow Powerpoint appModule to work with Powerpoint 2007 and 2003:
* Use the PaneClassDC NVDAObject with the IAccessible client (objid_client) of PaneClassDC windows, rather than checking for PaneClassDC windows with a role of pane (roles seem to change between Office versions).
* Catch exceptions around another use of shape.title which I missed.
Michael Curran [Tue, 25 Dec 2012 13:35:45 +0000 (23:35 +1000)]
Powerpoint appModule: refactor the way we switch apps to fix object model registration so that it doesn't cause infinit switching if the object model always fails.
Specifically:
* PaneClassDC.ppObjectModel no longer is in charge of switching apps if it fails, it simply tries to fetch it or returns None if it fails.
* PaneClassDC: allow initializing with a keyword argument of ppObjectModel, which overrides its ppObjectModel getter with a pre existing Powerpoint object model instance.
* the appModule's event_gainFocus: If this a PaneClassDC window, specifically fetch the powerpoint object model first and if successful, pass it to the PaneClassDC NVDAObject when initializing.
If it fails to get the object model, then if it hasn't tried switching apps once, do it and return.
Michael Curran [Tue, 25 Dec 2012 11:54:26 +0000 (21:54 +1000)]
Powerpoint appModule: handle the end of a slide show (no slide is currently being viewed.
Michael Curran [Tue, 25 Dec 2012 11:31:33 +0000 (21:31 +1000)]
Powerpoint appModule: fix bug that stopped NVDA from being able to provide access to Powerpoint when it first opens with out either waiting 10 seconds or having the user alt tab away and back again. Although a better implementation may be possible in future, for now quickly flash up a temporary NVDA dialog if fetching the Powerpoint object model fails the first time. Fixes #2896
Michael Curran [Tue, 25 Dec 2012 01:10:45 +0000 (11:10 +1000)]
Powerpoint appModule: better detection of Slide Show vs Document window:
* PaneClassDC NVDAObject: implement a FindOverlayClasses which chooses DocumentWindow or SlideShowWindow if available, by looking at the object given back by fetching the Powerpoint object model.
* Rather than using the appModule's chooseNVDAObjectOverLayClass, use the appModule's event_gainFocus and instanciate a new PaneClassDC instance and bounce focus there.