From: <nor...@nv...> - 2013-10-31 23:56:11
|
The branch next has been updated From d9dcc06 to f4ab646 New revisions: - Log ----------------------------------------------------------------- commit f4ab6463dec9366d8900ddc713e594e6abbf0a54 Merge: d9dcc06 50720b1 Author: Michael Curran <mi...@nv...> Date: Fri Nov 1 09:55:22 2013 +1000 Merge branch 'master' into next ----------------------------------------------------------------------- Summary of changes: developerGuide.t2t | 21 ++++++++++++++++++--- source/NVDAObjects/window/excel.py | 11 ++++++----- user_docs/en/changes.t2t | 2 ++ user_docs/en/userGuide.t2t | 4 +++- 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/developerGuide.t2t b/developerGuide.t2t index 25e3506..db18db7 100644 --- a/developerGuide.t2t +++ b/developerGuide.t2t @@ -359,9 +359,11 @@ Some examples of gesture string identifiers are: - "kb(laptop):NVDA+t" - -Currently, the only input sources in NVDA are: -- kb: keyboard input -- br: braille input +Currently, the input sources in NVDA are: +- kb: system keyboard input +- br: braille display controls +- ts: touch screen +- bk: braille keyboard input - When NVDA receives input, it looks for a matching gesture binding in a particular order. @@ -375,6 +377,18 @@ The order for gesture binding lookup is: - Global Commands (built in commands like quitting NVDA, object navigation commands, etc.) - +You should specify a description of the script in the function's docstring which describes the command for users. +For example, this is reported to users when in Input Help mode and shown in the Input Gestures dialog. +You specify the docstring by setting a "__doc__" attribute on the script function. + +You can also specify a category for a script so that it can be grouped with other similar scripts. +For example, a script in a global plugin which adds browse mode quick navigation keys may be categorized under the "Browse mode" category. +For individual scripts, this is done by setting a "category" attribute on the script function to a string containing the name of the category. +You can also set the "scriptCategory" attribute on the plugin class, which will be used for scripts which do not specify a category. +There are constants for common categories prefixed with SCRCAT_ in the inputCore and globalCommands modules. +The script will be listed under the specified category in the Input Gestures dialog. +If no category is specified, the script will be categorized under "Miscellaneous". + ++ Example 3: A Global Plugin to Find out Window Class and Control ID ++ The following Global Plugin allows you to press NVDA+leftArrow to have the window class of the current focus announced, and NVDA+rightArrow to have the window control ID of the current focus announced. This example shows you how to define one or more scripts and gesture bindings on a class such as an App Module, Global Plugin or NVDA Object. @@ -445,6 +459,7 @@ If an event for an NVDA Object is defined on a Global Plugin, App Module or Tree Some common NVDA Object events are: - foreground: this NVDA Object has become the new foreground object; i.e. active top-level object - gainFocus +- focusEntered: Focus has moved inside this object; i.e. it is an ancestor of the focus object - loseFocus - nameChange - valueChange diff --git a/source/NVDAObjects/window/excel.py b/source/NVDAObjects/window/excel.py index f46a767..6b0120a 100755 --- a/source/NVDAObjects/window/excel.py +++ b/source/NVDAObjects/window/excel.py @@ -46,7 +46,8 @@ class ExcelBase(Window): text=cell.Address(False, False, format, external) textList=text.split(':') if len(textList)==2: - text=_("%s through %s")%(textList[0],textList[1]) + # Translators: Used to express an address range in excel. + text=_("{start} through {end}").format(start=textList[0], end=textList[1]) return text def fireFocusOnSelection(self): @@ -298,7 +299,7 @@ class ExcelCell(ExcelBase): return thisAddr==otherAddr def _get_cellCoordsText(self): - return self.getCellAddress(self.excelCellObject) + return self.getCellAddress(self.excelCellObject) def _get__rowAndColumnNumber(self): rc=self.excelCellObject.address(False,False,xlRC,False) @@ -439,12 +440,12 @@ class ExcelDropdown(Window): children=[] index=0 states=set() - for item in DisplayModelTextInfo(self,textInfos.POSITION_ALL).getTextWithFields(): + for item in DisplayModelTextInfo(self,textInfos.POSITION_ALL).getTextWithFields(): if isinstance(item,textInfos.FieldCommand) and item.command=="formatChange": states=set([controlTypes.STATE_SELECTABLE]) foreground=item.field.get('color',None) background=item.field.get('background-color',None) - if (background,foreground)==self._highlightColors: + if (background,foreground)==self._highlightColors: states.add(controlTypes.STATE_SELECTED) if isinstance(item,basestring): obj=ExcelDropdownItem(parent=self,name=item,states=states,index=index) @@ -499,4 +500,4 @@ class ExcelDropdown(Window): class ExcelMergedCell(ExcelCell): def _get_cellCoordsText(self): - return self.getCellAddress(self.excelCellObject.mergeArea) + return self.getCellAddress(self.excelCellObject.mergeArea) diff --git a/user_docs/en/changes.t2t b/user_docs/en/changes.t2t index a6c5a6e..6811922 100644 --- a/user_docs/en/changes.t2t +++ b/user_docs/en/changes.t2t @@ -12,6 +12,8 @@ - a new 'Allow Skim Reading in Say All' option in the Keyboard settings dialog allows navigating through a document with browse mode quick navigation and line / paragraph movement commands, while remaining in say all. This option is off by default. (#2766) - There is now an Input Gestures dialog to allow simpler customization of the input gestures (such as keys on the keyboard) for NVDA commands. (#1532) - You can now have different settings for different situations using configuration profiles. Profiles can be activated manually or automatically (e.g. for a particular application). (#87, #667, #1913) +- In Microsoft Excel, cells that are links are now announced as links. (#3042) +- In Microsoft Excel, the existance of comments on a cell is now reported to the user. (#2921) == Bug Fixes == diff --git a/user_docs/en/userGuide.t2t b/user_docs/en/userGuide.t2t index 629551a..6797e84 100644 --- a/user_docs/en/userGuide.t2t +++ b/user_docs/en/userGuide.t2t @@ -1140,7 +1140,9 @@ Pressing OK will create the profile and close the Configuration Profiles dialog +++ Manual Activation +++[ConfigProfileManual] You can manually activate a profile by selecting a profile and pressing the Manual activate button. Once activated, other profiles can still be activated due to triggers, but any settings in the manually activated profile will override them. -Also, any settings you change will be saved in that profile. +For example, if a profile is triggered for the current application and reporting of links is enabled in that profile but disabled it in the manually activated profile, links will not be reported. +However, if you have changed the voice in the triggered profile but have never changed it in the manually activated profile, the voice from the triggered profile will be used. +Any settings you change will be saved in the manually activated profile. To deactivate a manually activated profile, select it in the Configuration Profiles dialog and press the Manual deactivate button. +++ Triggers +++[ConfigProfileTriggers] |