Skip to content

Commit f8fed9a

Browse files
committed
Add control to adjust MathSound preference
1 parent 2a6c68f commit f8fed9a

File tree

3 files changed

+91
-1
lines changed

3 files changed

+91
-1
lines changed

NVDA-addon/addon/globalPlugins/MathCAT/MathCATPreferences.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ def set_ui_values(self):
9898
#set the rest of the UI elements
9999
self.m_choiceSpeechAmount.SetSelection(Speech_Verbosity.index(user_preferences["Speech"]["Verbosity"]))
100100
self.m_sliderRelativeSpeed.SetValue(user_preferences["Speech"]["MathRate"])
101+
self.m_checkBoxSpeechSound.SetValue(user_preferences["Speech"]["SpeechSound"] == "Beep")
101102
self.m_choiceSpeechForChemical.SetSelection(Speech_Chemistry.index(user_preferences["Speech"]["Chemistry"]))
102103
self.m_choiceNavigationMode.SetSelection(Navigation_NavMode.index(user_preferences["Navigation"]["NavMode"]))
103104
self.m_checkBoxResetNavigationMode.SetValue(user_preferences["Navigation"]["ResetNavMode"])
@@ -121,6 +122,10 @@ def get_ui_values(self):
121122
user_preferences["Speech"]["SpeechStyle"] = self.m_choiceSpeechStyle.GetStringSelection()
122123
user_preferences["Speech"]["Verbosity"] = Speech_Verbosity[self.m_choiceSpeechAmount.GetSelection()]
123124
user_preferences["Speech"]["MathRate"] = self.m_sliderRelativeSpeed.GetValue()
125+
if self.m_checkBoxSpeechSound.GetValue():
126+
user_preferences["Speech"]["SpeechSound"] = "Beep"
127+
else:
128+
user_preferences["Speech"]["SpeechSound"] = "None"
124129
user_preferences["Speech"]["Chemistry"] = Speech_Chemistry[self.m_choiceSpeechForChemical.GetSelection()]
125130
user_preferences["Navigation"]["NavMode"] = Navigation_NavMode[self.m_choiceNavigationMode.GetSelection()]
126131
user_preferences["Navigation"]["ResetNavMode"] = self.m_checkBoxResetNavigationMode.GetValue()
@@ -196,6 +201,8 @@ def validate_user_preferences():
196201
UserInterface.validate("Speech", "Verbosity", ["Terse", "Medium", "Verbose"], "Medium")
197202
# MathRate: 100 # Change from text speech rate (%)
198203
UserInterface.validate("Speech", "MathRate", [0,200], 100)
204+
# SpeechSound: None # make a sound when starting/ending math speech -- None, Beep
205+
UserInterface.validate("Speech", "SpeechSound", ["None", "Beep"], "None")
199206
# SpeechStyle: ClearSpeak # Any known speech style (falls back to ClearSpeak)
200207
UserInterface.validate("Speech", "SpeechStyle", None, "ClearSpeak")
201208
# SubjectArea: General # FIX: still working on this

NVDA-addon/addon/globalPlugins/MathCAT/MathCATgui.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
###########################################################################
99

1010
import wx
11-
# import wx.xrc
11+
import wx.xrc
1212

1313
import gettext
1414
_ = gettext.gettext
@@ -129,6 +129,14 @@ def __init__( self, parent ):
129129

130130
bSizer121.Add( bSizer7131, 1, wx.EXPAND, 5 )
131131

132+
bSizer7121 = wx.BoxSizer( wx.HORIZONTAL )
133+
134+
self.m_checkBoxSpeechSound = wx.CheckBox( self.m_panelSpeech, wx.ID_ANY, _(u"Make a sound when starting/ending math speech"), wx.DefaultPosition, wx.DefaultSize, 0 )
135+
bSizer7121.Add( self.m_checkBoxSpeechSound, 0, wx.ALL, 5 )
136+
137+
138+
bSizer121.Add( bSizer7121, 1, wx.EXPAND, 5 )
139+
132140
bSizer712 = wx.BoxSizer( wx.HORIZONTAL )
133141

