[orca] Fix for bgo #607470 - Update script for Package Manager to include sibling of status bar when presen
- From: Joanmarie Diggs <joanied src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [orca] Fix for bgo #607470 - Update script for Package Manager to include sibling of status bar when presen
- Date: Sun, 24 Jan 2010 20:15:08 +0000 (UTC)
commit c336f52f77364b405c6cf96890bd4a77180f2ab1
Author: Joanmarie Diggs <joanmarie diggs gmail com>
Date: Sun Jan 24 15:08:53 2010 -0500
Fix for bgo #607470 - Update script for Package Manager to include sibling of status bar when presenting status bar contents
src/orca/scripts/apps/packagemanager/script.py | 25 ++++++++++++++++++++
.../apps/packagemanager/speech_generator.py | 21 ++++++++++++++++
2 files changed, 46 insertions(+), 0 deletions(-)
---
diff --git a/src/orca/scripts/apps/packagemanager/script.py b/src/orca/scripts/apps/packagemanager/script.py
index 8923b16..994c7dc 100644
--- a/src/orca/scripts/apps/packagemanager/script.py
+++ b/src/orca/scripts/apps/packagemanager/script.py
@@ -218,6 +218,31 @@ class Script(default.Script):
return statusBar
+ def findStatusBarIcon(self, statusBar=None):
+ """Locates the icon which is sometimes found to the left of the
+ packagemanager status bar.
+
+ Arguments:
+ - statusBar: packagemanager's status bar
+
+ Returns the accessible for the icon if the icon is found and
+ showing.
+ """
+
+ icon = None
+ if not statusBar:
+ statusBar = self.findStatusBar(orca_state.locusOfFocus)
+
+ if statusBar:
+ i = statusBar.getIndexInParent()
+ if i > 0:
+ icons = self.findByRole(
+ statusBar.parent[i - 1], pyatspi.ROLE_ICON)
+ if icons:
+ icon = icons[0]
+
+ return icon
+
def stopSpeechOnActiveDescendantChanged(self, event):
"""Whether or not speech should be stopped prior to setting the
locusOfFocus in onActiveDescendantChanged.
diff --git a/src/orca/scripts/apps/packagemanager/speech_generator.py b/src/orca/scripts/apps/packagemanager/speech_generator.py
index 5d18348..d0793f3 100644
--- a/src/orca/scripts/apps/packagemanager/speech_generator.py
+++ b/src/orca/scripts/apps/packagemanager/speech_generator.py
@@ -86,3 +86,24 @@ class SpeechGenerator(speech_generator.SpeechGenerator):
result.extend(speech_generator.SpeechGenerator.\
_generateAvailability(self, obj, **args))
return result
+
+ def _generateStatusBar(self, obj, **args):
+ """Returns an array of strings (and possibly voice and audio
+ specifications) that represent the status bar of a window.
+ This method should initially be called with a top-level window.
+ """
+ result = []
+ statusBar = self._script.findStatusBar(obj)
+ if statusBar:
+ name = self._generateName(statusBar)
+ if name:
+ result.extend(name)
+ else:
+ for child in statusBar:
+ result.extend(self._generateName(child))
+
+ icon = self._script.findStatusBarIcon(statusBar)
+ if icon:
+ result[0:0] = self.generate(icon)
+
+ return result
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]