2006-04-22  Willie Walker <william.walker@sun.com>

	* NEWS, configure.in, README: prep for 0.2.3.
	* po/POTFILES.in: remove Gecko.py.
	* configure.in: get the ORCA_SETUP_GLADE_DIR working better.
	* src/orca/mag.py: minor attempt to follow the caret when it
	moves.

2006-04-21  Rich Burridge <rich.burridge@sun.com>

        * src/orca/orca-setup.glade
          Removed three unwanted "label-for" relationships from the
          orca-setup Glade file.

2006-04-21  Rich Burridge <rich.burridge@sun.com>

        * src/orca/orca-setup.in
          Adjusted the nonGui() side of orca-setup to ask the question:
          "Enable Braille?  Enter y or n: ", rather than always set it
          to True. Removed the now redundant seupBraille() routine.

2006-04-21  Rich Burridge <rich.burridge@sun.com>

        * configure.in 
          src/orca/Makefile.am
          src/orca/orca-setup.glade
          src/orca/orca-setup.in
          Created an initial version of a GUI for Orca configuration.
          At the moment, if you run "orca-setup", it will default to
          the command line version and will ask you a series of questions.
          If you start it with "orca-setup -gui", then it will bring up
          a GUI equivalent. 

          There is still work to do on this before it can be announced 
          on the Orca mailing list. When it's ready, the plan is to swap 
          the default behaviour (i.e. no command line options) to be the 
          GUI version. The command line version would still be available 
          via a "-nogui" command line option.

2006-04-20  Willie Walker <william.walker@sun.com>

	* bugs/bugs.html, bugs/bug_312093.py (new): update based upon 
	Firefox 2.0a1 nightly from 2006-04-20.
	
2006-04-17  Willie Walker <william.walker@sun.com>

	* src/orca/default.py: fix for bug 338687 - no longer
	automatically speaks unbound text in panels that suddenly appear.
	NOTE that Orca will still automatically speak dialogs and such.
	NOTE ALSO that this fix probably breaks wizard dialogs, but wizards
	are so broken, anyway, that I think they need to be handled a little
	differently.
	* src/orca/atspi.py, src/orca/settings.py: fix for bug 334924 to
	keep the cache in better sync.  Also use settings.cacheValues 
	setting instead of atspi.CACHE_VALUES to allow easier setting
	and unsetting of whether to cache or not.
	* src/orca/default.py: more work for bug 319643. Magnification is
	working again, though it does indeed need a bit of work to make it
	usable.  See also http://bugzilla.gnome.org/show_bug.cgi?id=323032.
	* src/orca/orca.py, src/orca/mag.py: patch for bug 319643 - recover
	gracefully from failures when attempting to load the magnifier.
	This allows Orca to work if gnome-mag had not been installed.
	* src/orca/rolenames.py, src/orca/atspi.py,
	src/orca/scripts/gedit.py, src/orca/scripts/gaim.py: fix for bug
	319789 - fallback to localized rolename if it exists.	
	* src/orca/orca-setup.in: fix for bug 330631 - put rate, gain,
	and pitch in user-settings.py.
	* src/orca/orca.py: fix for bug 319651 - issue a message and abort
	orca if accessibility has not been enabled for the session.
	* src/orca/debug.py: update documentation to reflect new way to
	set debugLevel.
	* test/harness/user-settings.py.in: update to reflect new settings
	and new method for setting settings.
	
2006-04-16  Willie Walker <william.walker@sun.com>

	* src/orca/orca_i18n.py.in: fix for bug 338690: orca_i18n was not
	working as expected.	
	* src/orca/default.py, src/orca/util.py,
	src/orca/scripts/Mozilla.py, src/orca/scripts/StarOffice.py: make
	sayLine, sayWord, and sayCharacter be object methods as opposed to
	top level module methods.  Also move textLines and getLinkIndex
	methods from default.py to util.py. These changes merely reflect a
	small cleanup of the object-oriented nature of the code and should
	not have any impact on the end user experience.
	
