[orca/570658] Embed 'voice', 'obj', and 'role' in the globals for interpreting format.



commit 54b4383110c10daf96163903bfa2fc7d066d0b25
Author: Willie Walker <william walker sun com>
Date:   Wed May 13 12:58:27 2009 -0400

    Embed 'voice', 'obj', and 'role' in the globals for interpreting format.
    
    This allows the 'voice' keyword to take parameters.
---
 src/orca/altspeechgenerator.py |   14 ++++++++++----
 src/orca/formatting.py         |    2 +-
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/orca/altspeechgenerator.py b/src/orca/altspeechgenerator.py
index f639d7d..864beda 100755
--- a/src/orca/altspeechgenerator.py
+++ b/src/orca/altspeechgenerator.py
@@ -87,6 +87,9 @@ class AltSpeechGenerator:
         methods = {}
         for key in self._methodsDict.keys():
             methods[key] = []
+        methods["voice"] = self.voice
+        methods["obj"] = None
+        methods["role"] = None
         for roleKey in self._script.formatting["speech"]:
             for speechKey in ["focused", "unfocused"]:
                 try:
@@ -755,10 +758,9 @@ class AltSpeechGenerator:
     #                                                                   #
     #####################################################################
 
-    def _getVoice(self, obj, **args):
-        voiceKey = args.get('role', obj.getRole())
+    def voice(self, key=None):
         try:
-            voice = settings.voices[voiceKey]
+            voice = settings.voices[key]
         except:
             voice = settings.voices[settings.DEFAULT_VOICE]
         return [voice]
@@ -767,11 +769,15 @@ class AltSpeechGenerator:
         # pylint: disable-msg=W0142
         result = []
         methods = {}
+        methods["voice"] = self.voice
+        methods["obj"] = obj
+        methods["role"] = args.get('role', obj.getRole())
+
         try:
             # We sometimes want to override the role.  We'll keep the
             # role in the args dictionary as a means to let us do so.
             #
-            args['role'] = args.get('role', obj.getRole())
+            args['role'] = methods["role"]
 
             # We loop through the format string, catching each error
             # as we go.  Each error should always be a NameError,
diff --git a/src/orca/formatting.py b/src/orca/formatting.py
index 22ca0bf..94315c6 100755
--- a/src/orca/formatting.py
+++ b/src/orca/formatting.py
@@ -89,7 +89,7 @@ defaultFormatting = {
             # voice in the format.  It should be removed when we've
             # figured that stuff out.]]]
             #
-            'unfocused': 'voice + labelAndName + [voice + roleName]'
+            'unfocused': 'voice(role) + labelAndName + [voice("uppercase") + roleName]'
             },
         pyatspi.ROLE_RADIO_BUTTON: {
             'focused': 'radioState',



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]