[orca/gnome-2-28] More work on bgo#597159 - Orca does not provide access to the contents of Packagemanager's HTML cont



commit b4dbb19ea374447bb0ee9362714f43dab8c7913a
Author: Joanmarie Diggs <joanmarie diggs gmail com>
Date:   Sun Nov 15 11:32:31 2009 -0500

    More work on bgo#597159 - Orca does not provide access to the contents of Packagemanager's HTML container
    
    This causes us to update the braille display correctly when the user is
    arrowing Left or Right and crosses into a new object on the same line.

 src/orca/scripts/apps/packagemanager/script.py |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/orca/scripts/apps/packagemanager/script.py b/src/orca/scripts/apps/packagemanager/script.py
index 4653d0b..46cd354 100644
--- a/src/orca/scripts/apps/packagemanager/script.py
+++ b/src/orca/scripts/apps/packagemanager/script.py
@@ -57,6 +57,7 @@ class Script(default.Script):
 
         default.Script.__init__(self, app)
         self._isBusy = False
+        self._lastObjectPresented = None
 
     def getListeners(self):
         """Sets up the AT-SPI event listeners for this script."""
@@ -187,6 +188,21 @@ class Script(default.Script):
 
         return True
 
+    def _presentTextAtNewCaretPosition(self, event, otherObj=None):
+        """Updates braille, magnification, and outputs speech for the
+        event.source or the otherObj. Overridden here to force the braille
+        display to be updated when the user arrows left/right into another
+        object."""
+
+        default.Script._presentTextAtNewCaretPosition(self, event, otherObj)
+
+        if not self.isSameObject(event.source, self._lastObjectPresented) \
+           and self.getAncestor(
+            event.source, [pyatspi.ROLE_HTML_CONTAINER], [pyatspi.ROLE_FRAME]):
+            self.updateBraille(event.source)
+
+        self._lastObjectPresented = event.source
+
     def updateBraille(self, obj, extraRegion=None):
         """Updates the braille display to show the given object.
 



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