2006-07-09 Willie Walker * NEWS, configure.in, README: prep for 0.2.6. 2006-07-09 Willie Walker * src/orca/gnomespeechfactory.py: handle verbalized punctuation a little differently to provide better behavior for both DECtalk and festival. The main thing was to determine when/where to add spaces and when to replace a punctuation mark even if the action was insert. In general, spaces are added before the verbalization if there is no whitespace before the punctuation mark and added after the verbalization if there is no whitespace after the puncutation mark. In addition, if there is no whitespace after a puncutation mark, we replace it even if the action is insert. The rational for this is that we do the insert for special puncutation marks to preserve some sense of prosody (e.g., pauses created by periods, semi-colons, etc.). If the punctuation mark is embedded in text, it's generally there for semantic purposes other than prosody, so we just replace it with its verbalized form (if the verbalized puncutation level is appropriate, of course). * src/orca/orca_gui_prefs.py: fix for bug 347054 - allow readTableCellRow and speechVerbosityLevel to be set. 2006-07-09 Alexander Shopov * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS 2006-07-03 Runa Bhattacharjee * configure.in: Added Bengali India (bn_IN) to ALL_LINGUAS. 2006-07-02 Willie Walker * src/orca/gnomespeechfactory.py: set "punctuation mode" parameter to none (0.0) for any speaker that has been created. This allows Orca to handle the speaking of punctuation rather than rely upon the relatively inconsistent way it is spoken across various engines. 2006-07-02 Ilkka Tuohela * configure.in: Added 'fi' to ALL_LINGUAS. 2006-06-30 Rich Burridge * src/orca/flat_review.py: Added bullet-proofing to getZonesFromAccessible() to just return an empty list if accessible.component is None. 2006-06-29 Guntupalli Karunakar * configure.in: Added 'dz' (Dzongkha) to ALL_LINGUAS. 2006-06-29 Rich Burridge * src/orca/orca_gui_prefs.py: Refinement to the fix for bug #343897. I now use the timestamp from the last AT-SPI device event as the parameter to set_user_time(). 2006-06-28 Rich Burridge * src/orca/orca_gui_prefs.py: Fixed bug #343897. Sets the current time on the Configuration GUI window so that it'll get focus. set_user_time is a new call in pygtk 2.9.2 or later. It's surronded by a try/except block here so that if it's not found, then we can fail gracefully. Couple of refinements suggested by Gustavo. See bug #343897 for more details. * src/orca/default.py: Fixed bug #341388. Small change in the processObjectEvent() routine. If we receive a "window:deactivate" event for the object that currently has focus, then stop the current speech output. This is very useful for terminating long speech output from commands running in gnome-terminal. 2006-06-27 Mike Pedersen * src/orca/speechgenerator.py Slight change to brief verbosity to speak buttons and combo boxes. 2006-06-27 Rich Burridge * src/orca/scripts/Evolution.py: Added in support for speech indentation in the mail message areas. See also bug #346031, for a current limitation. * src/orca/scripts/gnome-terminal.py: Adjusted the onTextInserted() method to just return if orca.lastInputEvent was None or if this wasn't a keyboard event. 2006-06-27 Willie Walker * src/orca/braille.py, src/orca/flat_review.py: more fixing for bug 343133 where Orca would hang when going into flat review of a man page in gnome-terminal. The problem is that the AT-SPI implementation of text in gnome-terminal appears to produce inaccurate and wild results. We need to handle this defensively. 2006-06-27 Runa Bhattacharjee * configure.in: Added Bengali (bn) to ALL_LINGUAS. 2006-06-26 Rich Burridge * src/orca/gnomespeechfactory.py: Slight change to the __addVerbalizedPunctuation() routine: If we are moving around by single characters, then always speak the punctuation. We try to detect this by looking for just a single character being spoken. Another slight change to the __addVerbalizedPunctuation( ) routine: For each of the characters in the text to be spoken, if it's not a punctuation character, we still want to see if that character is in the chnames dictionary, and if so, speak that entry instead. Another slight change to the __addVerbalizedPunctuation( ) routine: Special case for periods in text like filenames or URL's: If this is a period and there is a non-space character on either side of it, then always speak it. Added a " " after each verbalized punctuation word to prevent word concatenation. * bugs/bugs.html: Added in an entry for a new Evolution bug #345923: "[A11y] Unable to keyboard navigate to month view "day" entries, when no initial events." Added in an entry for a new Evolution bug #345969: "[A11y] Evolution crashes when trying to creat a calendar event when Orca screen reader is running." 2006-06-22 Rhys Jones * configure.in: Added "cy" (Welsh) to ALL_LINGUAS. 2006-06-22 Rich Burridge * src/orca/settings.py: Default setting for verbalized punctuation is now settings.PUNCTUATION_STYLE_MOST. * src/orca/gnomespeechfactory.py: In __addVerbalizedPunctuation(), if the user has style settings.PUNCTUATION_STYLE_NONE, just return the old text. In __addVerbalizedPunctuation(), add a space after the spoken equivalent of the punctuation, so that DECtalk doesn't speak it twice. 2006-06-22 Rich Burridge * src/orca/Makefile.am: src/orca/chnames.py: src/orca/gnomespeechfactory.py: src/orca/punctuation_settings.py: src/orca/settings.py: Added in verbalized punctuation support. See comments at the beginning of punctuation_settings.py for more details. NOTE: This is only currently implemented in gnomespeechfactory.py 2006-06-22 Rich Burridge * src/orca/orca-setup.glade: src/orca/orca_gui_prefs.py: src/orca/orca_prefs.py src/orca/settings.py: Added in a new radio button "Most" to the punctuation verbosity group on the speech pane in the configuration GUI. Adjusted the callback and initialisation routines to handle this properly. * src/orca/orca_gui_prefs.py: The checks against various widget labels on the configuration GUI was not taking into consideration the underline characters used as accelerators. 2006-06-21 Willie Walker * src/orca/Makefile.am, src/orca/J2SE-access-bridge.py: check in initial Java toolkit script from Lynn Monsanto. He's still waiting for a GNOME account, but I want to get this stuff in prior to going to GUADEC. 2006-06-21 Rich Burridge * src/orca/orca-setup.glade: src/orca/orca_gui_prefs.py: src/orca/settings.py: Added in a new radio button group to the configuration GUI on the speech pane, that can be used to set "Table Row Speech" to either: "Speak current cell" or "Speak current row". * bugs/bugs.html: Added in another StarOffice Writer bug: 137437: [A11y] Incorrect char in any_data.value() field of event when text is deleted. 2006-06-21 Rich Burridge * src/orca/scripts/StarOffice.py: Adjustment to the onSelectionChanged() routine to get "has formula" working again. 2006-06-21 Rich Burridge * src/orca/scripts/StarOffice.py: Further adjustment of the handling of speaking a row of a Calc spread sheet. Only speak the row if the user has moved focus up or down a row, not when the focus has just moved left or right in the same row (unless this is on the first or last row of the table). 2006-06-21 Rich Burridge * src/orca/braillegenerator.py: src/orca/default.py: src/orca/settings.py: src/orca/speechgenerator.py src/orca/scripts/Evolution.py: Changed all occurances of readTreeTableCellRow to readTableCellRow, as we now handle both tables and tree tables. * src/orca/scripts/StarOffice.py: Adjusted the handling of speaking a row of a Calc spread sheet. It will only braille/speak each cell if that cell is showing. 2006-06-21 Rich Burridge * src/orca/braillegenerator.py: src/orca/speechgenerator.py: Adjusted the _getBrailleRegionsForTableCell and _getSpeechForTableCell() routines so that Insert-F11 works with table cells inside both tables and tree tables. Don't set the last table row and column in these routines This is now done in locusOfFocusChanged (see entry for default.py below). * src/orca/default.py: In locusOfFocusChanged(), if this focus change is for a table cell, save the table row and column in the table (as lastRow and lastColumn), so that they can be used by the speech and braille table cell generators. In locusOfFocusChanged(), replaced calls to getRowDescription() and getColumnDescription() with calls to getRowHeader() and getColumnHeader() and then called getDisplayedText on their accessible objects. 2006-06-20 Rich Burridge * bugs/bugs.html Added in the following two StarOffice bugs: #137415 [A11y] Control-Shift-Left/Right can select whitespace #137416 [A11y] No way to get at indentation information in Writer. 2006-06-20 Willie Walker * src/orca/scripts/gnome-terminal.py: fix bug 345472 - don't assume the last input event was a KeyboardEvent. * src/orca/scripts/gcalctool.py: fix bug caused by my refactor of moving things to util.py (forgot to import orca.util). 2006-06-20 Rich Burridge * src/orca/default.py: Changes to the sayPhrase() routine to better handle StarOffice Writer cases where there is a start or end offset of -1. * src/orca/scripts/StarOffice.py: Further change to the StarOffice text indentation handling. Removed the percentage routine and just called the "default" speakTextIndentation() routine. This seems to work okay for lines indented by tabs and spaces. NOTE: Lines indented via the "Increase line indentation" in the StarOffice Writer toolbar are not handled. There doesn't seem to be a way to get at this information. 2006-06-20 Rich Burridge * src/orca/scripts/StarOffice.py: Change to the speakTextIndentation() routine: StarOffice Writer documents typically have a margin around the actual text. This margin width is removed (both the left and right margins), before the percentage calculation is performed. 2006-06-19 Willie Walker * src/orca/default.py: handle issue where toolkit name and version might be unknown when printing out script information using Insert+F3. 2006-06-19 Rich Burridge * src/orca/util.py: src/orca/default.py: Moved the speakTextIndentation() routines into default.py so that it can be subclassed. On Mike's advice, removed the word "indented" from the text spoken for text indentation (too verbose). * src/orca/scripts/StarOffice.py: Subclassed the speakTextIndentation() routine and adjusted it to speak an indication of the percentage of whitespace (spaces and tabs at the beginning of the line. NOTE: This percentage value seems to be incorrect when there are no spaces or tabs at the beginning of the line. Still investigating this. 2006-06-19 Rich Burridge * src/orca/util.py: Added in a speakTextIndentation() routine that will speak a summary of the number of spaces and/or tabs at the beginning of the given line. * src/orca/default.py: Added a chunk of code to the start of the sayPhrase() routine, to swap the startOffset and endOffset values if they are in the wrong order. StarOffice can't cope with them otherwise. Adjusted the sayLine() routine to call util.speakTextIndentation() if we have speech indentation enabled. * src/orca/orca-setup.glade Added in a checkbox to the Speech page of the Configuration GUI, for speech indentation and justification (default is unchecked). * src/orca/orca_gui_prefs.py: Added a speechIndentationChecked() signal handler for speaking indentation. * src/orca/settings.py: Added in support for the new 'enableSpeechIndentation" setting. 2006-06-16 Willie Walker * src/orca/scripts/Evolution.py: check for windows that end with the name "Assistant" when handling the setup wizards. The reason for this is that both the initial setup and the new account wizards need this special scripting, and we're lucky that they end in the name Assistant. A risk here is that the l10n of the window names might put Assistant somewhere else in the title (e.g., Assistante de Setup). If we run into this, we should do a check on the exact names. 2006-06-16 Rich Burridge * src/orca/scripts/Evolution.py: Adjusted section #3 in the locusOfFocusChanged() method. Unfortunately the default read table cell row handling won't just work with Evolution (see bogusity comment later in the script). We quickly solve this by setting readTreeTableCellRow to False for the duration of this code section, then resetting it to True at the end. * src/orca/scripts/StarOffice.py: Changed to provide useful feedback for the StarOffice Setup wizard screens. See the comments in the StarOffice script for more details. 2006-06-16 Willie Walker * src/orca/focus_tracking_presenter.py, src/orca/script.py: more work on bug 319652. Move much of the processing of input events to the gidle thread handler in an effort to reduce hangs. 2006-06-15 Rich Burridge * src/orca/scripts/Evolution.py: Changed to provide useful feedback for the Evolution Setup Assistant screens. See the comments in the Evolution script for more details. * src/orca/scripts/StarOffice.py: Fixup for the "has formula" check for spread sheet cells. This should only be spoken if the input line starts with "=" (thanks Will!) * src/orca/braillegenerator.py: src/orca/speechgenerator.py: Adjusted the speaking and brailling of table cells to not speak the whole row again, if the user just moved left or right (rather than up or down). * src/orca/braillegenerator.py: src/orca/default.py: src/orca/speechgenerator.py: src/orca/settings.py: src/orca/scripts/Evolution.py: Changed all occurances of readTableCellRow to readTreeTableCellRow. Changed the default values of readTreeTableCellRow to True. Adjusted the speaking and brailling of table cells to only potentially speak the whole role if the parent is a tree table rather than just a table. 2006-06-14 Willie Walker * src/orca/Makefile.am, src/orca/orca.py, src/orca/settings.py, src/orca/speech.py, src/orca/httpserver.py: make the HTTP server a separate module. This reduces complexity in the speech module and also gives us room to extend the command set that Orca can handle. NOTE: this represents a change in settings - speechServerPort is now defunct and has been replace by httpServerPort. 2006-06-14 Willie Walker * src/orca/orca.py: fix bug 344880 - process command line arguments even if a11y is not enabled. 2006-06-12 Mike Pedersen * added updates to style guide.