Skip to content

Commit 46cab6a

Browse files
authored
Merge eed5f67 into 01605b6
2 parents 01605b6 + eed5f67 commit 46cab6a

6 files changed

Lines changed: 129 additions & 123 deletions

File tree

source/NVDAHelper.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -191,10 +191,10 @@ def handleInputCompositionEnd(result):
191191
curInputComposition=None
192192
if isinstance(focus,InputComposition):
193193
curInputComposition=focus
194-
oldSpeechMode=speech.speechMode
195-
speech.speechMode=speech.speechMode_off
194+
oldSpeechMode = speech.getState().speechMode
195+
speech.setSpeechMode(speech.SpeechMode.off)
196196
eventHandler.executeEvent("gainFocus",focus.parent)
197-
speech.speechMode=oldSpeechMode
197+
speech.setSpeechMode(oldSpeechMode)
198198
elif isinstance(focus.parent,InputComposition):
199199
#Candidate list is still up
200200
curInputComposition=focus.parent
@@ -210,10 +210,10 @@ def handleInputCompositionEnd(result):
210210
# Sometimes InputCompositon object is gone
211211
# Correct to container of CandidateItem
212212
newFocus=focus.container
213-
oldSpeechMode=speech.speechMode
214-
speech.speechMode=speech.speechMode_off
213+
oldSpeechMode = speech.getState().speechMode
214+
speech.setSpeechMode(speech.SpeechMode.off)
215215
eventHandler.executeEvent("gainFocus",newFocus)
216-
speech.speechMode=oldSpeechMode
216+
speech.setSpeechMode(oldSpeechMode)
217217

218218
if curInputComposition and not result:
219219
result=curInputComposition.compositionString.lstrip(u'\u3000 ')
@@ -240,11 +240,11 @@ def handleInputCompositionStart(compositionString,selectionStart,selectionEnd,is
240240
if parent==focus:
241241
parent=focus
242242
curInputComposition=InputComposition(parent=parent)
243-
oldSpeechMode=speech.speechMode
244-
speech.speechMode=speech.speechMode_off
243+
oldSpeechMode = speech.getState().speechMode
244+
speech.setSpeechMode(speech.SpeechMode.off)
245245
eventHandler.executeEvent("gainFocus",curInputComposition)
246246
focus=curInputComposition
247-
speech.speechMode=oldSpeechMode
247+
speech.setSpeechMode(oldSpeechMode)
248248
focus.compositionUpdate(compositionString,selectionStart,selectionEnd,isReading)
249249

250250
@WINFUNCTYPE(c_long,c_wchar_p,c_int,c_int,c_int)
@@ -269,10 +269,10 @@ def handleInputCandidateListUpdate(candidatesString,selectionIndex,inputMethod):
269269
focus=api.getFocusObject()
270270
if not (0<=selectionIndex<len(candidateStrings)):
271271
if isinstance(focus,CandidateItem):
272-
oldSpeechMode=speech.speechMode
273-
speech.speechMode=speech.speechMode_off
272+
oldSpeechMode = speech.getState().speechMode
273+
speech.setSpeechMode(speech.SpeechMode.off)
274274
eventHandler.executeEvent("gainFocus",focus.parent)
275-
speech.speechMode=oldSpeechMode
275+
speech.setSpeechMode(oldSpeechMode)
276276
return
277277
oldCandidateItemsText=None
278278
if isinstance(focus,CandidateItem):

source/NVDAObjects/behaviors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ def _reportNewLines(self, lines):
387387
if (
388388
len(lines) == 1
389389
and not self._hasTab
390-
and len(lines[0].strip()) < max(len(speech.curWordChars) + 1, 3)
390+
and len(lines[0].strip()) < max(len(speech.speech._curWordChars) + 1, 3)
391391
):
392392
return
393393
# Clear the typed word buffer for new text lines.

source/globalCommands.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1549,21 +1549,21 @@ def script_review_currentSymbol(self,gesture):
15491549
gesture="kb:NVDA+s"
15501550
)
15511551
def script_speechMode(self,gesture):
1552-
curMode=speech.speechMode
1553-
speech.speechMode=speech.speechMode_talk
1552+
curMode = speech.getState().speechMode
1553+
speech.setSpeechMode(speech.SpeechMode.talk)
15541554
newMode=(curMode+1)%3
1555-
if newMode==speech.speechMode_off:
1555+
if newMode == speech.SpeechMode.off:
15561556
# Translators: A speech mode which disables speech output.
15571557
name=_("Speech mode off")
1558-
elif newMode==speech.speechMode_beeps:
1558+
elif newMode == speech.SpeechMode.beeps:
15591559
# Translators: A speech mode which will cause NVDA to beep instead of speaking.
15601560
name=_("Speech mode beeps")
1561-
elif newMode==speech.speechMode_talk:
1561+
elif newMode == speech.SpeechMode.talk:
15621562
# Translators: The normal speech mode; i.e. NVDA will talk as normal.
15631563
name=_("Speech mode talk")
15641564
speech.cancelSpeech()
15651565
ui.message(name)
1566-
speech.speechMode=newMode
1566+
speech.setSpeechMode(newMode)
15671567

