orca r3937 - in branches/gnome-2-22: . src/orca/scripts



Author: richb
Date: Thu May 29 16:16:21 2008
New Revision: 3937
URL: http://svn.gnome.org/viewvc/orca?rev=3937&view=rev

Log:
        * src/orca/scripts/nautilus.py:
          Fixed bug #371637 - Orca repeats "Location:" info repeatedly in
          Nautilus File Browser Dialog.


Modified:
   branches/gnome-2-22/ChangeLog
   branches/gnome-2-22/src/orca/scripts/nautilus.py

Modified: branches/gnome-2-22/src/orca/scripts/nautilus.py
==============================================================================
--- branches/gnome-2-22/src/orca/scripts/nautilus.py	(original)
+++ branches/gnome-2-22/src/orca/scripts/nautilus.py	Thu May 29 16:16:21 2008
@@ -183,3 +183,35 @@
         # Pass the event onto the parent class to be handled in the default way.
         #
         default.Script.onNameChanged(self, event)
+
+    def onStateChanged(self, event):
+        """Called whenever an object's state changes.
+
+        Arguments:
+        - event: the Event
+        """
+
+        # If we've received an "object:state-changed:showing" event for the
+        # poorly named gtk-edit toggle button, then just return. We will have
+        # spoken the information for this component with the previously
+        # received "object:state-changed:focused" event. For all other events,
+        # just let the parent class handle it. See bug #371637 for more
+        # details.
+        #
+        if event.type.startswith("object:state-changed:showing"):
+            rolesList = [pyatspi.ROLE_LABEL, \
+                         pyatspi.ROLE_PANEL, \
+                         pyatspi.ROLE_FILLER, \
+                         pyatspi.ROLE_FILLER, \
+                         pyatspi.ROLE_FILLER, \
+                         pyatspi.ROLE_PANEL, \
+                         pyatspi.ROLE_TOOL_BAR, \
+                         pyatspi.ROLE_PANEL, \
+                         pyatspi.ROLE_FRAME, \
+                         pyatspi.ROLE_APPLICATION]
+            if self.isDesiredFocusedItem(event.source, rolesList):
+                debug.println(self.debugLevel, "nautilus.onStateChanged - " \
+                              + "Location: label.")
+                return
+
+        default.Script.onStateChanged(self, event)



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