134142
self.m_staticText411 = wx.StaticText( self.m_panelSpeech, wx.ID_ANY, _(u"Subject area to be used when it cannot be determined automatically:"), wx.DefaultPosition, wx.DefaultSize, 0 )

wxFormBuilder/MathCATgui.fbp

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1128,6 +1128,81 @@
11281128
</object>
11291129
</object>
11301130
</object>
1131+
<object class="sizeritem" expanded="1">
1132+
<property name="border">5</property>
1133+
<property name="flag">wxEXPAND</property>
1134+
<property name="proportion">1</property>
1135+
<object class="wxBoxSizer" expanded="1">
1136+
<property name="minimum_size"></property>
1137+
<property name="name">bSizer7121</property>
1138+
<property name="orient">wxHORIZONTAL</property>
1139+
<property name="permission">none</property>
1140+
<object class="sizeritem" expanded="1">
1141+
<property name="border">5</property>
1142+
<property name="flag">wxALL</property>
1143+
<property name="proportion">0</property>
1144+
<object class="wxCheckBox" expanded="1">
1145+
<property name="BottomDockable">1</property>
1146+
<property name="LeftDockable">1</property>
1147+
<property name="RightDockable">1</property>
1148+
<property name="TopDockable">1</property>
1149+
<property name="aui_layer"></property>
1150+
<property name="aui_name"></property>
1151+
<property name="aui_position"></property>
1152+
<property name="aui_row"></property>
1153+
<property name="best_size"></property>
1154+
<property name="bg"></property>
1155+
<property name="caption"></property>
1156+
<property name="caption_visible">1</property>
1157+
<property name="center_pane">0</property>
1158+
<property name="checked">0</property>
1159+
<property name="close_button">1</property>
1160+
<property name="context_help"></property>
1161+
<property name="context_menu">1</property>
1162+
<property name="default_pane">0</property>
1163+
<property name="dock">Dock</property>
1164+
<property name="dock_fixed">0</property>
1165+
<property name="docking">Left</property>
1166+
<property name="enabled">1</property>
1167+
<property name="fg"></property>
1168+
<property name="floatable">1</property>
1169+
<property name="font"></property>
1170+
<property name="gripper">0</property>
1171+
<property name="hidden">0</property>
1172+
<property name="id">wxID_ANY</property>
1173+
<property name="label">Make a sound when starting/ending math speech</property>
1174+
<property name="max_size"></property>
1175+
<property name="maximize_button">0</property>
1176+
<property name="maximum_size"></property>
1177+
<property name="min_size"></property>
1178+
<property name="minimize_button">0</property>
1179+
<property name="minimum_size"></property>
1180+
<property name="moveable">1</property>
1181+
<property name="name">m_checkBoxSpeechSound</property>
1182+
<property name="pane_border">1</property>
1183+
<property name="pane_position"></property>
1184+
<property name="pane_size"></property>
1185+
<property name="permission">protected</property>
1186+
<property name="pin_button">1</property>
1187+
<property name="pos"></property>
1188+
<property name="resize">Resizable</property>
1189+
<property name="show">1</property>
1190+
<property name="size"></property>
1191+
<property name="style"></property>
1192+
<property name="subclass">; ; forward_declare</property>
1193+
<property name="toolbar_pane">0</property>
1194+
<property name="tooltip"></property>
1195+
<property name="validator_data_type"></property>
1196+
<property name="validator_style">wxFILTER_NONE</property>
1197+
<property name="validator_type">wxDefaultValidator</property>
1198+
<property name="validator_variable"></property>
1199+
<property name="window_extra_style"></property>
1200+
<property name="window_name"></property>
1201+
<property name="window_style"></property>
1202+
</object>
1203+
</object>
1204+
</object>
1205+
</object>
11311206
<object class="sizeritem" expanded="1">
11321207
<property name="border">5</property>
11331208
<property name="flag">wxEXPAND</property>

0 commit comments

Comments
 (0)