orca r4027 - in trunk: . src/orca



Author: joanied
Date: Thu Jul 10 02:57:51 2008
New Revision: 4027
URL: http://svn.gnome.org/viewvc/orca?rev=4027&view=rev

Log:
* src/orca/settings.py:
  src/orca/structural_navigation.py:
  Fix for bug #540187 - Wrapped structural navigation toggle. There
  is a new setting (wrappedStructuralNavigation) which controls
  whether or not we wrap around the document when structural 
  navigation is used. The default value is True (i.e. do wrap). If
  you would prefer Orca not wrap, you can set it to False in our
  user-settings.py or your orca-customizations.py. Many thanks go
  to Mesar (AKA Jon) for implementing this feature.


Modified:
   trunk/ChangeLog
   trunk/src/orca/settings.py
   trunk/src/orca/structural_navigation.py

Modified: trunk/src/orca/settings.py
==============================================================================
--- trunk/src/orca/settings.py	(original)
+++ trunk/src/orca/settings.py	Thu Jul 10 02:57:51 2008
@@ -171,7 +171,8 @@
     "speakCellSpan",
     "speakCellHeaders",
     "skipBlankCells",
-    "largeObjectTextLength"
+    "largeObjectTextLength",
+    "wrappedStructuralNavigation"
 ]
 
 # The name of the module that hold the user interface for the main window
@@ -1038,6 +1039,9 @@
 #
 largeObjectTextLength = 75
 
+# Whether to wrap around the document when structural navigation is used.
+wrappedStructuralNavigation = True
+
 # Report object under mouse.
 #
 enableMouseReview = False

Modified: trunk/src/orca/structural_navigation.py
==============================================================================
--- trunk/src/orca/structural_navigation.py	(original)
+++ trunk/src/orca/structural_navigation.py	Thu Jul 10 02:57:51 2008
@@ -784,7 +784,7 @@
 
         obj = obj or self.getCurrentObject()
         success = False
-
+        wrap = settings.wrappedStructuralNavigation
         # Try to find it using Collection first.  But don't do this with form
         # fields for now.  It's a bit faster moving to the next form field,
         # but not on pages with huge forms (e.g. bugzilla's advanced search
@@ -827,13 +827,13 @@
                 if not next:
                     [obj, wrapped] = self._findPrevByMatchRule(collection,
                                                                rule,
-                                                               True,
+                                                               wrap,
                                                                obj,
                                                                predicate)
                 else:
                     [obj, wrapped] = self._findNextByMatchRule(collection,
                                                                rule,
-                                                               True,
+                                                               wrap,
                                                                obj,
                                                                predicate)
                 success = True
@@ -850,10 +850,10 @@
         if not success:
             pred = structuralNavigationObject.predicate
             if not next:
-                [obj, wrapped] = self._findPrevByPredicate(pred, True,
+                [obj, wrapped] = self._findPrevByPredicate(pred, wrap,
                                                            obj, arg)
             else:
-                [obj, wrapped] = self._findNextByPredicate(pred, True,
+                [obj, wrapped] = self._findNextByPredicate(pred, wrap,
                                                            obj, arg)
             # print "predicate", structuralNavigationObject.objType
         if wrapped:



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