[orca] Set the active window explicitly when in a menubar menu



commit a3b3290bf35e41b581470e1d3cd21cef81b7a5c8
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Tue Feb 7 16:46:06 2017 -0500

    Set the active window explicitly when in a menubar menu

 src/orca/scripts/toolkits/GAIL/script.py |    8 ++++++++
 src/orca/scripts/toolkits/gtk/script.py  |    2 ++
 2 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/src/orca/scripts/toolkits/GAIL/script.py b/src/orca/scripts/toolkits/GAIL/script.py
index d61dc33..8fd01c5 100644
--- a/src/orca/scripts/toolkits/GAIL/script.py
+++ b/src/orca/scripts/toolkits/GAIL/script.py
@@ -42,6 +42,14 @@ class Script(default.Script):
     def getUtilities(self):
         return Utilities(self)
 
+    def locusOfFocusChanged(self, event, oldFocus, newFocus):
+        """Handles changes of focus of interest to the script."""
+
+        if self.utilities.isInOpenMenuBarMenu(newFocus):
+            orca_state.activeWindow = self.utilities.topLevelObject(newFocus)
+
+        super().locusOfFocusChanged(event, oldFocus, newFocus)
+
     def onActiveDescendantChanged(self, event):
         """Callback for object:active-descendant-changed accessibility events."""
 
diff --git a/src/orca/scripts/toolkits/gtk/script.py b/src/orca/scripts/toolkits/gtk/script.py
index 6177275..2623132 100644
--- a/src/orca/scripts/toolkits/gtk/script.py
+++ b/src/orca/scripts/toolkits/gtk/script.py
@@ -56,6 +56,8 @@ class Script(default.Script):
             isComboBox = lambda x: x and x.getRole() == pyatspi.ROLE_COMBO_BOX
             newFocus = pyatspi.findAncestor(newFocus, isComboBox) or newFocus
             orca.setLocusOfFocus(event, newFocus, False)
+        elif self.utilities.isInOpenMenuBarMenu(newFocus):
+            orca_state.activeWindow = self.utilities.topLevelObject(newFocus)
 
         super().locusOfFocusChanged(event, oldFocus, newFocus)
 


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