orca r4055 - in trunk: . src/orca src/orca/scripts/toolkits/Gecko
- From: wwalker svn gnome org
- To: svn-commits-list gnome org
- Subject: orca r4055 - in trunk: . src/orca src/orca/scripts/toolkits/Gecko
- Date: Mon, 21 Jul 2008 17:53:36 +0000 (UTC)
Author: wwalker
Date: Mon Jul 21 17:53:36 2008
New Revision: 4055
URL: http://svn.gnome.org/viewvc/orca?rev=4055&view=rev
Log:
More work on bug #542714 - Orca should indicate read-only text boxes.
Modified:
trunk/ChangeLog
trunk/src/orca/scripts/toolkits/Gecko/braille_generator.py
trunk/src/orca/scripts/toolkits/Gecko/speech_generator.py
trunk/src/orca/where_am_I.py
Modified: trunk/src/orca/scripts/toolkits/Gecko/braille_generator.py
==============================================================================
--- trunk/src/orca/scripts/toolkits/Gecko/braille_generator.py (original)
+++ trunk/src/orca/scripts/toolkits/Gecko/braille_generator.py Mon Jul 21 17:53:36 2008
@@ -248,6 +248,12 @@
textRegion = braille.Text(obj, label, settings.brailleEOLIndicator)
regions.append(textRegion)
+
+ if settings.presentReadOnlyText \
+ and not obj.getState().contains(pyatspi.STATE_EDITABLE):
+ regions.append(braille.Region(" " \
+ + settings.brailleReadOnlyString))
+
return [regions, textRegion]
def _getBrailleRegionsForComboBox(self, obj):
Modified: trunk/src/orca/scripts/toolkits/Gecko/speech_generator.py
==============================================================================
--- trunk/src/orca/scripts/toolkits/Gecko/speech_generator.py (original)
+++ trunk/src/orca/scripts/toolkits/Gecko/speech_generator.py Mon Jul 21 17:53:36 2008
@@ -33,6 +33,7 @@
import pyatspi
import orca.rolenames as rolenames
+import orca.settings as settings
import orca.speechgenerator as speechgenerator
from orca.orca_i18n import _
@@ -142,6 +143,10 @@
return speechgenerator.SpeechGenerator._getSpeechForText(
self, obj, already_focused)
+ if settings.presentReadOnlyText \
+ and not obj.getState().contains(pyatspi.STATE_EDITABLE):
+ utterances.append(settings.speechReadOnlyString)
+
utterances.extend(self.getSpeechForObjectRole(obj))
[text, caretOffset, startOffset] = self._script.getTextLineAtCaret(obj)
Modified: trunk/src/orca/where_am_I.py
==============================================================================
--- trunk/src/orca/where_am_I.py (original)
+++ trunk/src/orca/where_am_I.py Mon Jul 21 17:53:36 2008
@@ -118,7 +118,8 @@
elif role == pyatspi.ROLE_PAGE_TAB:
self._speakPageTab(obj, basicOnly)
- elif role in [pyatspi.ROLE_TEXT,
+ elif role in [pyatspi.ROLE_ENTRY,
+ pyatspi.ROLE_TEXT,
pyatspi.ROLE_TERMINAL]:
self._speakText(obj, basicOnly)
@@ -484,8 +485,16 @@
cell = self._script.getAncestor(obj,
[pyatspi.ROLE_TABLE_CELL],
[pyatspi.ROLE_FRAME])
- if cell:
- return self._speakTableCell(cell, basicOnly)
+ if cell and not self._script.isLayoutOnly(cell.parent):
+ # [[[TODO: WDW - we handle ROLE_ENTRY specially here because
+ # there is a bug in getRealActiveDescendant: it doesn't dive
+ # deep enough into the hierarchy (see comment #12 of bug
+ # #542714). So, we'll do this nasty hack until we can feel
+ # more comfortable with mucking around with
+ # getRealActiveDescendant.]]]
+ #
+ if obj.getRole() != pyatspi.ROLE_ENTRY:
+ return self._speakTableCell(cell, basicOnly)
utterances = []
text = self._getObjLabel(obj)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]