2006-04-22 Willie Walker * 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 * src/orca/orca-setup.glade Removed three unwanted "label-for" relationships from the orca-setup Glade file. 2006-04-21 Rich Burridge * 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 * 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 * bugs/bugs.html, bugs/bug_312093.py (new): update based upon Firefox 2.0a1 nightly from 2006-04-20. 2006-04-17 Willie Walker * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 to enable 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 * docs/doc-set/*: update requirements 2006-04-09 Willie Walker * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 Also fixed up the table of OpenOffice bugs. 2006-04-05 Rich Burridge * 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 * 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 * configure.in, orca.spec.in: begin updating dependencies 2006-03-31 Rich Burridge * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * src/orca/scripts/Evolution.py Adjusted the "A.M." and "P.M." suffix occurances in the getTimeForCalRow() routine to remove references to urine.