15681568
@script(
15691569
description=_(

source/keyboardHandler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ def _get_speechEffectWhenExecuted(self):
484484
if self.vkCode==winUser.VK_RETURN and not config.conf['keyboard']['speechInterruptForEnter']:
485485
return None
486486
if self.vkCode in (winUser.VK_SHIFT, winUser.VK_LSHIFT, winUser.VK_RSHIFT):
487-
return self.SPEECHEFFECT_RESUME if speech.isPaused else self.SPEECHEFFECT_PAUSE
487+
return self.SPEECHEFFECT_RESUME if speech.getState().isPaused else self.SPEECHEFFECT_PAUSE
488488
return self.SPEECHEFFECT_CANCEL
489489

490490
def reportExtra(self):

source/speech/__init__.py

Lines changed: 9 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# A part of NonVisual Desktop Access (NVDA)
22
# This file is covered by the GNU General Public License.
33
# See the file COPYING for more details.
4-
# Copyright (C) 2006-2020 NV Access Limited, Peter Vágner, Aleksey Sadovoy, Babbage B.V., Bill Dengler,
4+
# Copyright (C) 2006-2021 NV Access Limited, Peter Vágner, Aleksey Sadovoy, Babbage B.V., Bill Dengler,
55
# Julien Cochuyt
66

77
from .speech import (
@@ -15,14 +15,10 @@
1515
_manager,
1616
_objectSpeech_calculateAllowedProps,
1717
_suppressSpeakTypedCharacters,
18-
_suppressSpeakTypedCharactersNumber,
19-
_suppressSpeakTypedCharactersTime,
20-
beenCanceled,
2118
BLANK_CHUNK_CHARS,
2219
cancelSpeech,
2320
CHUNK_SEPARATOR,
2421
clearTypedWordBuffer,
25-
curWordChars,
2622
FIRST_NONCONTROL_CHAR,
2723
getCharDescListFromText,
2824
getControlFieldSpeech,
@@ -34,26 +30,21 @@
3430
getPreselectedTextSpeech,
3531
getPropertiesSpeech,
3632
getSpellingSpeech,
33+
getState,
3734
getTableInfoSpeech,
3835
getTextInfoSpeech,
3936
IDT_BASE_FREQUENCY,
4037
IDT_MAX_SPACES,
4138
IDT_TONE_DURATION,
4239
isBlank,
43-
isPaused,
4440
LANGS_WITH_CONJUNCT_CHARS,
45-
oldColumnNumber,
46-
oldColumnSpan,
47-
oldRowNumber,
48-
oldRowSpan,
49-
oldTableID,
50-
oldTreeLevel,
5141
pauseSpeech,
5242
processText,
5343
PROTECTED_CHAR,
5444
RE_CONVERT_WHITESPACE,
5545
RE_INDENTATION_CONVERT,
5646
RE_INDENTATION_SPLIT,
47+
setSpeechMode,
5748
speak,
5849
speakMessage,
5950
speakObject,
@@ -66,11 +57,7 @@
6657
speakTextInfo,
6758
speakTextSelected,
6859
speakTypedCharacters,
69-
speechMode,
70-
speechMode_beeps,
71-
speechMode_beeps_ms,
72-
speechMode_off,
73-
speechMode_talk,
60+
SpeechMode,
7461
spellTextInfo,
7562
splitTextIndentation,
7663
)
@@ -105,14 +92,10 @@
10592
"_manager",
10693
"_objectSpeech_calculateAllowedProps",
10794
"_suppressSpeakTypedCharacters",
108-
"_suppressSpeakTypedCharactersNumber",
109-
"_suppressSpeakTypedCharactersTime",
110-
"beenCanceled",
11195
"BLANK_CHUNK_CHARS",
11296
"cancelSpeech",
11397
"CHUNK_SEPARATOR",
11498
"clearTypedWordBuffer",
115-
"curWordChars",
11699
"FIRST_NONCONTROL_CHAR",
117100
"getCharDescListFromText",
118101
"getControlFieldSpeech",
@@ -124,26 +107,21 @@
124107
"getPreselectedTextSpeech",
125108
"getPropertiesSpeech",
126109
"getSpellingSpeech",
110+
"getState",
127111
"getTableInfoSpeech",
128112
"getTextInfoSpeech",
129113
"IDT_BASE_FREQUENCY",
130114
"IDT_MAX_SPACES",
131115
"IDT_TONE_DURATION",
132116
"isBlank",
133-
"isPaused",
134117
"LANGS_WITH_CONJUNCT_CHARS",
135-
"oldColumnNumber",
136-
"oldColumnSpan",
137-
"oldRowNumber",
138-
"oldRowSpan",
139-
"oldTableID",
140-
"oldTreeLevel",
141118
"pauseSpeech",
142119
"processText",
143120
"PROTECTED_CHAR",
144121
"RE_CONVERT_WHITESPACE",
145122
"RE_INDENTATION_CONVERT",
146123
"RE_INDENTATION_SPLIT",
124+
"setSpeechMode",
147125
"speak",
148126
"speakMessage",
149127
"speakObject",
@@ -156,23 +134,21 @@
156134
"speakTextInfo",
157135
"speakTextSelected",
158136
"speakTypedCharacters",
159-
"speechMode",
160-
"speechMode_beeps",
161-
"speechMode_beeps_ms",
162-
"speechMode_off",
163-
"speechMode_talk",
137+
"SpeechMode",
164138
"spellTextInfo",
165139
"splitTextIndentation",
166140
]
167141

168142
import synthDriverHandler
169143
import config
144+
from .speech import initialize as speechInitialize
170145

171146

172147
def initialize():
173148
"""Loads and sets the synth driver configured in nvda.ini."""
174149
synthDriverHandler.initialize()
175150
synthDriverHandler.setSynth(config.conf["speech"]["synth"])
151+
speechInitialize()
176152

177153

178154
def terminate():

0 commit comments

Comments
 (0)