2006-04-15  Willie Walker <william.walker@sun.com>

	* src/orca/focus_tracking_presenter.py: provide some delimiter
	output to make it easier to identify the various processing
	steps that are done when an event is processed.
	* src/orca/speechgenerator.py, src/orca/scripts/gnome-terminal.py:
	remove some speech output.  This seems to eliminate hearing 
	"terminal" 6 times, but it does not address the repetitive stuff
	that's going on when you go through the profile editing tabs.
	* src/orca/orca.py: delay registration of keyboard listeners until
	after the user preferences have been loaded.  This prevents
	exceptions from occurring if the user types on the keyboard in
	between the time the user starts orca and the time orca is fully
	initialized.
	* src/orca/orca-setup.in: remove an errant ")" at the end of a
	commented out debug line.
 	
2006-04-14  Willie Walker <william.walker@sun.com>

	* src/orca/*.py, src/orca/scripts/*.py: general pass at
	removing trailing whitespace from source code, removing
	tabs, and making sure copyrights are up to date.
	
	* src/orca/default.py, src/orca/orca.py, src/orca/script.py,
	src/orca/scripts/Evolution.py, src/orca/scripts/Mozilla.py,
	src/orca/scripts/StarOffice.py, src/orca/scripts/gcalctool.py,
	src/orca/scripts/gdmlogin.py, src/orca/scripts/gedit.py,
	src/orca/scripts/gnome-terminal.py, src/orca/scripts/metacity.py,
	src/orca/scripts/planner.py: break HUGE default.py:__init__
	method up and provide 4 new methods to script.py:

        setupInputEventHandlers: sets up input event handlers for a script
	getListeners: returns dictionary of AT-SPI event listeners 
        getKeyBindings: returns keybindings that define which keystrokes
	                call which input event handlers
        getBrailleBindings: returns braillebindings that define which
	                braille input events call which input event
	                handlers

	This change allows subclasses to more easily define and override
	the various features.
	
2006-04-13  Willie Walker <william.walker@sun.com>

	* src/orca/focus_tracking_presenter.py, src/orca/atspi.py: pass
	one at bug 334893.  This patch adds the knowledge of the toolkit
	name and version to an Accessible's application.  In the event
	that a custom script cannot be found for an application, this
	patch also attempts to load a script module based upon the toolkit
	name before falling back to the default script.  The main
	restriction of this patch is that it does not allow one to
	override the toolkit module (i.e., settings.scriptPackages is not
	used) and the toolkit module must be in the "orca" package.  This
	probably should be relaxed at some point, but I'm not comfortable
	with mixing toolkit scripts and application scripts in the same
	packages because of potential Python namespace conflicts (e.g., an
	application written in Java named "GAIL" and an application
	written using the GAIL toolkit might accidentally both end up
	using the GAIL script).
	
	* src/orca/braille.py, src/orca/braillegenerator.py,
	src/orca/debug.py, src/orca/default.py,
	src/orca/focus_tracking_presenter.py,
	src/orca/gnomespeechfactory.py, src/orca/input_event.py,
	src/orca/orca-setup.in, src/orca/orca.py, src/orca/rolenames.py,
	src/orca/script.py, src/orca/settings.py, src/orca/speech.py,
	src/orca/speechgenerator.py, src/orca/scripts/Evolution.py,
	src/orca/scripts/StarOffice.py: fix for bug 338240 to refactor the
	way user-settings are managed.  This new method removes the
	two-tier approach and has user-settings.py set values in
	settings.py.  It also isolates the default values to settings.py
	and removes a fair amount of complexity.  Furthermore, this
	includes nascent support (Insert+Ctrl+s) to allow the user to
	dynamically reload user-settings.py should they edit it while Orca
	is running.  The reload will also restart speech and braille.
	
2006-04-12  Rich Burridge <rich.burridge@sun.com>

        * src/orca/default.py
          src/orca/orca.py
          In the _keyEcho() routine in orca.py, no longer do anything
          special if this is a printable character and a "special" 
          component ("special" is an editable component or a terminal).

          In the onTextInserted() routine in default.py, check if the 
          last input event was a keyboard event, check to see if the 
          text for this event matches what the user typed. If it does,
          then don't speak it.
        
           Note that we have to special case the space character as it 
           comes across as "space" in the keyboard event and " " in the
           text event.

2006-04-11  Rich Burridge <rich.burridge@sun.com>

        * src/orca/default.py
          Added code to the onTextInserted() method to say the last word
          when "echo by word" is enabled. Note that it's not speaking the
          punctuation or whitespace after the word at the moment. That 
          will require some changes to the sayWord() method.

2006-04-11  Rich Burridge <rich.burridge@sun.com>

        * src/orca/settings.py  
          src/orca/orca.py
          src/orca/default.py
          src/orca/orca-setup.in
          Changes to the way key echo work per the key and word echo
          requirements spec.

          Key echo applies to the entire keyboard and is for echoing 
          keys as they are pressed. The keys are broken into the following 
          groups that the user can optionally enable for echoing:

          o Alphanumeric and punctuation keys

          o Modifier keys: CTRL, ALT, Shift, Insert, and "Fn" on laptops.

          o Locking keys: Caps Lock, Num Lock, Scroll Lock, etc.

          o Function keys: The keys at the top of the keyboard.

          o Action keys: space, enter, escape, tab, backspace, delete, arrow
            keys, page up, page down, etc.

          When a key from any enabled group is pressed, the key will 
          be spoken.

          The onTextInserted() method only speaks the text associated
          with the "object:text-change:insert" event if key echoing and
          echoing of printable characters are both enabled.

          The orca-setup.in script has been adjusted to ask various questions
          to allow the user to setup whether these types of keys will be
          echoed or not.

        * src/orca/settings.py
          src/orca/braille.py
          src/orca/focus_tracking_presenter.py
          src/orca/orca.py
          src/orca/orca-setup.in
          Refactoring of use<name> to enable<name> for various settings to
          be consistent in style with the names for the new keyboard 
          enabling types.

          The orca-setup.in script has been adjusted to use these new names.

2006-04-10  Willie Walker <william.walker@sun.com>

	* docs/doc-set/*: update requirements
	
2006-04-09  Willie Walker <william.walker@sun.com>

	* src/orca/scripts/planner.py: use new braille API to for 
	displayRegions and also handle the label a little better.
	* src/orca/orca.py, src/orca/settings.py: fix for bug 337857,
	allow user to customize which key(s) can be used as the Orca
	modifier key.
	* po/POTFILES.in: add gedit and utils.
	
2006-04-08  Willie Walker <william.walker@sun.com>

	* src/orca/braille.py, src/orca/scripts/Evolution.py
	src/orca/scripts/StarOffice.py: fix for bug 337704 - add API
	symmetry to braillegenerator.py:getBrailleRegions and
	braille.py:displayRegions.
	* src/orca/orca-setup.in: fix for RFE (bug 337709) - force
	speaking rate parameter to be added to ACSS for default force.
	
2006-04-07  Rich Burridge <rich.burridge@sun.com>

        * src/orca/default.py
          Small change to the onTextInserted() method as part of the
          key echo revamp. If echoing by character and word are both 
          off, then just return and don't speak anything.

          [Update: change removed for now as it has the side-effect
           of no longer speaking any text that's inserted into the gedit or
           gnome-terminal application. Need to find out how to determine
           whether this "object:text-changed:insert" event was generated
           as the result of a key being pressed.]

2006-04-07  Rich Burridge <rich.burridge@sun.com>

        * bugs/bugs.html
          Added in the following GNOME planner bug:

          http://bugzilla.gnome.org/show_bug.cgi?id=337659
          Planner Edit Task Properties dialog has broken accessible 
          component hierarchy.

2006-04-07  Rich Burridge <rich.burridge@sun.com>

        * src/orca/scripts/planner.py
          Adjustment to case #1 in the onFocus() method, to also add
          the label for the toggle button to the braille display.

2006-04-07  Rich Burridge <rich.burridge@sun.com>

        * src/orca/orca-setup.in
          Several changes to the orca-setup script:
          - Removed the "Use key echo?" question and associated
            orca.settings.USE_KEY_ECHO setting. 
          - Replaced it with:
            "Echo by word, character, both or none?  Enter w, c, b or n: "
            which  will set two settings to True or False:
              orca.settings.USE_ECHO_BY_WORD
              orca.settings.USE_ECHO_BY_CHAR
            depending upon the users answer.
          - Added in another question: "Use Braille Monitor?  Enter y or n: ".
            The Braille Monitor is a visual representation of what is being
            brailled by Orca.
          - Automatically create a "orca-scripts" directory under the
            users .orca directory, if it doesn't already exist.
          - Automatically create an empty __init__.py file in the 
            orca-scripts directory, if it doesn't already exist. 
            This will enable the user to put their own specific 
            applications scripts in the orca-scripts directory, 
            and Orca will pick them up.
          - Added a section of code that will generate the following lines
            at the end of the user's user-settings.py file:

              try:
                  __import__("orca-customizations")
              except ImportError:
                  pass

            What this means is that Orca will now look for a file
            called "orca-customizations.py" in the user's .orca directory.
            This file should contain any custom Orca Python code that the
            user wants. Having it in a separate file from user-settings.py
            means it won't get blown away when you rerun orca-setup

2006-04-06  Rich Burridge <rich.burridge@sun.com>

        * src/orca/orca.py
          Added in two sections of code in _keyEcho():
          - check to see if the key event is for a "special" key (via
            the new _specialKey method) and if so, then handle its 
            echoing in the _keyEcho method. Currently this is just testing
            for Control, Alt, Shift and Meta. Over time, this routine
            will be tweaked to handle the full set of special keys.

          - check to see if the object that currently has focus is an 
            editable text object or has a role of "terminal". If so, and
            its not a special key, then the echoing of the key event will 
            occur via an "object:text-changed:insert" event.

          This improves the double echoing that was previously happening.

2006-04-06  Rich Burridge <rich.burridge@sun.com>

        * src/orca/orca.py
          Slight refactoring to move some keyboard echo code out of
          _processKeyboardEvent() and  into the _keyEcho() method.
          _keyEcho() now takes an event (AT-SPI DeviceEvent) parameter
          rather than an event_string so that at a later date, we can 
          fully interrogate the keyboard event we've just received.

2006-04-06  Rich Burridge <rich.burridge@sun.com>

        * src/orca/scripts/planner.py src/orca/scripts/Evolution.py
          src/orca/scripts/planner.py src/orca/scripts/Evolution.py
          Adjusted case #1 in the onFocus() method in the planner.py 
          script, to fall through and also do the default action for
          the focus event.

          Removed the walkComponentHierarchy() from the planner,
          Evolution, StarOffice and gedit scripts and used calls to
          atspi.printAncestry(event.source) instead.

2006-04-06  Willie Walker <william.walker@sun.com>

	* src/orca/orca.py, src/orca/atspi.py,
	src/orca/hierarchical_presenter.py, src/orca/scripts/metacity.py:
	fix for bug 337489 where metacity script would inappropriately
	think apps that started after Orca started were inaccessible.
	
2006-04-05  Willie Walker <william.walker@sun.com>

	* src/orca/focus_tracking_presenter.py, orca/src/settings.py: fix
	for bug 337322 where the user was not being notified of window
	title changes when the user uses Alt+TAB to tab between windows.
	The primary culprit was name space pollution by GTK, but Orca
	should sheild itself from this.  This fix provides that shield
	somewhat, but the ramification is that scripts are no longer
	picked up from the local directory (which was just a convenience
	for script writers).	
	* docs/doc-set/*.{sgml,html,pdf}: make this compile again.  For
	some bizarre reason, docbook on my Ubuntu box no longer liked "_"
	in entities or ids, and it was easier to get rid of them rather
	than scour the web to see what was going wrong.
	
2006-04-05  Rich Burridge <rich.burridge@sun.com>

        * src/orca/atspi.py
          Changes to the __get_label() method. The check to see if the
          object has a name (and if so, return it), has been moved to
          the beginning. The improves the readibility of checkboxes on 
          various StarOffice options dialog panes.

          The special case code for push buttons with children, has been 
          adjusted to no longer first check to see if the push button has 
          a name.

2006-04-05  Rich Burridge <rich.burridge@sun.com>

        * src/orca/default.py
          Couple of changes to the visualAppearanceChanged() method.

          1/ If this object is CONTROLLED_BY the object that currently
             has focus, speak/braille this object.

          2/ If this object is a label, and if it has a LABEL_FOR relation
             to the focused object, then we should speak/braille the
             focused object, as if it had just got focus.

2006-04-05  Rich Burridge <rich.burridge@sun.com>

        * bugs/bugs.html
          Added in the following GNOME planner bug:

          http://bugzilla.gnome.org/show_bug.cgi?id=337382
          Toggle button in main window not accessible</td>

          Also fixed up the table of OpenOffice bugs.

2006-04-05  Rich Burridge <rich.burridge@sun.com>

        * src/orca/scripts/Makefile.am
          src/orca/scripts/planner.py    (new)
          Created a new planner.py script for the Planner application.
          Currently it looks to see if the focus is on one of the four 
          graphical toggle buttons on the left side of the main window 
          and if so, speaks the label associated with it.

2006-04-04  Rich Burridge <rich.burridge@sun.com>

        * bugs/bugs.html
          Added the following new OpenOffice bugs:

          http://www.openoffice.org/issues/show_bug.cgi?id=63979
          The User Data options pane is confusing when read with 
          a screen reader.

          http://www.openoffice.org/issues/show_bug.cgi?id=63980
          The StarOffice->General options pane doesn't provide useful 
          labels when read by a screen reader.

          http://www.openoffice.org/issues/show_bug.cgi?id=63981
          The StarOffice->View options pane doesn't provide useful 
          labels for checkboxes when read with a screen reader.

          http://www.openoffice.org/issues/show_bug.cgi?id=63982
          The StarOffice->Print options pane doesn't provide useful 
          information when read with a screen reader.

          http://www.openoffice.org/issues/show_bug.cgi?id=63983
          The StarOffice->Paths options pane table doesn't provide 
          useful information when read with a screen reader.

          http://www.openoffice.org/issues/show_bug.cgi?id=63984
          The StarOffice->Security options pane doesn't provide useful 
          information for checkboxes when read with a screen reader.

          http://www.openoffice.org/issues/show_bug.cgi?id=63985
          The StarOffice->Accessibility options pane doesn't provide 
          useful information for checkboxes when read with a screen 
          reader.

2006-04-02  Willie Walker <william.walker@sun.com>

	* configure.in, orca.spec.in: begin updating dependencies
	
2006-03-31  Rich Burridge <rich.burridge@sun.com>

        * bugs/bugs.html
          Added two new Open Office bugs:

          http://www.openoffice.org/issues/show_bug.cgi?id=63870
          Writer doesn't implement text.getDefaultAttributes.

          http://www.openoffice.org/issues/show_bug.cgi?id=63871
          Spreadsheet doesn't implement text.getDefaultAttributes.

2006-03-30  Rich Burridge <rich.burridge@sun.com>

        * src/orca/util.py
          src/orca/scripts/gedit.py
          src/orca/scripts/Evolution.py
          src/orca/scripts/StarOffice.py
          Created a speakMisspeltWord(allTokens, badWord) routine in
          util.py that is now used by the spell checking code for the
          gedit, Evolution and StarOffice scripts.

2006-03-30  Rich Burridge <rich.burridge@sun.com>

        * src/orca/orca-setup.in
          Fixed bug #336648 (http://bugzilla.gnome.org/show_bug.cgi?id=336648)
          The orca-setup script now successfully completed speaking 
          "Orca setup finished" before the speech server is shutdown.

2006-03-30  Rich Burridge <rich.burridge@sun.com>

        * src/orca/scripts/gedit.py
          Added in spell checking support. The misspelt word and its
          context are now spoken in a similar way to the StarOffice and
          Evolution scripts.

          NOTE: this will currently only work correctly if you turn:
                CACHE_VALUES = False
                in atspi.py. See Orca bug #334924 for more details
                (http://bugzilla.gnome.org/show_bug.cgi?id=334924).

2006-03-30  Rich Burridge <rich.burridge@sun.com>

        * bugs/bugs.html
          Added an entry for OpenOffice Writer bug #63818:
          F10 key doesn't bring up the menu bar.

2006-03-27  Rich Burridge <rich.burridge@sun.com>

        * src/orca/scripts/Evolution.py
          Change to the readMisspeltWord() routine to only braille (not 
          speak) the default action for this component.

2006-03-27  Rich Burridge <rich.burridge@sun.com>

        * src/orca/scripts/StarOffice.py
          Changes to the readMisspeltWord() routine to:
          - Only braille (not speak) the default action for this component.
          - Handle misspelt words at the end of the line.
          - Don't respeak the mispelt word and context when tabbing around
            inside the Spell Checker Dialog.

2006-03-27  Rich Burridge <rich.burridge@sun.com>

        * src/orca/rolenames.py
          Fixed bug #330487 (http://bugzilla.gnome.org/show_bug.cgi?id=330487)
          Typo in one of the strings in the rolenames[ROLE_DRAWING_AREA]
          rolename entry.

2006-03-27  Rich Burridge <rich.burridge@sun.com>

        * src/orca/scripts/Evolution.py
          Adjusted the "A.M." and "P.M." suffix occurances in the
          getTimeForCalRow() routine to remove references to urine.