Ticket #46: verbosity.patch
| File verbosity.patch, 21.8 KB (added by jteh, 4 years ago) |
|---|
-
appModules/_default.py
27 27 import appModuleHandler 28 28 import winKernel 29 29 import ctypes 30 import verbosity 30 31 31 32 class appModule(appModuleHandler.appModule): 32 33 … … 43 44 else: 44 45 state=_("off") 45 46 globalVars.keyboardHelp=False 46 speech.speakMessage(_("keyboard help %s")%state) 47 if verbosity.getLevel() < verbosity.v_low: message = _("keyboard help %s")%state 48 else: message = state 49 speech.speakMessage(message) 47 50 script_keyboardHelp.__doc__=_("Turns keyboard help on and off. When on, pressing a key on the keyboard will tell you what script is associated with it, if any.") 48 51 49 52 def script_reportCurrentLine(self,keyPress,nextScript): … … 70 73 if info.isCollapsed: 71 74 speech.speakMessage(_("no selection")) 72 75 else: 73 speech.speakMessage(_("selected %s")%info.text) 76 if verbosity.getLevel() < verbosity.v_low: message = _("selected %s")%info.text 77 else: message = info.text 78 speech.speakMessage(message) 74 79 75 80 def script_dateTime(self,keyPress,nextScript): 76 81 if keyboardHandler.lastKeyCount == 1: … … 84 89 rate=min(getSynth().rate+5, 100) 85 90 getSynth().rate=rate 86 91 config.conf["speech"][getSynth().name]["rate"]=rate 87 speech.speakMessage(_("rate %d%%")%rate) 92 if verbosity.getLevel() < verbosity.v_low: message = _("rate %d%%")%rate 93 else: message = "%d" %rate 94 speech.speakMessage(message) 88 95 script_increaseRate.__doc__=_("Increases the speech rate by 5 percent") 89 96 90 97 def script_decreaseRate(self,keyPress,nextScript): 91 98 rate=max(0, getSynth().rate-5) 92 99 getSynth().rate=rate 93 100 config.conf["speech"][getSynth().name]["rate"]=rate 94 speech.speakMessage(_("rate %d%%")%rate) 101 if verbosity.getLevel() < verbosity.v_low: message = _("rate %d%%")%rate 102 else: message = "%d" %rate 103 speech.speakMessage(message) 95 104 script_decreaseRate.__doc__=_("decreases the speech rate by 5 percent") 96 105 97 106 def script_increaseSetting(self,keyPress,nextScript): 98 #val = globalVars.settingsRing.increase() 99 speech.speakMessage("%s %s" % (globalVars.settingsRing.currentSettingName, globalVars.settingsRing.increase())) 107 if verbosity.getLevel() < verbosity.v_low: message = "%s %s" % (globalVars.settingsRing.currentSettingName, globalVars.settingsRing.increase()) 108 else: message = "%s" %globalVars.settingsRing.increase() 109 speech.speakMessage(message) 100 110 script_increaseSetting.__doc__=_("Increases currently active setting in the synth settings ring") 101 111 102 112 def script_decreaseSetting(self,keyPress,nextScript): 103 #val = globalVars.settingsRing.decrease() 104 speech.speakMessage("%s %s" % (globalVars.settingsRing.currentSettingName, globalVars.settingsRing.decrease())) 113 if verbosity.getLevel() < verbosity.v_low: message = "%s %s" % (globalVars.settingsRing.currentSettingName, globalVars.settingsRing.decrease()) 114 else: message = "%s" %globalVars.settingsRing.decrease() 115 speech.speakMessage(message) 105 116 script_decreaseSetting.__doc__=_("Decreases currently active setting in the synth settings ring") 106 117 107 118 def script_nextSetting(self,keyPress,nextScript): … … 121 132 else: 122 133 onOff=_("on") 123 134 config.conf["keyboard"]["speakTypedCharacters"]=True 124 speech.speakMessage(_("speak typed characters")+" "+onOff) 135 if verbosity.getLevel() < verbosity.v_low: message = _("speak typed characters")+" "+onOff 136 else: message = onOff 137 speech.speakMessage(message) 125 138 script_toggleSpeakTypedCharacters.__doc__=_("Toggles on and off the speaking of typed characters") 126 139 127 140 def script_toggleSpeakTypedWords(self,keyPress,nextScript): … … 131 144 else: 132 145 onOff=_("on") 133 146 config.conf["keyboard"]["speakTypedWords"]=True 134 speech.speakMessage(_("speak typed words")+" "+onOff) 147 if verbosity.getLevel() < verbosity.v_low: message = _("speak typed words")+" "+onOff 148 else: message = onOff 149 speech.speakMessage(message) 135 150 script_toggleSpeakTypedWords.__doc__=_("Toggles on and off the speaking of typed words") 136 151 137 152 def script_toggleSpeakCommandKeys(self,keyPress,nextScript): … … 141 156 else: 142 157 onOff=_("on") 143 158 config.conf["keyboard"]["speakCommandKeys"]=True 144 speech.speakMessage(_("speak command keys")+" "+onOff) 159 if verbosity.getLevel() < verbosity.v_low: message = _("speak command keys")+" "+onOff 160 else: message = onOff 161 speech.speakMessage(message) 145 162 script_toggleSpeakCommandKeys.__doc__=_("Toggles on and off the speaking of typed keys, that are not specifically characters") 146 163 147 164 def script_toggleSpeakPunctuation(self,keyPress,nextScript): … … 151 168 else: 152 169 onOff=_("on") 153 170 config.conf["speech"]["speakPunctuation"]=True 154 speech.speakMessage(_("speak punctuation")+" "+onOff) 171 if verbosity.getLevel() < verbosity.v_low: message = _("speak punctuation")+" "+onOff 172 else: message = onOff 173 speech.speakMessage(message) 155 174 script_toggleSpeakPunctuation.__doc__=_("Toggles on and off the speaking of punctuation. When on NVDA will say the names of punctuation symbols, when off it will be up to the synthesizer as to how it speaks punctuation") 156 175 157 176 def script_moveMouseToNavigatorObject(self,keyPress,nextScript): 158 speech.speakMessage(_("Move mouse to navigator"))177 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("Move mouse to navigator")) 159 178 obj=api.getNavigatorObject() 160 179 try: 161 180 (left,top,width,height)=obj.location … … 166 185 script_moveMouseToNavigatorObject.__doc__=_("Moves the mouse pointer to the current navigator object.") 167 186 168 187 def script_moveNavigatorObjectToMouse(self,keyPress,nextScript): 169 speech.speakMessage(_("Move navigator object to mouse"))188 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("Move navigator object to mouse")) 170 189 obj=api.getMouseObject() 171 190 api.setNavigatorObject(obj) 172 191 speech.speakObject(obj) … … 196 215 speech.speakSpelling(text) 197 216 else: 198 217 if api.copyToClip(text): 199 speech.speakMessage(_("%s copied to clipboard")%text) 218 if verbosity.getLevel() < verbosity.v_low: message = _("%s copied to clipboard")%text 219 else: message = _("Copied to clipboard") 220 speech.speakMessage(message) 200 221 else: 201 222 speech.speakObject(curObject,reason=speech.REASON_QUERY) 202 223 return False … … 218 239 if not isinstance(obj,NVDAObject): 219 240 speech.speakMessage(_("no focus")) 220 241 api.setNavigatorObject(obj) 221 speech.speakMessage(_("move to focus"))242 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("move to focus")) 222 243 speech.speakObject(obj,reason=speech.REASON_QUERY) 223 244 script_navigatorObject_toFocus.__doc__=_("Sets the navigator object to the current focus") 224 245 … … 346 367 info=globalVars.reviewPosition.obj.makeTextInfo(textHandler.POSITION_FIRST) 347 368 globalVars.reviewPosition=info.copy() 348 369 info.expand(textHandler.UNIT_LINE) 349 speech.speakMessage(_("top"))370 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("top")) 350 371 speech.speakFormattedText(info) 351 372 script_review_top.__doc__=_("Moves the review cursor to the top line of the current navigator object") 352 373 … … 358 379 globalVars.reviewPosition=info.copy() 359 380 info.expand(textHandler.UNIT_LINE) 360 381 if res==0: 361 speech.speakMessage(_("top"))382 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("top")) 362 383 speech.speakFormattedText(info) 363 384 script_review_previousLine.__doc__=_("Moves the review cursor to the previous line of the current navigator object") 364 385 … … 380 401 globalVars.reviewPosition=info.copy() 381 402 info.expand(textHandler.UNIT_LINE) 382 403 if res==0: 383 speech.speakMessage(_("bottom"))404 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("bottom")) 384 405 speech.speakFormattedText(info) 385 406 script_review_nextLine.__doc__=_("Moves the review cursor to the next line of the current navigator object") 386 407 … … 388 409 info=globalVars.reviewPosition.obj.makeTextInfo(textHandler.POSITION_LAST) 389 410 globalVars.reviewPosition=info.copy() 390 411 info.expand(textHandler.UNIT_LINE) 391 speech.speakMessage(_("bottom"))412 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("bottom")) 392 413 speech.speakFormattedText(info) 393 414 script_review_bottom.__doc__=_("Moves the review cursor to the bottom line of the current navigator object") 394 415 … … 400 421 globalVars.reviewPosition=info.copy() 401 422 info.expand(textHandler.UNIT_WORD) 402 423 if res==0: 403 speech.speakMessage(_("top"))424 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("top")) 404 425 speech.speakFormattedText(info) 405 426 script_review_previousWord.__doc__=_("Moves the review cursor to the previous word of the current navigator object") 406 427 … … 422 443 globalVars.reviewPosition=info.copy() 423 444 info.expand(textHandler.UNIT_WORD) 424 445 if res==0: 425 speech.speakMessage(_("bottom"))446 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("bottom")) 426 447 speech.speakFormattedText(info) 427 448 script_review_nextWord.__doc__=_("Moves the review cursor to the next word of the current navigator object") 428 449 … … 432 453 info.collapse() 433 454 globalVars.reviewPosition=info.copy() 434 455 info.expand(textHandler.UNIT_CHARACTER) 435 speech.speakMessage(_("left"))456 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("left")) 436 457 speech.speakFormattedText(info,handleSymbols=True) 437 458 script_review_startOfLine.__doc__=_("Moves the review cursor to the start of the line where it is situated, in the current navigator object") 438 459 … … 444 465 charInfo.collapse() 445 466 res=charInfo.move(textHandler.UNIT_CHARACTER,-1) 446 467 if res==0 or charInfo.compareEndPoints(lineInfo,"startToStart")<0: 447 speech.speakMessage(_("left"))468 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("left")) 448 469 reviewInfo=globalVars.reviewPosition.copy() 449 470 reviewInfo.expand(textHandler.UNIT_CHARACTER) 450 471 speech.speakSpelling(reviewInfo.text) … … 477 498 charInfo.collapse() 478 499 res=charInfo.move(textHandler.UNIT_CHARACTER,1) 479 500 if res==0 or charInfo.compareEndPoints(lineInfo,"endToEnd")>=0: 480 speech.speakMessage(_("right"))501 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("right")) 481 502 reviewInfo=globalVars.reviewPosition.copy() 482 503 reviewInfo.expand(textHandler.UNIT_CHARACTER) 483 504 speech.speakSpelling(reviewInfo.text) … … 494 515 info.move(textHandler.UNIT_CHARACTER,-1) 495 516 globalVars.reviewPosition=info.copy() 496 517 info.expand(textHandler.UNIT_CHARACTER) 497 speech.speakMessage(_("right"))518 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("right")) 498 519 speech.speakFormattedText(info,handleSymbols=True) 499 520 script_review_endOfLine.__doc__=_("Moves the review cursor to the end of the line where it is situated, in the current navigator object") 500 521 … … 523 544 elif newMode==speech.speechMode_talk: 524 545 name=_("talk") 525 546 speech.cancelSpeech() 526 speech.speakMessage(_("speech mode %s")%name) 547 if verbosity.getLevel() < verbosity.v_low: message = _("speech mode %s")%name 548 else: message = name 549 speech.speakMessage(message) 527 550 speech.speechMode=newMode 528 551 script_speechMode.__doc__=_("Toggles between the speech modes of off, beep and talk. When set to off NVDA will not speak anything. If beeps then NVDA will simply beep each time it its supposed to speak something. If talk then NVDA wil just speak normally.") 529 552 … … 591 614 speech.speakMessage(_("no status bar found")) 592 615 return 593 616 if keyboardHandler.lastKeyCount == 1: 594 speech.speakObject(statusBarObject,reason=speech.REASON_QUERY) 617 if verbosity.getLevel() < verbosity.v_low: speech.speakObject(statusBarObject,reason=speech.REASON_QUERY) 618 else: speech.speakMessage(statusBarObject.value) 595 619 else: 596 620 speech.speakSpelling(statusBarObject.value) 597 621 api.setNavigatorObject(statusBarObject) … … 604 628 else: 605 629 onOff=_("on") 606 630 config.conf["mouse"]["reportObjectUnderMouse"]=True 607 speech.speakMessage(_("Report object under mouse")+" "+onOff) 631 if verbosity.getLevel() < verbosity.v_low: message = _("Report object under mouse")+" "+onOff 632 else: message = onOff 633 speech.speakMessage(message) 608 634 script_toggleReportObjectUnderMouse.__doc__=_("Toggles on and off the reporting of objects under the mouse") 609 635 610 636 def script_title(self,keyPress,nextScript): … … 646 672 else: 647 673 onOff=_("on") 648 674 config.conf["presentation"]["beepOnProgressBarUpdates"]=True 649 speech.speakMessage(_("Beep on progress bar updates")+" "+onOff) 675 if verbosity.getLevel() < verbosity.v_low: message = _("Beep on progress bar updates")+" "+onOff 676 else: message = onOff 677 speech.speakMessage(message) 650 678 script_toggleBeepOnProgressBarUpdates.__doc__=_("Toggles on and off the beeping on progress bar updates") 651 679 652 680 def script_toggleReportDynamicContentChanges(self,keyPress,nextScript): … … 656 684 else: 657 685 onOff=_("on") 658 686 globalVars.reportDynamicContentChanges=True 659 speech.speakMessage(_("report dynamic content changes")+" "+onOff) 687 if verbosity.getLevel() < verbosity.v_low: message = _("report dynamic content changes")+" "+onOff 688 else: message = onOff 689 speech.speakMessage(message) 660 690 script_toggleReportDynamicContentChanges.__doc__=_("Toggles on and off the reporting of dynamic content changes, such as new text in dos console windows") 661 691 662 692 def script_toggleCaretMovesReviewCursor(self,keyPress,nextScript): … … 666 696 else: 667 697 onOff=_("on") 668 698 globalVars.caretMovesReviewCursor=True 669 speech.speakMessage(_("caret moves review cursor")+" "+onOff) 699 if verbosity.getLevel() < verbosity.v_low: message = _("caret moves review cursor")+" "+onOff 700 else: message = onOff 701 speech.speakMessage(message) 670 702 script_toggleCaretMovesReviewCursor.__doc__=_("Toggles on and off the movement of the review cursor due to the caret moving.") 671 703 672 704 def script_toggleFocusMovesNavigatorObject(self,keyPress,nextScript): … … 676 708 else: 677 709 onOff=_("on") 678 710 globalVars.focusMovesNavigatorObject=True 679 speech.speakMessage(_("focus moves navigator object")+" "+onOff) 711 if verbosity.getLevel() < verbosity.v_low: message = _("focus moves navigator object")+" "+onOff 712 else: message = onOff 713 speech.speakMessage(message) 680 714 script_toggleFocusMovesNavigatorObject.__doc__=_("Toggles on and off the movement of the navigator object due to focus changes") 681 715 682 716 #added by Rui Batista<ruiandrebatista@gmail.com> to implement a battery status script … … 700 734 701 735 def script_passNextKeyThrough(self,keyPress,nextScript): 702 736 keyboardHandler.passNextKeyThrough() 703 speech.speakMessage(_("Pass next key through"))737 if verbosity.getLevel() < verbosity.v_low: speech.speakMessage(_("Pass next key through")) 704 738 script_passNextKeyThrough.__doc__=_("The next key that is pressed will not be handled at all by NVDA, it will be passed directly through to Windows.") 705 739 706 740 def script_speakApplicationName(self,keyPress,nextScript): 707 741 s=appModuleHandler.getAppName(api.getForegroundObject().windowHandle,True) 708 speech.speakMessage(_("Currently running application is %s.")%s) 742 if verbosity.getLevel() < verbosity.v_low: message = _("Currently running application is %s.")%s 743 else: message = s 744 speech.speakMessage(message) 709 745 speech.speakSpelling(s) 710 746 if appModuleHandler.moduleExists(appModuleHandler.activeModule.appName): 711 747 mod = appModuleHandler.activeModule.appName 712 748 else: 713 749 mod = _("default module") 714 speech.speakMessage(_("and currently loaded module is %s") % mod) 750 if verbosity.getLevel() < verbosity.v_low: message = _("and currently loaded module is %s") % mod 751 else: message = mod 752 speech.speakMessage(message) 715 753 script_speakApplicationName.__doc__ = _("Speaks filename of the active application along with name of the currently loaded appmodule") -
config/__init__.py
26 26 askToExit = boolean(default=true) 27 27 #log levels are DEBUG, INFO, WARN, ERROR, CRITICAL 28 28 loggingLevel = string(default="WARN") 29 verbosity = integer(default=1,min=1) 29 30 30 31 # Speech settings 31 32 [speech] -
gui/settingsDialogs.py
17 17 from ctypes.wintypes import * 18 18 import userDictHandler 19 19 import scriptUI 20 import verbosity 20 21 21 22 MAXPNAMELEN=32 22 23 … … 61 62 self.askToExitCheckBox=wx.CheckBox(self,wx.NewId(),label=_("&Warn before exiting NVDA")) 62 63 self.askToExitCheckBox.SetValue(config.conf["general"]["askToExit"]) 63 64 settingsSizer.Add(self.askToExitCheckBox,border=10,flag=wx.BOTTOM) 65 verbosityLevelSizer=wx.BoxSizer(wx.HORIZONTAL) 66 verbosityLevelLabel=wx.StaticText(self,-1,label=_("Verbosity Level")) 67 verbosityLevelSizer.Add(verbosityLevelLabel) 68 verbosityLevelListID=wx.NewId() 69 self.verbosityLevelNames = verbosity.v_labels.values() 70 self.verbosityLevelList = wx.Choice(self, verbosityLevelListID, name = _("Verbosity Level"), choices = self.verbosityLevelNames) 71 try: 72 index = self.verbosityLevelNames.index(verbosity.v_labels[config.conf["general"]["verbosity"]]) 73 self.verbosityLevelList.SetSelection(index) 74 except: 75 globalVars.log.warn("Could not set verbosity level list to current verbositylevel") 76 verbosityLevelSizer.Add(self.verbosityLevelList) 77 settingsSizer.Add(verbosityLevelSizer,border=10,flag=wx.BOTTOM) 64 78 logLevelSizer=wx.BoxSizer(wx.HORIZONTAL) 65 79 logLevelLabel=wx.StaticText(self,-1,label=_("L&ogging level")) 66 80 logLevelSizer.Add(logLevelLabel) 67 81 logLevelListID=wx.NewId() 68 82 self.logLevelNames=[logging._levelNames[x] for x in sorted([x for x in logging._levelNames.keys() if isinstance(x,int) and x>0],reverse=True)] 69 self.logLevelList=wx.Choice(self,l anguageListID,name=_("Log level"),choices=self.logLevelNames)83 self.logLevelList=wx.Choice(self,logLevelListID,name=_("Log level"),choices=self.logLevelNames) 70 84 try: 71 85 index=self.logLevelNames.index(logging._levelNames[globalVars.log.getEffectiveLevel()]) 72 86 self.logLevelList.SetSelection(index) … … 95 109 config.conf["general"]["hideInterfaceOnStartup"]=self.hideInterfaceCheckBox.IsChecked() 96 110 config.conf["general"]["saveConfigurationOnExit"]=self.saveOnExitCheckBox.IsChecked() 97 111 config.conf["general"]["askToExit"]=self.askToExitCheckBox.IsChecked() 112 verbosity.setLevel(self.verbosityLevelList.GetSelection() +1) 98 113 logLevelName=self.logLevelNames[self.logLevelList.GetSelection()] 99 114 globalVars.log.setLevel(logging._levelNames[logLevelName]) 100 115 config.conf["general"]["loggingLevel"]=logLevelName -
keyboardHandler.py
20 20 import config 21 21 import _winreg 22 22 import api 23 import verbosity 23 24 24 25 keyUpIgnoreSet=set() 25 26 passKeyThroughCount=-1 #If 0 or higher then key downs and key ups will be passed straight through … … 74 75 else: 75 76 s = _winreg.QueryValueEx(key, "Layout Text")[0] 76 77 key.Close() 77 queueHandler.queueFunction(queueHandler.interactiveQueue,speech.speakMessage,_("%s keyboard layout")%s) 78 if verbosity.getLevel() < verbosity.v_low: message = _("%s keyboard layout")%s 79 else: message = s 80 queueHandler.queueFunction(queueHandler.interactiveQueue,speech.speakMessage, message) 78 81 79 82 @ctypes.CFUNCTYPE(ctypes.c_int,ctypes.c_int,ctypes.c_int,ctypes.c_int,ctypes.c_int) 80 83 def internal_keyDownEvent(vkCode,scanCode,extended,injected): -
verbosity.py
1 #verbosity.py 2 #A part of NonVisual Desktop Access (NVDA) 3 #Copyright (C) 2006-2007 NVDA Contributors <http://www.nvda-project.org/> 4 #This file is covered by the GNU General Public License. 5 #See the file COPYING for more details. 6 7 import config 8 import globalVars 9 10 v_high = 1 11 v_medium = 2 12 v_low = 3 13 v_labels = { 14 v_high : _("high"), 15 v_medium : _("medium"), 16 v_low : _("low")} 17 18 def setLevel(l): 19 if (l < v_high) or (l > v_low): 20 globalVars.log.warn("Verbosity level %d is not in range" % l) 21 exit 22 config.conf["general"]["verbosity"] = l 23 if l == v_high: 24 config.conf["general"]["hideInterfaceOnStartup"] = False 25 config.conf["general"]["askToExit"] = True 26 config.conf["speech"]["speakPunctuation"] = False 27 config.conf["presentation"]["reportKeyboardShortcuts"] = True 28 config.conf["presentation"]["reportObjectPositionInformation"] = True 29 config.conf["presentation"]["reportTooltips"] = True 30 config.conf["presentation"]["reportObjectDescriptions"] = True 31 config.conf["keyboard"]["speakCommandKeys"] = True 32 exit 33 if l == v_medium: 34 config.conf["general"]["hideInterfaceOnStartup"] = True 35 config.conf["general"]["askToExit"] = True 36 config.conf["presentation"]["reportKeyboardShortcuts"] = True 37 config.conf["presentation"]["reportObjectPositionInformation"] = False 38 config.conf["presentation"]["reportTooltips"] = False 39 config.conf["presentation"]["reportObjectDescriptions"] = True 40 config.conf["keyboard"]["speakCommandKeys"] = False 41 exit 42 if l == v_low: 43 config.conf["general"]["saveConfigurationOnExit"] = True 44 config.conf["general"]["hideInterfaceOnStartup"] = True 45 config.conf["general"]["askToExit"] = False 46 config.conf["presentation"]["reportKeyboardShortcuts"] = False 47 config.conf["presentation"]["reportObjectPositionInformation"] = False 48 config.conf["presentation"]["reportTooltips"] = False 49 config.conf["keyboard"]["speakCommandKeys"] = False 50 exit 51 52 def getLevel(): 53 return config.conf["general"]["verbosity"] 54 No newline at end of file

