2006-06-11 Willie Walker * MAINTAINERS, RELEASE_HOWTO: final prep for 0.2.5 2006-06-09 Willie Walker * NEWS, configure.in, README: prep for 0.2.5. * src/orca/*.py, src/orca/scripts/*.py: add pydocs and other information (CVS version, date, id, copyright, etc.) to each python module. 2006-06-09 Rich Burridge * src/orca/default.py: src/orca/scripts/Evolution.py: Adjust so that we use settings.readTableCellRow now, rather than Script.readTableCellRow. * src/orca/default.py: Better handle the situation where the user types Control-Shift-Left or Control-Shift-Right and the text cursor position was in the middle of a word. * src/orca/speechgenerator.py: Support for speech for generic readTableCellRow (Insert+F11). * src/orca/braillegenerator.py Support for speech for generic readTableCellRow (Insert+F11). 2006-06-09 Willie Walker * bugs/bugs.html: add Thunderbird broken table bug 340978. * src/orca/settings.py, src/orca/atspi.py: provide a setting (settings.cacheAccessibles) to determine whether to cache accessibles locally or not. * src/orca/scripts/metacity.py: fix exception that was being silently swallowed by focus_tracking_presenter.py. * src/orca/focus_tracking_presenter.py: do not silently swallow exceptions when processing object events. Needed to catch this in a couple spots. 2006-06-08 Rich Burridge * src/orca/util.py: Slight adjustment to the speakTextSelectionState() routine to save away the last text cursor position. This will be used in the _presentTextAtNewCaretPosition() routine in default.py. Further adjustments to the speakTextSelectionState() routine to handle special cases: Shift-Page-Down: speak "page selected from cursor position". Shift-Page-Up: speak "page selected to cursor position". Control-Shift-Down: speak "line selected down from cursor position". Control-Shift-Up: speak "line selected up from cursor position". Control-Shift-Home: speak "document selected to cursor position". Control-Shift-End: speak "document selected from cursor position". * src/orca/default.py: Now handles the following cases: Shift-Up: Shift-Down: Shift-Home: Shift-End: Control-Shift-Page-Down: Control-Shift-Page-Up: We speak the text that's been selected (followed by "selected"). If there was text selected it speaks that previously selected text, followed by "unselected". Added in a section to handle Control-A (entire document selected). 2006-06-08 Willie Walker * src/orca/braillegenerator.py, src/orca/settings.py: fix bug 344307 - add new setting, enableBrailleGrouping, to determine whether items such as menu items and page tabs should be grouped with their siblings on the braille display. Disable this by default to provide better runtime performance. NOTE: this represents a change in the UI for Orca - the behavior to date has been to always group menu items. The user responsiveness was bad for large menus, however, so we decided to make this an optional feature. * bugs/bugs.html: update to include various bugs we need to track 2006-06-07 Willie Walker * src/orca/atspi.py: fix for bug 344218 - handle the case where the gnome-terminal terminal's role changes from unknown to terminal. We do this by not caching roles that are ROLE_UNKNOWN. The main problem here appears to be that the terminal issues events prior to its role being set up properly, and the atk (atkobject.c:927) has specific code to prevent notification for when the role changes from ROLE_UNKNOWN to seomthing else. 2006-06-07 Rich Burridge * src/orca/util.py: Adjustments to the speakTextSelectionState() routine to handle [un]selecting by word (Control-Shift-[Left, Right]). Still need to handle [Control]-Shift-[Up, Down, Home, End, Page-Up, Page-Down]. This is how we are proposing to handle these twelve cases: Shift-Up: Shift-Down: Shift-Home: Shift-End: Control-Shift-Page-Down: Control-Shift-Page-Up: Speak the text that's been selected (followed by "selected"). If there was text selected it should speak that previously selected text, followed by "unselected". Shift-Page-Down: Control-Shift-Down: Speak the last selected line then say "page selected from cursor position". Shift-Page-Up: Control-Shift-Up: Speak the first selected line then say "page selected to cursor position". Control-Shift-Home: Speak the first selected line then say "document selected to cursor position". Control-Shift-End: Speak the last selected line then say "document selected from cursor position". 2006-06-06 Rich Burridge * src/orca/util.py: Added a new speakTextSelectionState() that will speak "selected" if the text was just selected, "unselected" if it was just unselected. Slight adjustments to the isTextSelected() routine to pass in a start and end offset for the text. * src/orca/default.py: Adjustments to the sayCharacter(), sayWord() and sayLine() routines to call speakTextSelectionState() 2006-06-06 Willie Walker * src/orca/speech.py, src/orca/speechserver.py, src/orca/gnomespeechfactory.py: add support for isSpeaking and allow this to also be something that can be queried via the HTTP support. 2006-06-05 Rich Burridge * src/orca/util.py: Added a new isTextSelected() routine that returns True if the text caret associated with the given Accessible object, is located within a selected region of text. * src/orca/default.py: Updates to the sayCharacter(), sayWord() and sayLine() routines to speak "selected", if the user navigated around holding the Shift key down. 2006-06-03 Willie Walker * src/brl/brlmodule.c: fix for bug 343666: use PyGILState calls to call into Python to prevent thread deadlock. 2006-06-02 Rich Burridge * src/orca/espeechfactory.py: src/orca/gnomespeechfactory.py: src/orca/orca.py: src/orca/settings.py: src/orca/speech.py: src/orca/speechserver.py: Added in keyboard bindings for: Insert-Up (Increase speech pitch). Insert-Down (Decrease speech pitch). 2006-06-02 Rich Burridge * docs/pydoc/.cvsignore Added in all the generated HTML files. * src/orca/scripts/gedit.py: Reinserted missing "#" character at the beginning of line 1 that was causing a SyntaxError: invalid syntax when running gedit. * src/orca/orca.py: Various changes to keyboard bindings: F12 or SunF37 ==> Insert-q (Quits Orca). Control-Insert-F5 ==> Insert-F4 (Cycles debug level). Control-Insert-F7 ==> Insert-F8 (Prints debug information about the application with focus). Insert-F8 ==> Insert-F10 (Switches to the next presentation manager. * src/orca/default.py: Insert-i ==> Insert-F3 (Reports information on current script). Speak either "Speak row" or "Speak cell" in toggleTableCellReadMode() depending upon the new setting of self.readTableCellRow. 2006-06-01 Willie Walker * src/orca/atspi.py, src/orca/braille.py, src/orca/braillegenerator.py, src/orca/default.py, src/orca/espeechfactory.py, src/orca/focus_tracking_presenter.py, src/orca/hierarchical_presenter.py, src/orca/orca.py, src/orca/orca_console_prefs.py, src/orca/speechgenerator.py, src/orca/util.py, src/orca/scripts/Evolution.py, src/orca/scripts/StarOffice.py, src/orca/scripts/gcalctool.py, src/orca/scripts/gedit.py, src/orca/scripts/metacity.py, src/orca/scripts/planner.py: refactor to pull spurious utilities out of orca.py and atspi.py and put them in util.py. * src/orca/util.py: when looking into hierarchies for objects, do not pursue hiearchies under objects that are not showing. 2006-05-31 Rich Burridge * src/orca/speechgenerator.py: Readjusted _getSpeechForFrame() to just get the default speech instead of treating the frame like an alert and speaking all unrelated labels. We'll need to see if this has any adverse effects and adjust accordingly. * src/orca/scripts/StarOffice.py: Even better handling of the "has formula" situation for spread sheet table cells. This is now done in the onSelectionChanged() method when the Name Box combo box gets an "object:selection-changed" event. 2006-05-31 Willie Walker * src/orca/focus_tracking_presenter.py: possible fix for bug 342022. It appears as though the desktop would get a little flaky as synaptic was popping up windows and then destroying them as it was showing progress. This provides yet another defensive mechanism to handle this. Note that synaptic in general needs a bit of scripting to make it truly usable. * src/orca/flat_review.py: fix for bug 343133 where Orca would reliably hang when attempting to do a flat review of gnome-terminal when the user was viewing a man page. This seems to be caused by a bug in gnome-terminal returning nonsensical offsets from getTextAtOffset. We needed to do a little defensive programming here. 2006-05-30 Rich Burridge * src/orca/scripts/StarOffice.py: Better handling of the "has formula" situation for spread sheet table cells. Because the updating of the input line might not have happened when the table cell gets focus, this is now done in the onTextInserted method. 2006-05-26 Rich Burridge * src/orca/scripts/StarOffice.py: Added in a speakInputLine handler (triggered by typing Insert-a), that will speak the contents of the spread sheet input line, assuming the current locus of focus is a table cell. Created a global isSpreadSheetCell() routine, that is used (in three places) to determine if the given object is a table cell. 2006-05-26 Rich Burridge * src/orca/orca.py: Fix for bug #343013. http://bugzilla.gnome.org/show_bug.cgi?id=343013 The command line option strings should not be translatable. * src/orca/scripts/StarOffice.py: Adjusted the braille/speech out for StarOffice spread sheet table cells to append "has formula" if the input line contents for the spread sheet did not match what is being displayed in the table cell. * bugs/bugs.html Added Evolution bug #343035 to the list of bugs to track. 2006-05-25 Rich Burridge * src/orca/scripts/StarOffice.py: Added in BrailleGenerator:_getBrailleRegionsForTableCell and SpeechGenerator:_getSpeechForTableCell in order to better braille/speak the contents of a spread sheet table cell. 2006-05-24 Willie Walker * src/orca/atspi.py: call gobject.threads_init() in an attempt to help further address bug 319652. 2006-05-24 Rich Burridge * src/orca/scripts/Evolution.py Added in a specific sayAll() method for Evolution. We have to do this because Evolution does now implement the FLOWS_TO relationship and all the text are in an HTML panel which contains multiple panels, each containing a single text object. Needed to subclass the setupInputEventHandlers() method so that we could add in an input event handler that pointed at our sayAll() method. 2006-05-23 Willie Walker * src/orca/atspi.py: pass "orbit-io-thread" to initialize the ORB in threaded mode. This should hopefully help address bug 319652: http://bugzilla.gnome.org/show_bug.cgi?id=319652 See also: http://bugzilla.gnome.org/show_bug.cgi?id=342614 http://mail.gnome.org/archives/orbit-list/2005-December/msg00001.html * src/orca/speech.py: add GET support to HTTP server as a means to check Orca version number. 2006-05-23 Rich Burridge * src/orca/scripts/gedit.py: - Changed all occurances of onFocus() to locusOfFocusChanged(). - Adjustment so that a single line change will "fire off" all the debug messages in the gedit script. - Removed the call to orca.setLocusOfFocus() in readMisspeltWord(). * src/orca/scripts/Evolution.py: - Changed all occurances of onFocus() to locusOfFocusChanged(). - Removed various calls to orca.setLocusOfFocus() * src/orca/util.py: Adjusted the textLines() routine to look for FLOWS_TO relationships and follow them to get further potential text objects to speak. 2006-05-22 Rich Burridge * src/orca/gnome/speechfactory.py: Adjusted the speakUtterances() method to not speak zero length lines of text. This has hopefully improved some speech interruption problems. * bugs/bugs.html: Added in new Star Office bug #136221. 2006-05-21 * /docs/doc-set/testing.sgml: added more tests 2006-05-20 Willie Walker * src/orca/speech.py: do not attempt to restart the http speech server when settings are reloaded. I'm not quite sure how to kill the server once it starts, but we may need to figure this out at some point if we want to dynamically change the speech server port at run time. For now, if that is what people really want to do, they can just stop and restart orca. * src/orca/default.py: minor tweaking to script info output. 2006-05-19 Willie Walker * src/orca/orca.py, src/orca/default.py: fix for bug 342303 - stop speech when the user presses the mouse button. This also moved the handling of the lastInputEvent for the mouse from default.py to orca.py, which is in line with where it is being set for keyboard and braille events. 2006-05-19 Rich Burridge * .cvsignore: docs/.cvsignore: docs/pydoc/.cvsignore: Added several more files that should be ignored. * src/orca/atspi.py: In the getAcceleratorAndShortcut() method, if the accelerator string includes a Space, make sure we speak it. In the __init__ method, self.toolkitName and self.version are now correctly initialized. * src/orca/default.py: Added a new reportScriptInfo() method that is called when the user types Insert-i. It provides useful information on the script for the application that currently has focus; output being in speech, braille and debug println formats. * src/orca/scripts/StarOffice.py: Changed occurances of onFocus to locusOfFocusChanged and now no longer call orca.setLocusOfFocus(). * bugs/bugs.html: Added in new Star Office bug #136117. 2006-05-19 Willie Walker * src/orca/util.py: fix for bug 342122 - use all labels when presenting an object. * src/orca/scripts/Mozilla.py: fix for bug 342132 - make YELP speak the text for an object when a link is selected. 2006-05-18 Rich Burridge * src/orca/braillegenerator.py Adjusted the _getBrailleRegionsForPushButton() method to no longer call self._getDefaultBrailleRegions(obj), but instead to do everything that's in that rourine except: text = util.appendString(text, self._getTextForValue(obj)) This gets rid of the spurious "0.00" value from Star Office buttons, that was showing up in the braille display. 2006-05-18 Willie Walker * src/orca/scripts/Makefile.am, src/orca/scripts/gnome-window-properties.py: fix for bug 342133 - do not automatically read labels in the dialog window when it appears. Also need to refile this bug against gnome-window-properties so they do the appropriate bindings for labels. * src/orca/scripts/metacity.py: fix bug 341415 - eliminate redundant output of Workspace and also make sure new Workspaces are announced. * src/orca/scripts/Makefile.am, src/orca/scripts/self_voicing.py: add a script that does nothing. One can map an application to this script (self_voicing) via orca.settings.setScriptMapping, and it can be used to tell Orca to be quiet for self-voicing applications. 2006-05-18 Rich Burridge * bugs/bugs.html Added in four StarOffice bugs (plus SO bug filing information). Updated the status of the OpenOffice bugs. 2006-05-17 Rich Burridge * src/orca/scripts/StarOffice.py Adjusted the call to speech.speak() in scenerio #1 in the onFocus() method so that it doesn't interrupt speech. This means that when Star Office Writer is first coming up, it speaks the details about the document that it is displaying. 2006-05-17 Willie Walker * src/orca/gnomespeechfactory.py: remove text.replace("[", "[ ") now that gnome-speech-0.4.0 tells DECtalk to do a [:phon off]. * bugs/bugs.html, bugs/bug_338233.py, bugs/bug_338234.py, bugs/bug_338272.py: add Firefox bugs. * src/orca/speech.py: change speech server support to an HTTP server looking for POST data of "speak:text" or "stop" commands. 2006-05-16 Willie Walker * src/orca/speech.py, src/orca/settings.py: first pass at allowing Orca to act as a speech server for self-voicing applications. Orca will listen on the port defined by settings.speechServerPort and will respond to simple single line "speak:text" and "stop" commands. The motivation for this is to allow FestVox to use Orca as its speech service, and to have the user's default voice for Orca to be used for speaking. 2006-05-16 Rich Burridge * src/orca/scripts/StarOffice.py Adjustment so that a single line change will "fire off" all the debug messages in the StarOffice script. Adjusted the readMisspeltWord() routine to no longer call orca.setLocusOfFocus. This now means that when you Tab around the various components on the Spell Checking dialogs, they are properly spoken.