[orca] Only update locusOfFocus for menu item focus: events if we're not in that menu
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] Only update locusOfFocus for menu item focus: events if we're not in that menu
- Date: Fri, 27 Nov 2015 17:24:30 +0000 (UTC)
commit 84f0db5a3ff498afb2f3ce69da252f8e5d04b8c2
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Fri Nov 27 12:20:55 2015 -0500
Only update locusOfFocus for menu item focus: events if we're not in that menu
src/orca/scripts/toolkits/GAIL/script.py | 9 +++++++--
src/orca/scripts/toolkits/gtk/script.py | 15 +++++++--------
2 files changed, 14 insertions(+), 10 deletions(-)
---
diff --git a/src/orca/scripts/toolkits/GAIL/script.py b/src/orca/scripts/toolkits/GAIL/script.py
index 1d7bfa8..698e72d 100644
--- a/src/orca/scripts/toolkits/GAIL/script.py
+++ b/src/orca/scripts/toolkits/GAIL/script.py
@@ -101,8 +101,13 @@ class Script(default.Script):
# selected, we get a focus: event for that menu item, but there is
# not a state-changed event for that item, nor a selection-changed
# event for the menu.
- if role == pyatspi.ROLE_MENU_ITEM:
- orca.setLocusOfFocus(event, event.source)
+ menuItems = [pyatspi.ROLE_CHECK_MENU_ITEM,
+ pyatspi.ROLE_MENU_ITEM,
+ pyatspi.ROLE_RADIO_MENU_ITEM]
+ if role in menuItems:
+ if orca_state.locusOfFocus \
+ and orca_state.locusOfFocus.parent != event.source.parent:
+ orca.setLocusOfFocus(event, event.source)
return
# Unfiled, but in at least some dialogs, the first time a push
diff --git a/src/orca/scripts/toolkits/gtk/script.py b/src/orca/scripts/toolkits/gtk/script.py
index 088715f..7e16a42 100644
--- a/src/orca/scripts/toolkits/gtk/script.py
+++ b/src/orca/scripts/toolkits/gtk/script.py
@@ -155,14 +155,13 @@ class Script(default.Script):
# selected, we get a focus: event for that menu item, but there is
# not a state-changed event for that item, nor a selection-changed
# event for the menu.
- if role == pyatspi.ROLE_MENU_ITEM:
- orca.setLocusOfFocus(event, event.source)
- return
-
- # Unfiled seems we're missing object:state-changed events for other
- # Gtk+ menu items as well.
- if role in [pyatspi.ROLE_CHECK_MENU_ITEM, pyatspi.ROLE_RADIO_MENU_ITEM]:
- orca.setLocusOfFocus(event, event.source)
+ menuItems = [pyatspi.ROLE_CHECK_MENU_ITEM,
+ pyatspi.ROLE_MENU_ITEM,
+ pyatspi.ROLE_RADIO_MENU_ITEM]
+ if role in menuItems:
+ if orca_state.locusOfFocus \
+ and orca_state.locusOfFocus.parent != event.source.parent:
+ orca.setLocusOfFocus(event, event.source)
return
# Unfiled. When a canvas item gets focus but is not selected, we
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]