orca r3759 - in trunk: . src/orca



Author: richb
Date: Wed Mar 26 15:46:11 2008
New Revision: 3759
URL: http://svn.gnome.org/viewvc/orca?rev=3759&view=rev

Log:
        * src/orca/default.py:
          src/orca/Gecko.py:
          From Tomas Cerha <cerha brailcom org>
          From Peter Vagner <peter v datagate sk>
          Fix for bug #520494 â Keyboard review punctuation in Firefox.
          Use `speech.speakCharacter()' instead of `speech.speak()'.


Modified:
   trunk/ChangeLog
   trunk/src/orca/Gecko.py
   trunk/src/orca/default.py

Modified: trunk/src/orca/Gecko.py
==============================================================================
--- trunk/src/orca/Gecko.py	(original)
+++ trunk/src/orca/Gecko.py	Wed Mar 26 15:46:11 2008
@@ -1,6 +1,6 @@
 # Orca
 #
-# Copyright 2005-2007 Sun Microsystems Inc.
+# Copyright 2005-2008 Sun Microsystems Inc.
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
@@ -8204,7 +8204,7 @@
         character = self.getCharacterAtOffset(obj, characterOffset)
         if obj:
             if character and character != self.EMBEDDED_OBJECT_CHARACTER:
-                speech.speak(character, self.getACSS(obj, character), False)
+                speech.speakCharacter(character, self.getACSS(obj, character))
             elif obj.getRole() != pyatspi.ROLE_ENTRY:
                 # We won't have a character if we move to the end of an
                 # entry (in which case we're not on a character and therefore

Modified: trunk/src/orca/default.py
==============================================================================
--- trunk/src/orca/default.py	(original)
+++ trunk/src/orca/default.py	Wed Mar 26 15:46:11 2008
@@ -2316,7 +2316,7 @@
                     #
                     speech.speak(_("blank"), voice, False)
         else:
-            speech.speak(chnames.getCharacterName(character), voice, False)
+            speech.speakCharacter(character, voice)
 
         self.speakTextSelectionState(obj, startOffset, endOffset)
 
@@ -3297,11 +3297,17 @@
         else:
             voice = self.voices[settings.DEFAULT_VOICE]
 
-        # We won't interrupt what else might be being spoken
-        # right now because it is typically something else
-        # related to this event.
+        # Make sure single characters are sent to speakCharacter()
+        # rather than to speak().
         #
-        speech.speak(character, voice, False)
+        if len(character) == 1:
+            speech.speakCharacter(character, voice)
+        else:
+            # We won't interrupt what else might be being spoken
+            # right now because it is typically something else
+            # related to this event.
+            #
+            speech.speak(character, voice, False)
 
     def onTextInserted(self, event):
         """Called whenever text is inserted into an object.
@@ -4448,10 +4454,10 @@
 
         for (charIndex, character) in enumerate(itemString.decode("UTF-8")):
             if character.isupper():
-                speech.speak(character.encode("UTF-8"),
+                speech.speakCharacter(character.encode("UTF-8"),
                              self.voices[settings.UPPERCASE_VOICE])
             else:
-                speech.speak(character.encode("UTF-8"))
+                speech.speakCharacter(character.encode("UTF-8"))
 
     def _reviewCurrentItem(self, inputEvent, targetCursorCell=0,
                            speechType=1):
@@ -6276,7 +6282,10 @@
             else:
                 voice =  settings.voices[settings.DEFAULT_VOICE]
             phoneticString = phonnames.getPhoneticName(character)
-            speech.speak(phoneticString, voice)
+            if len(phoneticString) == 1:
+                speech.speakCharacter(phoneticString, voice)
+            else:
+                speech.speak(phoneticString, voice)
 
     def printAncestry(self, child):
         """Prints a hierarchical view of a child's ancestry."""



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