From 928bae6d8659fc60f5f2ce3a9f75daa9d9962c23 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Fri, 22 Aug 2025 13:01:43 -0400 Subject: [PATCH 1/4] OCR is much more feature complete. --- distro-packages/Arch-Linux/PKGBUILD | 7 +- src/cthulhu/cthulhu-setup.ui | 200 +++++++++++++ src/cthulhu/cthulhuVersion.py | 2 +- src/cthulhu/cthulhu_gui_prefs.py | 78 ++++++ src/cthulhu/plugins/OCR/README.md | 159 +++++++++-- src/cthulhu/plugins/OCR/plugin.py | 417 +++++++++++++++++++++++++++- src/cthulhu/settings.py | 22 +- 7 files changed, 849 insertions(+), 36 deletions(-) diff --git a/distro-packages/Arch-Linux/PKGBUILD b/distro-packages/Arch-Linux/PKGBUILD index 1186f51..b0a7540 100644 --- a/distro-packages/Arch-Linux/PKGBUILD +++ b/distro-packages/Arch-Linux/PKGBUILD @@ -31,7 +31,6 @@ depends=( python-dasbus # AI Assistant dependencies (for screenshots, HTTP requests, and actions) - python-pillow python-requests python-pyautogui @@ -58,6 +57,12 @@ optdepends=( 'openai-codex: ChatGPT AI provider support' 'gemini-cli: Gemini AI provider support' 'ollama: Local AI model support' + + # OCR plugin dependencies (optional) + 'python-pillow: Image processing for OCR and AI Assistant' + 'python-pytesseract: Python wrapper for Tesseract OCR engine' + 'tesseract: OCR engine for text recognition' + 'tesseract-data-eng: English language data for Tesseract' ) makedepends=( git diff --git a/src/cthulhu/cthulhu-setup.ui b/src/cthulhu/cthulhu-setup.ui index e275007..bac0ecf 100644 --- a/src/cthulhu/cthulhu-setup.ui +++ b/src/cthulhu/cthulhu-setup.ui @@ -7,6 +7,20 @@ 1 10 + + 1 + 10 + 3 + 1 + 1 + + + 0 + 255 + 200 + 10 + 50 + @@ -3636,6 +3650,181 @@ 8 + + + True + False + 12 + 12 + 12 + 12 + 6 + 12 + + + True + False + start + _Language Code: + True + ocrLanguageEntry + + + 0 + 0 + + + + + True + True + eng + + + + 1 + 0 + + + + + True + False + start + _Scale Factor: + True + ocrScaleSpinButton + + + 0 + 1 + + + + + True + True + ocrScaleAdjustment + 3 + + + + 1 + 1 + + + + + _Grayscale Image + True + True + False + True + True + + + + 0 + 2 + 2 + + + + + _Invert Image + True + True + False + True + True + + + + 0 + 3 + 2 + + + + + _Black and White Image + True + True + False + True + True + + + + 0 + 4 + 2 + + + + + True + False + start + Black/White _Threshold: + True + ocrBlackWhiteValueSpinButton + + + 0 + 5 + + + + + True + True + ocrBlackWhiteValueAdjustment + 200 + + + + 1 + 5 + + + + + _Analyze Colors + True + True + False + True + True + + + + 0 + 6 + 2 + + + + + Copy Results to _Clipboard + True + True + False + True + True + + + + 0 + 7 + 2 + + + + + 9 + + True @@ -3647,6 +3836,17 @@ False + + + True + False + OCR + + + 9 + False + + True diff --git a/src/cthulhu/cthulhuVersion.py b/src/cthulhu/cthulhuVersion.py index e493402..565763c 100644 --- a/src/cthulhu/cthulhuVersion.py +++ b/src/cthulhu/cthulhuVersion.py @@ -23,5 +23,5 @@ # Fork of Orca Screen Reader (GNOME) # Original source: https://gitlab.gnome.org/GNOME/orca -version = "2025.08.21" +version = "2025.08.22" codeName = "testing" diff --git a/src/cthulhu/cthulhu_gui_prefs.py b/src/cthulhu/cthulhu_gui_prefs.py index 07cafc9..8c7ecf4 100644 --- a/src/cthulhu/cthulhu_gui_prefs.py +++ b/src/cthulhu/cthulhu_gui_prefs.py @@ -1821,6 +1821,10 @@ class CthulhuSetupGUI(cthulhu_gtkbuilder.GtkBuilderWrapper): # AI Assistant settings # self._initAIState() + + # OCR Plugin settings + # + self._initOCRState() def __initProfileCombo(self): """Adding available profiles and setting active as the active one""" @@ -1945,6 +1949,47 @@ class CthulhuSetupGUI(cthulhu_gtkbuilder.GtkBuilderWrapper): self.aiApiKeyEntry.set_placeholder_text("No API key needed - uses local Ollama") else: self.aiApiKeyEntry.set_placeholder_text("Path to API key file") + + def _initOCRState(self): + """Initialize OCR Plugin tab widgets with current settings.""" + prefs = self.prefsDict + + # Store widget references + self.ocrLanguageEntry = self.get_widget("ocrLanguageEntry") + self.ocrScaleSpinButton = self.get_widget("ocrScaleSpinButton") + self.ocrGrayscaleCheckButton = self.get_widget("ocrGrayscaleCheckButton") + self.ocrInvertCheckButton = self.get_widget("ocrInvertCheckButton") + self.ocrBlackWhiteCheckButton = self.get_widget("ocrBlackWhiteCheckButton") + self.ocrBlackWhiteValueSpinButton = self.get_widget("ocrBlackWhiteValueSpinButton") + self.ocrColorCalculationCheckButton = self.get_widget("ocrColorCalculationCheckButton") + self.ocrCopyToClipboardCheckButton = self.get_widget("ocrCopyToClipboardCheckButton") + + # Set language code + languageCode = prefs.get("ocrLanguageCode", settings.ocrLanguageCode) + self.ocrLanguageEntry.set_text(languageCode) + + # Set scale factor + scaleFactor = prefs.get("ocrScaleFactor", settings.ocrScaleFactor) + self.ocrScaleSpinButton.set_value(scaleFactor) + + # Set checkboxes + grayscale = prefs.get("ocrGrayscaleImg", settings.ocrGrayscaleImg) + self.ocrGrayscaleCheckButton.set_active(grayscale) + + invert = prefs.get("ocrInvertImg", settings.ocrInvertImg) + self.ocrInvertCheckButton.set_active(invert) + + blackWhite = prefs.get("ocrBlackWhiteImg", settings.ocrBlackWhiteImg) + self.ocrBlackWhiteCheckButton.set_active(blackWhite) + + blackWhiteValue = prefs.get("ocrBlackWhiteImgValue", settings.ocrBlackWhiteImgValue) + self.ocrBlackWhiteValueSpinButton.set_value(blackWhiteValue) + + colorCalculation = prefs.get("ocrColorCalculation", settings.ocrColorCalculation) + self.ocrColorCalculationCheckButton.set_active(colorCalculation) + + copyToClipboard = prefs.get("ocrCopyToClipboard", settings.ocrCopyToClipboard) + self.ocrCopyToClipboardCheckButton.set_active(copyToClipboard) def _updateCthulhuModifier(self): combobox = self.get_widget("cthulhuModifierComboBox") @@ -3835,4 +3880,37 @@ class CthulhuSetupGUI(cthulhu_gtkbuilder.GtkBuilderWrapper): if 0 <= activeIndex < len(qualities): self.prefsDict["aiScreenshotQuality"] = qualities[activeIndex] + # OCR Plugin Settings Handlers + def ocrLanguageChanged(self, widget): + """OCR language code entry changed handler""" + self.prefsDict["ocrLanguageCode"] = widget.get_text() + + def ocrScaleChanged(self, widget): + """OCR scale factor spin button changed handler""" + self.prefsDict["ocrScaleFactor"] = int(widget.get_value()) + + def ocrGrayscaleToggled(self, widget): + """OCR grayscale image checkbox toggled handler""" + self.prefsDict["ocrGrayscaleImg"] = widget.get_active() + + def ocrInvertToggled(self, widget): + """OCR invert image checkbox toggled handler""" + self.prefsDict["ocrInvertImg"] = widget.get_active() + + def ocrBlackWhiteToggled(self, widget): + """OCR black and white image checkbox toggled handler""" + self.prefsDict["ocrBlackWhiteImg"] = widget.get_active() + + def ocrBlackWhiteValueChanged(self, widget): + """OCR black/white threshold spin button changed handler""" + self.prefsDict["ocrBlackWhiteImgValue"] = int(widget.get_value()) + + def ocrColorCalculationToggled(self, widget): + """OCR color calculation checkbox toggled handler""" + self.prefsDict["ocrColorCalculation"] = widget.get_active() + + def ocrCopyToClipboardToggled(self, widget): + """OCR copy to clipboard checkbox toggled handler""" + self.prefsDict["ocrCopyToClipboard"] = widget.get_active() + diff --git a/src/cthulhu/plugins/OCR/README.md b/src/cthulhu/plugins/OCR/README.md index a3f5b25..36d75a6 100644 --- a/src/cthulhu/plugins/OCR/README.md +++ b/src/cthulhu/plugins/OCR/README.md @@ -1,15 +1,32 @@ # OCR Plugin for Cthulhu Screen Reader -A powerful OCR (Optical Character Recognition) plugin that enables Cthulhu users to extract text from visual content including windows, desktop areas, and clipboard images. Originally based on the ocrdesktop project by Chrys, this plugin integrates seamlessly with Cthulhu's accessibility framework. +A powerful OCR (Optical Character Recognition) plugin that enables Cthulhu users to extract text from visual content and interact with it through precise coordinate mapping. Originally based on the ocrdesktop project by Chrys, this plugin has been enhanced with interactive features and comprehensive settings integration. ## Features +### 🔍 **OCR Operations** - **Window OCR**: Extract text from the currently active window - **Desktop OCR**: Extract text from the entire desktop screen - **Clipboard OCR**: Extract text from images copied to the clipboard -- **Voice Announcements**: Clear audio feedback about OCR operations -- **Multi-threading**: Non-blocking OCR processing with progress tracking -- **Text Cleanup**: Automatic post-processing to improve OCR text quality +- **Interactive OCR**: OCR with coordinate mapping for clicking and navigation + +### 🎯 **Interactive Coordinate Mapping** +- **Precise Clicking**: Click any text found in OCR results using exact coordinates +- **Dual View Modes**: Toggle between text view and interactive coordinate table +- **Safety Confirmation**: Preview click coordinates before executing +- **Real-time Navigation**: Browse OCR results and click immediately + +### ⚙️ **Comprehensive Settings** +- **Language Configuration**: Support for all Tesseract language packs +- **Image Processing**: Grayscale, invert, black/white, and scaling options +- **Clipboard Integration**: Automatic copying of OCR results to clipboard +- **Quality Tuning**: Adjustable parameters for optimal OCR accuracy + +### 🖥️ **Accessibility Integration** +- **Voice Announcements**: Clear audio feedback for all operations +- **Keyboard Navigation**: Full keyboard control of interactive features +- **Settings GUI**: Integrated settings tab in Cthulhu preferences +- **Non-blocking Processing**: Multi-threaded operation with progress tracking ## Keybindings @@ -18,6 +35,15 @@ A powerful OCR (Optical Character Recognition) plugin that enables Cthulhu users | `Cthulhu+Control+W` | OCR Active Window | Performs OCR on the currently focused window | | `Cthulhu+Control+D` | OCR Desktop | Performs OCR on the entire desktop screen | | `Cthulhu+Control+Shift+C` | OCR Clipboard | Performs OCR on image data from clipboard | +| `Cthulhu+Control+F` | **Interactive OCR** | **Opens OCR results window with coordinate mapping** | + +### Interactive OCR Window Controls +| Key | Action | Description | +|-----|--------|-------------| +| `Alt+V` | Toggle View | Switch between text view and coordinate table | +| `Enter` | Click Selected | Click the text at the selected coordinates | +| `Escape` | Close Window | Close the OCR results window | +| `Arrow Keys` | Navigate | Move through OCR results in table view | ## Dependencies @@ -67,34 +93,68 @@ To add support for other languages, install additional Tesseract language packs: - Wait for processing to complete - OCR results will be announced via speech -3. **Best Practices**: +3. **Interactive OCR Workflow**: + - Press `Cthulhu+Control+F` to open OCR results window + - Wait for "Performing OCR on window for interactive results" + - Use `Alt+V` to toggle between text and coordinate table views + - Navigate with arrow keys in table view to find desired text + - Press `Enter` to click on the selected text location + - Confirm the click action in the safety dialog + +4. **Best Practices**: - Ensure good contrast between text and background for better results - Use window OCR for focused content (faster processing) - Use desktop OCR for content spanning multiple windows - Use clipboard OCR for images from web browsers or image viewers + - Enable "Copy Results to Clipboard" for easy text retrieval + - Adjust scale factor for small or blurry text (try 5-7) ## Configuration -### OCR Settings -The plugin uses the following default settings (configurable in plugin.py): +### OCR Settings GUI +Access comprehensive OCR settings through Cthulhu Preferences: -```python -self._languageCode = 'eng' # Tesseract language code -self._scaleFactor = 3 # Image scaling for better OCR -self._grayscaleImg = False # Convert to grayscale -self._invertImg = False # Invert image colors -self._blackWhiteImg = False # Convert to black/white -self._blackWhiteImgValue = 200 # B/W threshold value -``` +1. **Open Cthulhu Preferences**: `~/.local/bin/cthulhu -s` +2. **Navigate to OCR Tab**: Use keyboard navigation to find the OCR settings tab +3. **Configure Settings**: Adjust all OCR parameters through the accessible interface -### Changing OCR Language -To change the default OCR language, modify `self._languageCode` in the plugin's `__init__` method: +### Available Settings -```python -# Examples: -self._languageCode = 'fra' # French -self._languageCode = 'deu' # German -self._languageCode = 'spa' # Spanish +#### **Language Configuration** +- **Language Code**: Tesseract language pack to use (default: 'eng') + - Examples: 'fra' (French), 'deu' (German), 'spa' (Spanish) + - Use '+' for multiple languages: 'eng+fra' for English and French + +#### **Image Processing** +- **Scale Factor**: Image scaling multiplier (1-10, default: 3) + - Higher values improve OCR accuracy for small text + - Lower values process faster but may miss details +- **Grayscale Image**: Convert to grayscale for better text recognition +- **Invert Image**: Invert colors (useful for white text on dark backgrounds) +- **Black and White Image**: Convert to pure black/white with threshold +- **Black/White Threshold**: Threshold value for black/white conversion (0-255, default: 200) + +#### **Advanced Features** +- **Analyze Colors**: Extract color information from OCR regions (requires scipy/webcolors) +- **Copy Results to Clipboard**: Automatically copy all OCR results to system clipboard + +### Configuration File +Settings are automatically stored in Cthulhu's configuration system: +- **Global Settings**: `~/.local/share/cthulhu/user-settings.conf` +- **Profile Settings**: `~/.local/share/cthulhu/app-settings/[profile]/` + +### Example Configuration Values +```json +{ + "ocrLanguageCode": "eng", + "ocrScaleFactor": 3, + "ocrGrayscaleImg": false, + "ocrInvertImg": false, + "ocrBlackWhiteImg": false, + "ocrBlackWhiteImgValue": 200, + "ocrColorCalculation": false, + "ocrCopyToClipboard": true +} ``` ## Troubleshooting @@ -127,6 +187,28 @@ self._languageCode = 'spa' # Spanish - Test other Cthulhu speech functions - Verify audio system is working +#### Interactive OCR window doesn't open +- **Cause**: GTK dependencies missing or display issues +- **Solutions**: + - Ensure GTK3 development packages are installed + - Check display/Wayland/X11 compatibility + - Verify Cthulhu GUI components are working + +#### Click coordinates are inaccurate +- **Cause**: Window movement, scaling, or coordinate calculation errors +- **Solutions**: + - Ensure window hasn't moved since OCR capture + - Try recapturing with `Cthulhu+Control+F` + - Check display scaling settings + - Verify no window decoration changes occurred + +#### Clipboard copy not working +- **Cause**: Clipboard setting disabled or GTK clipboard issues +- **Solutions**: + - Enable "Copy Results to Clipboard" in OCR settings + - Test clipboard functionality with other applications + - Check GTK clipboard permissions + ### Debug Information OCR plugin debug messages are logged to Cthulhu's debug output. To enable debug logging: @@ -176,8 +258,18 @@ src/cthulhu/plugins/OCR/ - `_ocrActiveWindow()`: Captures and OCRs active window - `_ocrDesktop()`: Captures and OCRs entire desktop - `_ocrClipboard()`: OCRs image from clipboard -- `_performOCR()`: Core OCR processing logic -- `_presentOCRResult()`: Announces results via speech +- `_showOCRResultsWindow()`: **NEW** - Interactive OCR with coordinate mapping +- `_performOCR()`: Core OCR processing with coordinate extraction +- `_presentOCRResult()`: Announces results via speech and clipboard +- `_createOCRResultsWindow()`: **NEW** - Creates interactive GTK results window +- `_clickSelectedText()`: **NEW** - Executes click at OCR coordinates + +### Interactive Features Architecture +- **Coordinate Mapping**: Uses `pytesseract.image_to_data()` to extract word positions +- **Screen Transformation**: Converts OCR coordinates to actual screen coordinates +- **GTK Interface**: Accessible results window with text and table views +- **Click Safety**: Confirmation dialogs before executing click actions +- **Settings Integration**: Full integration with Cthulhu's preferences system ### Extending the Plugin To add new OCR modes or features: @@ -186,11 +278,30 @@ To add new OCR modes or features: 2. Create handler method following pattern `_ocrNewMode()` 3. Implement image capture logic for new mode 4. Use existing `_performOCR()` and `_presentOCRResult()` methods +5. For interactive features, extend `_createOCRResultsWindow()` functionality + +## Version History + +### Version 2.0 (Enhanced Interactive Features) +- **Interactive OCR Window**: `Cthulhu+Control+F` for coordinate mapping +- **Precise Clicking**: Click any text found in OCR results +- **Settings Integration**: Full GUI settings tab in Cthulhu preferences +- **Clipboard Integration**: Automatic copying with toggle setting +- **Dual View Modes**: Text view and coordinate table with Alt+V toggle +- **Safety Features**: Click confirmation dialogs +- **Enhanced Processing**: Coordinate extraction with quality metrics + +### Version 1.0 (Original Implementation) +- Basic OCR for window, desktop, and clipboard +- Text extraction and speech output +- Multi-threading support +- Text cleanup and formatting ## Credits - **Original ocrdesktop**: Created by Chrys (chrys87@users.noreply.github.com) - **Cthulhu Integration**: Adapted by Storm Dragon for Cthulhu plugin system +- **Interactive Features**: Enhanced coordinate mapping and GUI integration - **Cthulhu Screen Reader**: https://git.stormux.org/storm/cthulhu - **Tesseract OCR**: https://github.com/tesseract-ocr/tesseract diff --git a/src/cthulhu/plugins/OCR/plugin.py b/src/cthulhu/plugins/OCR/plugin.py index 3db6c63..bc90ebd 100644 --- a/src/cthulhu/plugins/OCR/plugin.py +++ b/src/cthulhu/plugins/OCR/plugin.py @@ -22,6 +22,7 @@ from mimetypes import MimeTypes from cthulhu.plugin import Plugin, cthulhu_hookimpl from cthulhu import debug +from cthulhu import settings_manager # Note: Removed complex beep system - simple announcements work perfectly! @@ -88,8 +89,12 @@ class OCRDesktop(Plugin): self._kb_binding_window = None self._kb_binding_desktop = None self._kb_binding_clipboard = None + self._kb_binding_results_window = None - # OCR settings + # Settings manager + self._settings_manager = settings_manager.getManager() + + # OCR settings (will be loaded from settings) self._languageCode = 'eng' self._scaleFactor = 3 self._grayscaleImg = False @@ -98,15 +103,24 @@ class OCRDesktop(Plugin): self._blackWhiteImgValue = 200 self._colorCalculation = False self._colorCalculationMax = 3 + self._copyToClipboard = False # Internal state self._img = [] self._modifiedImg = [] self._OCRText = '' + self._OCRWords = {} + self._OCRWordList = [] self._offsetXpos = 0 self._offsetYpos = 0 self._activated = False + # OCR Results Window + self._results_window = None + self._results_tree = None + self._results_textview = None + self._current_view_mode = 0 # 0 = text, 1 = tree + # Progress feedback self._is_processing = False @@ -118,6 +132,9 @@ class OCRDesktop(Plugin): # Set locale for tesseract locale.setlocale(locale.LC_ALL, 'C') + # Load OCR settings from configuration + self._loadOCRSettings() + # Check dependencies self._checkDependencies() @@ -138,6 +155,23 @@ class OCRDesktop(Plugin): return False return True + def _loadOCRSettings(self): + """Load OCR settings from Cthulhu configuration.""" + try: + self._languageCode = self._settings_manager.getSetting('ocrLanguageCode') or 'eng' + self._scaleFactor = self._settings_manager.getSetting('ocrScaleFactor') or 3 + self._grayscaleImg = self._settings_manager.getSetting('ocrGrayscaleImg') or False + self._invertImg = self._settings_manager.getSetting('ocrInvertImg') or False + self._blackWhiteImg = self._settings_manager.getSetting('ocrBlackWhiteImg') or False + self._blackWhiteImgValue = self._settings_manager.getSetting('ocrBlackWhiteImgValue') or 200 + self._colorCalculation = self._settings_manager.getSetting('ocrColorCalculation') or False + self._colorCalculationMax = self._settings_manager.getSetting('ocrColorCalculationMax') or 3 + self._copyToClipboard = self._settings_manager.getSetting('ocrCopyToClipboard') or False + + debug.printMessage(debug.LEVEL_INFO, f"OCR settings loaded: lang={self._languageCode}, scale={self._scaleFactor}, clipboard={self._copyToClipboard}", True) + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"OCR settings load error: {e}, using defaults", True) + @cthulhu_hookimpl def activate(self, plugin=None): """Activate the plugin.""" @@ -179,6 +213,19 @@ class OCRDesktop(Plugin): self._activated = False debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: Plugin deactivated", True) + def refresh_settings(self): + """Refresh plugin settings when configuration changes.""" + try: + debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: Refreshing settings", True) + + # Reload OCR settings from configuration + self._loadOCRSettings() + + debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: Settings refreshed successfully", True) + + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Error refreshing settings: {e}", True) + def _registerKeybindings(self): """Register plugin keybindings.""" try: @@ -203,6 +250,13 @@ class OCRDesktop(Plugin): 'kb:cthulhu+control+shift+c' ) + # OCR results window + self._kb_binding_results_window = self.registerGestureByString( + self._showOCRResultsWindow, + "Show OCR results window for current window", + 'kb:cthulhu+control+f' + ) + debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: Keybindings registered", True) except Exception as e: @@ -409,18 +463,27 @@ class OCRDesktop(Plugin): return modifiedImg def _performOCR(self): - """Perform OCR on captured images.""" + """Perform OCR on captured images with coordinate data extraction.""" if not PYTESSERACT_AVAILABLE: debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: Tesseract not available", True) return debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: Starting OCR", True) self._OCRText = '' + self._OCRWords = {} + self._OCRWordList = [] for img in self._img: modifiedImg = self._transformImg(img) try: - # Simple text extraction + # Extract coordinate data using image_to_data + from pytesseract import Output + OCRWords = pytesseract.image_to_data(modifiedImg, output_type=Output.DICT, + lang=self._languageCode, config='--psm 4') + self._appendToOCRWords(OCRWords) + self._processOCRWords(OCRWords, modifiedImg) + + # Also extract simple text for speech output text = pytesseract.image_to_string(modifiedImg, lang=self._languageCode, config='--psm 4') self._OCRText += text + '\n' except Exception as e: @@ -433,31 +496,36 @@ class OCRDesktop(Plugin): def _cleanOCRText(self): """Clean up OCR text output.""" # Remove multiple spaces - regexSpace = re.compile('[^\S\r\n]{2,}') + regexSpace = re.compile(r'[^\S\r\n]{2,}') self._OCRText = regexSpace.sub(' ', self._OCRText) # Remove empty lines - regexSpace = re.compile('\n\s*\n') + regexSpace = re.compile(r'\n\s*\n') self._OCRText = regexSpace.sub('\n', self._OCRText) # Remove trailing spaces - regexSpace = re.compile('\s*\n') + regexSpace = re.compile(r'\s*\n') self._OCRText = regexSpace.sub('\n', self._OCRText) # Remove leading spaces - regexSpace = re.compile('^\s') + regexSpace = re.compile(r'^\s') self._OCRText = regexSpace.sub('', self._OCRText) # Remove trailing newlines self._OCRText = self._OCRText.strip() def _presentOCRResult(self): - """Present OCR result to user via speech.""" + """Present OCR result to user via speech and optionally copy to clipboard.""" try: if not self._OCRText.strip(): message = "No text found in OCR scan" else: message = f"OCR result: {self._OCRText}" + + # Copy to clipboard if enabled + if self._copyToClipboard: + self._copyTextToClipboard(self._OCRText) + message += " (copied to clipboard)" if self.app: state = self.app.getDynamicApiManager().getAPI('CthulhuState') @@ -467,4 +535,335 @@ class OCRDesktop(Plugin): debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Presented result: {len(self._OCRText)} characters", True) except Exception as e: - debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Error presenting result: {e}", True) \ No newline at end of file + debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Error presenting result: {e}", True) + + def _appendToOCRWords(self, OCRWords): + """Append OCR words to the main OCR data structure.""" + for k, v in OCRWords.items(): + try: + x = self._OCRWords[k] + if isinstance(v, list): + self._OCRWords[k].extend(v) + except KeyError: + self._OCRWords[k] = v + + def _processOCRWords(self, OCRWords, img): + """Process OCR words to extract coordinate data.""" + boxCounter = len(OCRWords['level']) + if boxCounter == 0: + return False + + lastPage = -1 + lastBlock = -1 + lastPar = -1 + lastLine = -1 + + for i in range(boxCounter): + if (len(OCRWords['text'][i]) == 0) or OCRWords['text'][i].isspace(): + continue + + # Add word to coordinate list + self._OCRWordList.append([ + OCRWords['text'][i], # Text + round(OCRWords['height'][i] / 3 * 0.78, 0), # Calculated fontsize + self._getColorString(OCRWords, i, img), # Color info + 'text', # Object type + int(OCRWords['width'][i] / 2 + OCRWords['left'][i]), # X coordinate (center) + int(OCRWords['height'][i] / 2 + OCRWords['top'][i]), # Y coordinate (center) + int(float(OCRWords['conf'][i])) # Confidence + ]) + + lastPage = OCRWords['page_num'][i] + lastBlock = OCRWords['block_num'][i] + lastPar = OCRWords['par_num'][i] + lastLine = OCRWords['line_num'][i] + + return True + + def _getColorString(self, box, index, img): + """Get color information for OCR text (simplified version).""" + if not self._colorCalculation: + return 'unknown' + if not SCIPY_AVAILABLE or not WEBCOLORS_AVAILABLE: + return 'unknown' + + # Simplified color calculation - just return "unknown" for now + # Full implementation would require the color analysis from ocrdesktop + return 'unknown' + + def _showOCRResultsWindow(self, script=None, inputEvent=None): + """Show OCR results window for current window with coordinate mapping.""" + try: + debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: OCR results window requested", True) + + if self._is_processing: + debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: Already processing, ignoring request", True) + return True + + self._is_processing = True + self._announceOCRStart("window for interactive results") + + try: + if self._screenShotWindow(): + self._performOCR() + self._createOCRResultsWindow() + finally: + self._is_processing = False + + return True + except Exception as e: + self._is_processing = False + debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Error in OCR results window: {e}", True) + return False + + def _createOCRResultsWindow(self): + """Create and show the OCR results window with coordinate mapping.""" + if not GTK_AVAILABLE: + debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: GTK not available for results window", True) + return + + try: + # Create main window + self._results_window = Gtk.Window(title="OCR Results - Cthulhu") + self._results_window.set_default_size(800, 600) + self._results_window.set_modal(True) + + # Create main container + vbox = Gtk.VBox() + + # Create menu bar + menubar = self._createResultsMenuBar() + vbox.pack_start(menubar, False, False, 0) + + # Create text view for OCR text + scrolled_text = Gtk.ScrolledWindow() + self._results_textview = Gtk.TextView() + self._results_textview.set_editable(False) + buffer = self._results_textview.get_buffer() + buffer.set_text(self._OCRText) + scrolled_text.add(self._results_textview) + + # Create tree view for coordinate data + scrolled_tree = Gtk.ScrolledWindow() + self._results_tree = self._createResultsTreeView() + scrolled_tree.add(self._results_tree) + + # Add both views to container + vbox.pack_start(scrolled_text, True, True, 0) + vbox.pack_start(scrolled_tree, True, True, 0) + + # Set initial view (text only) + scrolled_tree.hide() + + self._results_window.add(vbox) + self._results_window.connect("destroy", self._onResultsWindowDestroy) + self._results_window.connect("key-press-event", self._onResultsKeyPress) + + # Show window + self._results_window.show_all() + scrolled_tree.hide() # Hide tree initially + + debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: Results window created", True) + + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Error creating results window: {e}", True) + + def _createResultsMenuBar(self): + """Create menu bar for results window.""" + menubar = Gtk.MenuBar() + + # View menu + view_menu = Gtk.Menu() + view_item = Gtk.MenuItem(label="View") + view_item.set_submenu(view_menu) + + # Toggle view option + toggle_item = Gtk.MenuItem(label="Toggle View (Alt+V)") + toggle_item.connect("activate", self._toggleResultsView) + view_menu.append(toggle_item) + + menubar.append(view_item) + + # Actions menu + actions_menu = Gtk.Menu() + actions_item = Gtk.MenuItem(label="Actions") + actions_item.set_submenu(actions_menu) + + # Click action + click_item = Gtk.MenuItem(label="Click Selected (Enter)") + click_item.connect("activate", self._clickSelectedText) + actions_menu.append(click_item) + + menubar.append(actions_item) + + return menubar + + def _createResultsTreeView(self): + """Create tree view for OCR results with coordinates.""" + # Create list store + store = Gtk.ListStore(str, str, int, str, str, int, int, int) + + # Create tree view + tree = Gtk.TreeView(model=store) + tree.set_search_column(0) + + # Add columns + columns = [ + ("Text", 0), + ("Font Size", 2), + ("Color", 3), + ("Type", 4), + ("X Position", 5), + ("Y Position", 6), + ("Confidence", 7) + ] + + for title, col_id in columns: + renderer = Gtk.CellRendererText() + column = Gtk.TreeViewColumn(title, renderer, text=col_id) + column.set_sort_column_id(col_id) + tree.append_column(column) + + # Populate with OCR data + for row in self._OCRWordList: + # Transform coordinates back to screen coordinates + x_coord = int(row[4] / self._scaleFactor + self._offsetXpos) + y_coord = int(row[5] / self._scaleFactor + self._offsetYpos) + + store.append([ + row[0], # Text + str(row[1]), # Font size (as string for display) + int(row[1]), # Font size (as int for sorting) + row[2], # Color + row[3], # Type + x_coord, # X coordinate (screen) + y_coord, # Y coordinate (screen) + row[6] # Confidence + ]) + + tree.connect("row-activated", self._onTreeRowActivated) + + return tree + + def _toggleResultsView(self, widget): + """Toggle between text and tree view.""" + if not self._results_window: + return + + # Get the container + vbox = self._results_window.get_child() + scrolled_text = vbox.get_children()[1] # Second child (after menubar) + scrolled_tree = vbox.get_children()[2] # Third child + + if self._current_view_mode == 0: # Currently showing text + scrolled_text.hide() + scrolled_tree.show() + self._current_view_mode = 1 + self._results_tree.grab_focus() + else: # Currently showing tree + scrolled_tree.hide() + scrolled_text.show() + self._current_view_mode = 0 + self._results_textview.grab_focus() + + def _onTreeRowActivated(self, tree, path, column): + """Handle double-click or Enter on tree row.""" + self._clickSelectedText(None) + + def _clickSelectedText(self, widget): + """Click at the coordinates of the selected text.""" + if not self._results_tree: + return + + selection = self._results_tree.get_selection() + if not selection: + return + + model, tree_iter = selection.get_selected() + if not tree_iter: + return + + # Get coordinates + x_coord = model.get_value(tree_iter, 5) # X position + y_coord = model.get_value(tree_iter, 6) # Y position + text = model.get_value(tree_iter, 0) # Text for confirmation + + # Confirm click action + dialog = Gtk.MessageDialog( + self._results_window, + Gtk.DialogFlags.MODAL, + Gtk.MessageType.QUESTION, + Gtk.ButtonsType.YES_NO, + f"Click at coordinates ({x_coord}, {y_coord}) for text '{text}'?" + ) + + response = dialog.run() + dialog.destroy() + + if response == Gtk.ResponseType.YES: + try: + # Hide window before clicking + self._results_window.hide() + + # Perform click using AT-SPI + import pyatspi + time.sleep(0.5) # Brief delay + pyatspi.Registry.generateMouseEvent(x_coord, y_coord, "b1c") + + debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Clicked at ({x_coord}, {y_coord})", True) + + # Destroy window after successful click + self._results_window.destroy() + self._results_window = None + + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Error clicking: {e}", True) + # Show window again on error + self._results_window.show() + + def _onResultsKeyPress(self, widget, event): + """Handle key presses in results window.""" + keyval = event.keyval + state = event.state + + # Alt+V to toggle view + if (keyval == Gdk.KEY_v or keyval == Gdk.KEY_V) and (state & Gdk.ModifierType.MOD1_MASK): + self._toggleResultsView(None) + return True + + # Enter to click selected + if keyval == Gdk.KEY_Return or keyval == Gdk.KEY_KP_Enter: + if self._current_view_mode == 1: # Tree view + self._clickSelectedText(None) + return True + + # Escape to close + if keyval == Gdk.KEY_Escape: + self._results_window.destroy() + return True + + return False + + def _onResultsWindowDestroy(self, widget): + """Handle results window destruction.""" + self._results_window = None + self._results_tree = None + self._results_textview = None + self._current_view_mode = 0 + debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: Results window destroyed", True) + + def _copyTextToClipboard(self, text): + """Copy text to system clipboard.""" + if not GTK_AVAILABLE: + debug.printMessage(debug.LEVEL_INFO, "OCRDesktop: GTK not available for clipboard", True) + return False + + try: + clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + clipboard.set_text(text, -1) + clipboard.store() + debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Copied {len(text)} characters to clipboard", True) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"OCRDesktop: Error copying to clipboard: {e}", True) + return False \ No newline at end of file diff --git a/src/cthulhu/settings.py b/src/cthulhu/settings.py index c3c89aa..fd92e25 100644 --- a/src/cthulhu/settings.py +++ b/src/cthulhu/settings.py @@ -157,7 +157,16 @@ userCustomizableSettings = [ "aiConfirmationRequired", "aiActionTimeout", "aiScreenshotQuality", - "aiMaxContextLength" + "aiMaxContextLength", + "ocrLanguageCode", + "ocrScaleFactor", + "ocrGrayscaleImg", + "ocrInvertImg", + "ocrBlackWhiteImg", + "ocrBlackWhiteImgValue", + "ocrColorCalculation", + "ocrColorCalculationMax", + "ocrCopyToClipboard" ] GENERAL_KEYBOARD_LAYOUT_DESKTOP = 1 @@ -443,3 +452,14 @@ aiConfirmationRequired = True aiActionTimeout = 30 aiScreenshotQuality = AI_SCREENSHOT_QUALITY_MEDIUM aiMaxContextLength = 4000 + +# OCR Plugin settings +ocrLanguageCode = 'eng' +ocrScaleFactor = 3 +ocrGrayscaleImg = False +ocrInvertImg = False +ocrBlackWhiteImg = False +ocrBlackWhiteImgValue = 200 +ocrColorCalculation = False +ocrColorCalculationMax = 3 +ocrCopyToClipboard = False From 10d94792ed0e7418bf37aa364158e46348a06c03 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 16 Sep 2025 22:44:29 -0400 Subject: [PATCH 2/4] Ported over Orca d-bus remote improvements. --- CLAUDE.md | 41 +- README-REMOTE-CONTROLLER.md | 209 +++++++ src/cthulhu/cthulhu.py | 14 + src/cthulhu/meson.build | 1 + .../SpeechHistory.disabled/__init__.py | 1 + .../SpeechHistory.disabled/meson.build | 14 + .../SpeechHistory.disabled/plugin.info | 8 + .../plugins/SpeechHistory.disabled/plugin.py | 235 ++++++++ src/cthulhu/speech_and_verbosity_manager.py | 154 ++++++ src/cthulhu/speech_dbus_manager.py | 515 ++++++++++++++++++ src/cthulhu/typing_echo_presenter.py | 332 +++++++++++ 11 files changed, 1505 insertions(+), 19 deletions(-) create mode 100644 src/cthulhu/plugins/SpeechHistory.disabled/__init__.py create mode 100644 src/cthulhu/plugins/SpeechHistory.disabled/meson.build create mode 100644 src/cthulhu/plugins/SpeechHistory.disabled/plugin.info create mode 100644 src/cthulhu/plugins/SpeechHistory.disabled/plugin.py create mode 100644 src/cthulhu/speech_dbus_manager.py create mode 100644 src/cthulhu/typing_echo_presenter.py diff --git a/CLAUDE.md b/CLAUDE.md index df17b2c..3ef1d12 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -791,29 +791,32 @@ busctl --user call org.stormux.Cthulhu.Service /org/stormux/Cthulhu/Service org. - 🔄 **Module registration**: Ready for individual managers to register D-Bus commands - 🔄 **Plugin integration**: Plugins can expose D-Bus commands using decorators -### **✅ COMPLETED - D-Bus Remote Controller Integration** -The D-Bus Remote Controller from Orca v49.alpha has been successfully integrated into Cthulhu and is fully functional. +### **✅ COMPLETED - Enhanced D-Bus Remote Controller with Speech and Key Echo Controls** +The D-Bus Remote Controller from Orca v49.alpha has been successfully re-ported and enhanced with comprehensive speech and typing echo controls. -**Root Cause of Issues**: D-Bus service startup timing conflicts with ATSPI registry initialization. +**Latest Enhancement (2025)**: +- **SpeechManager Module**: Complete D-Bus control over speech settings (muting, verbosity, punctuation, capitalization, number pronunciation) +- **TypingEchoManager Module**: Granular key echo controls (character/word/sentence echo, per-key-type settings) +- **No systemd dependency**: Direct session bus registration without service files +- **Real-time effect**: All settings take effect immediately -**Solution Implemented**: -- Deferred D-Bus service startup using `GObject.idle_add()` after ATSPI event loop is running -- Fixed all API naming convention differences between Orca and Cthulhu +**Files Created/Modified for Enhanced D-Bus Integration**: +- `src/cthulhu/speech_and_verbosity_manager.py` - Enhanced with D-Bus getters/setters for all speech settings +- `src/cthulhu/typing_echo_presenter.py` (NEW FILE) - Complete typing echo system with D-Bus controls +- `src/cthulhu/cthulhu.py` - D-Bus service registration for speech and typing echo managers +- `src/cthulhu/meson.build` - Added typing_echo_presenter.py to build +- `README-REMOTE-CONTROLLER.md` - Updated with comprehensive speech and key echo examples -**Files Modified for D-Bus Integration**: -- `src/cthulhu/dbus_service.py` (NEW FILE) - Complete D-Bus service port with Cthulhu API fixes -- `src/cthulhu/input_event.py` - Added RemoteControllerEvent + GDK version fix -- `src/cthulhu/cthulhu.py` - D-Bus integration + lazy BrailleEvent import + settings manager activation + deferred startup -- `src/cthulhu/Makefile.am` - Added dbus_service.py to build -- Multiple presenter files - Converted to lazy initialization pattern -- `src/cthulhu/keybindings.py` - Fixed GDK version requirement -- `README-REMOTE-CONTROLLER.md` (NEW FILE) - Complete documentation with examples +**Available D-Bus Modules**: +- **SpeechManager**: Speech muting, verbosity, punctuation, capitalization, number styles, indentation speech +- **TypingEchoManager**: Master key echo, character/word/sentence echo, per-key-type controls (alphabetic, numeric, punctuation, space, modifier, function, action, navigation, diacritical keys) +- **DefaultScript**: Core Cthulhu commands -**API Fixes Applied**: -- `debug.print_message` → `debug.printMessage` -- `script_manager.get_manager()` → `script_manager.getManager()` -- `get_active_script()` → `cthulhu_state.activeScript` -- `get_default_script()` → `getDefaultScript()` +**D-Bus Interface Design**: +- Service: `org.stormux.Cthulhu.Service` +- Module paths: `/org/stormux/Cthulhu/Service/ModuleName` +- Generic interface: `org.stormux.Cthulhu.Module` +- Methods: `ExecuteRuntimeGetter`, `ExecuteRuntimeSetter`, `ExecuteCommand` ### Bug Fixes Applied - Fixed circular imports in presenter modules (learn_mode_presenter, notification_presenter, etc.) diff --git a/README-REMOTE-CONTROLLER.md b/README-REMOTE-CONTROLLER.md index a646b87..bdfe490 100644 --- a/README-REMOTE-CONTROLLER.md +++ b/README-REMOTE-CONTROLLER.md @@ -330,6 +330,215 @@ If you get "The name is not activatable" or similar errors: - **Permissions**: Ensure you're using `--user` with busctl/gdbus for session bus access. - **Display**: Make sure `DISPLAY=:0` is set when running Cthulhu in terminal sessions. +## Speech and Key Echo Control Examples + +### SpeechManager Module + +The SpeechManager module provides comprehensive control over Cthulhu's speech settings: + +#### Speech Muting +```bash +# Check if speech is muted +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeGetter s "SpeechIsMuted" + +# Mute speech +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "SpeechIsMuted" b true + +# Unmute speech +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "SpeechIsMuted" b false +``` + +#### Verbosity Control +```bash +# Get current verbosity level +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeGetter s "VerbosityLevel" + +# Set verbosity to brief +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "VerbosityLevel" s "brief" + +# Set verbosity to verbose +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "VerbosityLevel" s "verbose" +``` + +#### Punctuation Control +```bash +# Get current punctuation level +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeGetter s "PunctuationLevel" + +# Set punctuation level (none/some/most/all) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "PunctuationLevel" s "all" +``` + +#### Other Speech Settings +```bash +# Number pronunciation +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "SpeakNumbersAsDigits" b true + +# Capitalization style (none/icon/spell) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "CapitalizationStyle" s "spell" + +# Indentation and justification speech +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "SpeakIndentationAndJustification" b true + +# Display-only text mode +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "OnlySpeakDisplayedText" b false +``` + +### TypingEchoManager Module + +The TypingEchoManager module provides granular control over key echo and typing feedback: + +#### Master Key Echo Control +```bash +# Check if key echo is enabled +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeGetter s "KeyEchoEnabled" + +# Enable key echo +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "KeyEchoEnabled" b true + +# Disable key echo +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "KeyEchoEnabled" b false +``` + +#### Character, Word, and Sentence Echo +```bash +# Character echo (echo characters as they're typed) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "CharacterEchoEnabled" b true + +# Word echo (speak word when completed) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "WordEchoEnabled" b true + +# Sentence echo (speak sentence when completed) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "SentenceEchoEnabled" b false +``` + +#### Key Type Controls +```bash +# Alphabetic keys (a-z, A-Z) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "AlphabeticKeysEnabled" b true + +# Numeric keys (0-9) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "NumericKeysEnabled" b true + +# Punctuation keys (!@#$%^&*(),.;' etc.) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "PunctuationKeysEnabled" b true + +# Space key +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "SpaceEnabled" b true + +# Modifier keys (Ctrl, Alt, Shift, etc.) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "ModifierKeysEnabled" b false + +# Function keys (F1-F12) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "FunctionKeysEnabled" b true + +# Action keys (Enter, Tab, Backspace, Delete, Escape) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "ActionKeysEnabled" b true + +# Navigation keys (Arrow keys, Home, End, Page Up/Down) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "NavigationKeysEnabled" b false + +# Diacritical keys (accented characters) +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "DiacriticalKeysEnabled" b true +``` + +### Complete Automation Script Example + +```bash +#!/bin/bash +# Complete Cthulhu Speech and Key Echo Configuration via D-Bus + +echo "=== Configuring Cthulhu via D-Bus ===" + +# Speech Configuration +echo "Setting up speech preferences..." +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "VerbosityLevel" s "brief" + +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "PunctuationLevel" s "some" + +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/SpeechManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "SpeakNumbersAsDigits" b true + +# Key Echo Configuration +echo "Setting up key echo preferences..." +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "KeyEchoEnabled" b true + +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "AlphabeticKeysEnabled" b true + +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "NumericKeysEnabled" b true + +busctl --user call org.stormux.Cthulhu.Service \ + /org/stormux/Cthulhu/Service/TypingEchoManager \ + org.stormux.Cthulhu.Module ExecuteRuntimeSetter sv "ModifierKeysEnabled" b false + +echo "Configuration complete!" +``` + ## Examples ### Quick Test Script diff --git a/src/cthulhu/cthulhu.py b/src/cthulhu/cthulhu.py index 683060e..aced4eb 100644 --- a/src/cthulhu/cthulhu.py +++ b/src/cthulhu/cthulhu.py @@ -858,7 +858,21 @@ def _start_dbus_service(): """Starts the D-Bus remote controller service in an idle callback.""" debug.printMessage(debug.LEVEL_INFO, 'CTHULHU: Starting D-Bus remote controller', True) try: + # Start the D-Bus service dbus_service.get_remote_controller().start() + + # Register speech and verbosity manager + debug.printMessage(debug.LEVEL_INFO, 'CTHULHU: Registering SpeechManager D-Bus module', True) + from . import speech_and_verbosity_manager + speech_manager = speech_and_verbosity_manager.getManager() + dbus_service.get_remote_controller().register_decorated_module("SpeechManager", speech_manager) + + # Register typing echo presenter + debug.printMessage(debug.LEVEL_INFO, 'CTHULHU: Registering TypingEchoManager D-Bus module', True) + from . import typing_echo_presenter + typing_echo_manager = typing_echo_presenter.getManager() + dbus_service.get_remote_controller().register_decorated_module("TypingEchoManager", typing_echo_manager) + except Exception as e: msg = f"CTHULHU: Failed to start D-Bus service: {e}" debug.printMessage(debug.LEVEL_SEVERE, msg, True) diff --git a/src/cthulhu/meson.build b/src/cthulhu/meson.build index 582d143..64dff3b 100644 --- a/src/cthulhu/meson.build +++ b/src/cthulhu/meson.build @@ -85,6 +85,7 @@ cthulhu_python_sources = files([ 'translation_context.py', 'translation_manager.py', 'tutorialgenerator.py', + 'typing_echo_presenter.py', 'where_am_i_presenter.py', ]) diff --git a/src/cthulhu/plugins/SpeechHistory.disabled/__init__.py b/src/cthulhu/plugins/SpeechHistory.disabled/__init__.py new file mode 100644 index 0000000..d3ff8fe --- /dev/null +++ b/src/cthulhu/plugins/SpeechHistory.disabled/__init__.py @@ -0,0 +1 @@ +from .plugin import SpeechHistory \ No newline at end of file diff --git a/src/cthulhu/plugins/SpeechHistory.disabled/meson.build b/src/cthulhu/plugins/SpeechHistory.disabled/meson.build new file mode 100644 index 0000000..8f5370c --- /dev/null +++ b/src/cthulhu/plugins/SpeechHistory.disabled/meson.build @@ -0,0 +1,14 @@ +speechhistory_python_sources = files([ + '__init__.py', + 'plugin.py' +]) + +python3.install_sources( + speechhistory_python_sources, + subdir: 'cthulhu/plugins/SpeechHistory' +) + +install_data( + 'plugin.info', + install_dir: python3.get_install_dir() / 'cthulhu' / 'plugins' / 'SpeechHistory' +) \ No newline at end of file diff --git a/src/cthulhu/plugins/SpeechHistory.disabled/plugin.info b/src/cthulhu/plugins/SpeechHistory.disabled/plugin.info new file mode 100644 index 0000000..92f1a40 --- /dev/null +++ b/src/cthulhu/plugins/SpeechHistory.disabled/plugin.info @@ -0,0 +1,8 @@ +name = Speech History +version = 1.0.0 +description = Keeps a history of all speech output with navigation and clipboard support +authors = Cthulhu Plugin System +website = https://git.stormux.org/storm/cthulhu +copyright = Copyright 2024 Stormux +builtin = true +hidden = false \ No newline at end of file diff --git a/src/cthulhu/plugins/SpeechHistory.disabled/plugin.py b/src/cthulhu/plugins/SpeechHistory.disabled/plugin.py new file mode 100644 index 0000000..2227f61 --- /dev/null +++ b/src/cthulhu/plugins/SpeechHistory.disabled/plugin.py @@ -0,0 +1,235 @@ +#!/usr/bin/env python3 + +import logging +from collections import deque +from cthulhu.plugin import Plugin, cthulhu_hookimpl +from cthulhu import settings_manager +from cthulhu import debug + +logger = logging.getLogger(__name__) + +class SpeechHistory(Plugin): + """Speech History plugin - SAFE manual-only version (no automatic capture).""" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + debug.printMessage(debug.LEVEL_INFO, "SpeechHistory SAFE plugin initialized", True) + + # History storage - start with some sample items + self._max_history_size = 50 + self._history = deque([ + "Welcome to safe speech history", + "This version doesn't auto-capture to prevent crashes", + "Use add_to_history() method to manually add items", + "Navigate with Cthulhu+Control+Shift+H (previous)", + "Navigate with Cthulhu+Control+H (next)", + "Copy with Cthulhu+Control+Y" + ], maxlen=self._max_history_size) + self._current_history_index = -1 + + # Keybinding storage + self._kb_nav_prev = None + self._kb_nav_next = None + self._kb_copy_last = None + + # Settings integration + self._settings_manager = settings_manager.getManager() + + @cthulhu_hookimpl + def activate(self, plugin=None): + """Activate the plugin.""" + if plugin is not None and plugin is not self: + return + + try: + debug.printMessage(debug.LEVEL_INFO, "=== SpeechHistory SAFE activation starting ===", True) + + # Load settings + self._load_settings() + + # Register keybindings only - NO speech capture + self._register_keybindings() + + debug.printMessage(debug.LEVEL_INFO, "SpeechHistory SAFE plugin activated successfully", True) + return True + + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"Error activating SpeechHistory SAFE: {e}", True) + return False + + @cthulhu_hookimpl + def deactivate(self, plugin=None): + """Deactivate the plugin.""" + if plugin is not None and plugin is not self: + return + + debug.printMessage(debug.LEVEL_INFO, "Deactivating SpeechHistory SAFE plugin", True) + + # Clear keybindings + self._kb_nav_prev = None + self._kb_nav_next = None + self._kb_copy_last = None + + return True + + def _load_settings(self): + """Load plugin settings.""" + try: + self._max_history_size = self._settings_manager.getSetting('speechHistorySize') or 50 + # Update deque maxlen if needed + if self._history.maxlen != self._max_history_size: + old_history = list(self._history) + self._history = deque(old_history[-self._max_history_size:], maxlen=self._max_history_size) + debug.printMessage(debug.LEVEL_INFO, f"Speech history size: {self._max_history_size}", True) + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"Error loading settings: {e}", True) + self._max_history_size = 50 + + def _register_keybindings(self): + """Register plugin keybindings.""" + try: + # Cthulhu+Control+Shift+H (History previous) + self._kb_nav_prev = self.registerGestureByString( + self._navigate_history_prev, + "Speech history previous", + 'kb:cthulhu+control+shift+h' + ) + + # Cthulhu+Control+H (History next) + self._kb_nav_next = self.registerGestureByString( + self._navigate_history_next, + "Speech history next", + 'kb:cthulhu+control+h' + ) + + # Cthulhu+Control+Y (Copy history) + self._kb_copy_last = self.registerGestureByString( + self._copy_last_spoken, + "Copy speech history item to clipboard", + 'kb:cthulhu+control+y' + ) + + debug.printMessage(debug.LEVEL_INFO, f"Registered keybindings: {bool(self._kb_nav_prev)}, {bool(self._kb_nav_next)}, {bool(self._kb_copy_last)}", True) + + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"Error registering keybindings: {e}", True) + + def _navigate_history_prev(self, script=None, inputEvent=None): + """Navigate to previous item in speech history.""" + try: + if not self._history: + self._present_message("Speech history is empty") + return True + + # Move backward in history (to older items) + if self._current_history_index == -1: + self._current_history_index = len(self._history) - 1 + elif self._current_history_index > 0: + self._current_history_index -= 1 + else: + self._current_history_index = len(self._history) - 1 + + # Present the history item + history_item = self._history[self._current_history_index] + position = self._current_history_index + 1 + self._present_message(f"History {position} of {len(self._history)}: {history_item}") + + return True + + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"Error navigating to previous: {e}", True) + return False + + def _navigate_history_next(self, script=None, inputEvent=None): + """Navigate to next item in speech history.""" + try: + if not self._history: + self._present_message("Speech history is empty") + return True + + # Move forward in history (to newer items) + if self._current_history_index == -1: + self._current_history_index = 0 + elif self._current_history_index < len(self._history) - 1: + self._current_history_index += 1 + else: + self._current_history_index = 0 + + # Present the history item + history_item = self._history[self._current_history_index] + position = self._current_history_index + 1 + self._present_message(f"History {position} of {len(self._history)}: {history_item}") + + return True + + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"Error navigating to next: {e}", True) + return False + + def _copy_last_spoken(self, script=None, inputEvent=None): + """Copy the last spoken text to clipboard.""" + try: + if not self._history: + self._present_message("No speech history to copy") + return True + + # Copy the most recent speech + last_spoken = self._history[-1] + + try: + import gi + gi.require_version("Gtk", "3.0") + from gi.repository import Gtk, Gdk + + clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + clipboard.set_text(last_spoken, -1) + clipboard.store() + + # Show confirmation + preview = last_spoken[:50] + ('...' if len(last_spoken) > 50 else '') + self._present_message(f"Copied to clipboard: {preview}") + + except Exception as clipboard_error: + debug.printMessage(debug.LEVEL_INFO, f"Clipboard error: {clipboard_error}", True) + self._present_message("Error copying to clipboard") + + return True + + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"Error copying: {e}", True) + return False + + def _present_message(self, message): + """Present a message to the user via speech.""" + try: + if self.app: + state = self.app.getDynamicApiManager().getAPI('CthulhuState') + if state and state.activeScript: + state.activeScript.presentMessage(message, resetStyles=False) + else: + debug.printMessage(debug.LEVEL_INFO, f"Message: {message}", True) + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"Error presenting message: {e}", True) + + def add_to_history(self, text): + """Public method to safely add items to history.""" + try: + if not text or not text.strip(): + return + + clean_text = text.strip() + if len(clean_text) < 2: + return + + # Simple duplicate prevention + if self._history and self._history[-1] == clean_text: + return + + # Add to history + self._history.append(clean_text) + self._current_history_index = -1 + + debug.printMessage(debug.LEVEL_INFO, f"Manually added to history: {clean_text[:50]}{'...' if len(clean_text) > 50 else ''}", True) + + except Exception as e: + debug.printMessage(debug.LEVEL_INFO, f"Error adding to history: {e}", True) \ No newline at end of file diff --git a/src/cthulhu/speech_and_verbosity_manager.py b/src/cthulhu/speech_and_verbosity_manager.py index 6a5cc99..0e1b273 100644 --- a/src/cthulhu/speech_and_verbosity_manager.py +++ b/src/cthulhu/speech_and_verbosity_manager.py @@ -33,6 +33,7 @@ __copyright__ = "Copyright (c) 2005-2008 Sun Microsystems Inc." \ __license__ = "LGPL" from . import cmdnames +from . import dbus_service from . import debug from . import input_event from . import keybindings @@ -258,6 +259,157 @@ class SpeechAndVerbosityManager: def _get_server(self): return speech.getSpeechServer() + # D-Bus getters and setters for speech settings + @dbus_service.getter + def get_speech_is_muted(self) -> bool: + """Returns whether speech output is temporarily muted.""" + return _settings_manager.getSetting('silenceSpeech') + + @dbus_service.setter + def set_speech_is_muted(self, value: bool) -> bool: + """Sets whether speech output is temporarily muted.""" + try: + _settings_manager.setSetting('silenceSpeech', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting speech mute: {e}", True) + return False + + @dbus_service.getter + def get_verbosity_level(self) -> str: + """Returns the current speech verbosity level.""" + level = _settings_manager.getSetting('speechVerbosityLevel') + if level == settings.VERBOSITY_LEVEL_BRIEF: + return "brief" + else: + return "verbose" + + @dbus_service.setter + def set_verbosity_level(self, value: str) -> bool: + """Sets the speech verbosity level.""" + try: + if value.lower() == "brief": + _settings_manager.setSetting('speechVerbosityLevel', settings.VERBOSITY_LEVEL_BRIEF) + elif value.lower() == "verbose": + _settings_manager.setSetting('speechVerbosityLevel', settings.VERBOSITY_LEVEL_VERBOSE) + else: + return False + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting verbosity level: {e}", True) + return False + + @dbus_service.getter + def get_speak_numbers_as_digits(self) -> bool: + """Returns whether numbers are spoken as digits.""" + return _settings_manager.getSetting('speakNumbersAsDigits') + + @dbus_service.setter + def set_speak_numbers_as_digits(self, value: bool) -> bool: + """Sets whether numbers are spoken as digits.""" + try: + _settings_manager.setSetting('speakNumbersAsDigits', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting speak numbers as digits: {e}", True) + return False + + @dbus_service.getter + def get_only_speak_displayed_text(self) -> bool: + """Returns whether only displayed text should be spoken.""" + return _settings_manager.getSetting('onlySpeakDisplayedText') + + @dbus_service.setter + def set_only_speak_displayed_text(self, value: bool) -> bool: + """Sets whether only displayed text should be spoken.""" + try: + _settings_manager.setSetting('onlySpeakDisplayedText', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting only speak displayed text: {e}", True) + return False + + @dbus_service.getter + def get_speak_indentation_and_justification(self) -> bool: + """Returns whether speaking of indentation and justification is enabled.""" + return _settings_manager.getSetting('enableSpeechIndentation') + + @dbus_service.setter + def set_speak_indentation_and_justification(self, value: bool) -> bool: + """Sets whether speaking of indentation and justification is enabled.""" + try: + _settings_manager.setSetting('enableSpeechIndentation', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting speak indentation: {e}", True) + return False + + @dbus_service.getter + def get_punctuation_level(self) -> str: + """Returns the current punctuation level.""" + level = _settings_manager.getSetting('verbalizePunctuationStyle') + if level == settings.PUNCTUATION_STYLE_NONE: + return "none" + elif level == settings.PUNCTUATION_STYLE_SOME: + return "some" + elif level == settings.PUNCTUATION_STYLE_MOST: + return "most" + elif level == settings.PUNCTUATION_STYLE_ALL: + return "all" + else: + return "some" + + @dbus_service.setter + def set_punctuation_level(self, value: str) -> bool: + """Sets the punctuation level.""" + try: + value_lower = value.lower() + if value_lower == "none": + _settings_manager.setSetting('verbalizePunctuationStyle', settings.PUNCTUATION_STYLE_NONE) + elif value_lower == "some": + _settings_manager.setSetting('verbalizePunctuationStyle', settings.PUNCTUATION_STYLE_SOME) + elif value_lower == "most": + _settings_manager.setSetting('verbalizePunctuationStyle', settings.PUNCTUATION_STYLE_MOST) + elif value_lower == "all": + _settings_manager.setSetting('verbalizePunctuationStyle', settings.PUNCTUATION_STYLE_ALL) + else: + return False + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting punctuation level: {e}", True) + return False + + @dbus_service.getter + def get_capitalization_style(self) -> str: + """Returns the current capitalization style.""" + style = _settings_manager.getSetting('capitalizationStyle') + if style == settings.CAPITALIZATION_STYLE_NONE: + return "none" + elif style == settings.CAPITALIZATION_STYLE_ICON: + return "icon" + elif style == settings.CAPITALIZATION_STYLE_SPELL: + return "spell" + else: + return "none" + + @dbus_service.setter + def set_capitalization_style(self, value: str) -> bool: + """Sets the capitalization style.""" + try: + value_lower = value.lower() + if value_lower == "none": + _settings_manager.setSetting('capitalizationStyle', settings.CAPITALIZATION_STYLE_NONE) + elif value_lower == "icon": + _settings_manager.setSetting('capitalizationStyle', settings.CAPITALIZATION_STYLE_ICON) + elif value_lower == "spell": + _settings_manager.setSetting('capitalizationStyle', settings.CAPITALIZATION_STYLE_SPELL) + else: + return False + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting capitalization style: {e}", True) + return False + def decrease_rate(self, script, event=None): """Decreases the speech rate""" @@ -484,6 +636,7 @@ class SpeechAndVerbosityManager: script.presentMessage(full, brief) return True + @dbus_service.command def toggle_speech(self, script, event=None): """Toggles speech.""" @@ -500,6 +653,7 @@ class SpeechAndVerbosityManager: _settings_manager.setSetting('silenceSpeech', True) return True + @dbus_service.command def toggle_verbosity(self, script, event=None): """Toggles speech verbosity level between verbose and brief.""" diff --git a/src/cthulhu/speech_dbus_manager.py b/src/cthulhu/speech_dbus_manager.py new file mode 100644 index 0000000..03a774c --- /dev/null +++ b/src/cthulhu/speech_dbus_manager.py @@ -0,0 +1,515 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2025 Stormux +# Copyright (c) 2025 Igalia, S.L. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., Franklin Street, Fifth Floor, +# Boston MA 02110-1301 USA. + +"""Enhanced speech settings management for D-Bus remote controller.""" + +__id__ = "$Id$" +__version__ = "$Revision$" +__date__ = "$Date$" +__copyright__ = "Copyright (c) 2025 Stormux" +__license__ = "LGPL" + +from . import cthulhu_state +from . import debug +from . import dbus_service +from . import messages +from . import settings +from . import settings_manager + +class SpeechDBusManager: + """Enhanced speech settings for D-Bus remote control.""" + + def __init__(self): + """Initialize the speech D-Bus manager.""" + self._settings_manager = settings_manager.getManager() + + @dbus_service.getter + def get_verbosity_level(self) -> str: + """Returns the current speech verbosity level.""" + + level = self._settings_manager.getSetting("speechVerbosityLevel") + if level == settings.VERBOSITY_LEVEL_BRIEF: + return "brief" + else: + return "verbose" + + @dbus_service.setter + def set_verbosity_level(self, value: str) -> bool: + """Sets the speech verbosity level.""" + + if value.lower() == "brief": + setting_value = settings.VERBOSITY_LEVEL_BRIEF + elif value.lower() == "verbose": + setting_value = settings.VERBOSITY_LEVEL_VERBOSE + else: + msg = f"SPEECH DBUS MANAGER: Invalid verbosity level: {value}" + debug.printMessage(debug.LEVEL_WARNING, msg, True) + return False + + msg = f"SPEECH DBUS MANAGER: Setting verbosity level to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("speechVerbosityLevel", setting_value) + return True + + @dbus_service.getter + def get_capitalization_style(self) -> str: + """Returns the current capitalization style.""" + + style = self._settings_manager.getSetting("capitalizationStyle") + if style == settings.CAPITALIZATION_STYLE_NONE: + return "none" + elif style == settings.CAPITALIZATION_STYLE_SPELL: + return "spell" + elif style == settings.CAPITALIZATION_STYLE_ICON: + return "icon" + else: + return "none" + + @dbus_service.setter + def set_capitalization_style(self, value: str) -> bool: + """Sets the capitalization style.""" + + value_lower = value.lower() + if value_lower == "none": + setting_value = settings.CAPITALIZATION_STYLE_NONE + elif value_lower == "spell": + setting_value = settings.CAPITALIZATION_STYLE_SPELL + elif value_lower == "icon": + setting_value = settings.CAPITALIZATION_STYLE_ICON + else: + msg = f"SPEECH DBUS MANAGER: Invalid capitalization style: {value}" + debug.printMessage(debug.LEVEL_WARNING, msg, True) + return False + + msg = f"SPEECH DBUS MANAGER: Setting capitalization style to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("capitalizationStyle", setting_value) + return True + + @dbus_service.getter + def get_punctuation_level(self) -> str: + """Returns the current punctuation level.""" + + level = self._settings_manager.getSetting("verbalizePunctuationStyle") + if level == settings.PUNCTUATION_STYLE_NONE: + return "none" + elif level == settings.PUNCTUATION_STYLE_SOME: + return "some" + elif level == settings.PUNCTUATION_STYLE_MOST: + return "most" + elif level == settings.PUNCTUATION_STYLE_ALL: + return "all" + else: + return "some" + + @dbus_service.setter + def set_punctuation_level(self, value: str) -> bool: + """Sets the punctuation level.""" + + value_lower = value.lower() + if value_lower == "none": + setting_value = settings.PUNCTUATION_STYLE_NONE + elif value_lower == "some": + setting_value = settings.PUNCTUATION_STYLE_SOME + elif value_lower == "most": + setting_value = settings.PUNCTUATION_STYLE_MOST + elif value_lower == "all": + setting_value = settings.PUNCTUATION_STYLE_ALL + else: + msg = f"SPEECH DBUS MANAGER: Invalid punctuation level: {value}" + debug.printMessage(debug.LEVEL_WARNING, msg, True) + return False + + msg = f"SPEECH DBUS MANAGER: Setting punctuation level to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("verbalizePunctuationStyle", setting_value) + return True + + @dbus_service.getter + def get_speak_numbers_as_digits(self) -> bool: + """Returns whether numbers are spoken as digits.""" + + return self._settings_manager.getSetting("speakNumbersAsDigits") + + @dbus_service.setter + def set_speak_numbers_as_digits(self, value: bool) -> bool: + """Sets whether numbers are spoken as digits.""" + + msg = f"SPEECH DBUS MANAGER: Setting speak numbers as digits to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("speakNumbersAsDigits", value) + return True + + @dbus_service.getter + def get_speech_is_muted(self) -> bool: + """Returns whether speech output is temporarily muted.""" + + return self._settings_manager.getSetting("silenceSpeech") + + @dbus_service.setter + def set_speech_is_muted(self, value: bool) -> bool: + """Sets whether speech output is temporarily muted.""" + + msg = f"SPEECH DBUS MANAGER: Setting speech muted to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("silenceSpeech", value) + return True + + @dbus_service.getter + def get_only_speak_displayed_text(self) -> bool: + """Returns whether only displayed text should be spoken.""" + + return self._settings_manager.getSetting("onlySpeakDisplayedText") + + @dbus_service.setter + def set_only_speak_displayed_text(self, value: bool) -> bool: + """Sets whether only displayed text should be spoken.""" + + msg = f"SPEECH DBUS MANAGER: Setting only speak displayed text to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("onlySpeakDisplayedText", value) + return True + + @dbus_service.getter + def get_speak_indentation_and_justification(self) -> bool: + """Returns whether speaking of indentation and justification is enabled.""" + + return self._settings_manager.getSetting("enableSpeechIndentation") + + @dbus_service.setter + def set_speak_indentation_and_justification(self, value: bool) -> bool: + """Sets whether speaking of indentation and justification is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting speak indentation and justification to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableSpeechIndentation", value) + return True + + @dbus_service.command + def toggle_speech(self, script=None, event=None): + """Toggles speech on and off.""" + + tokens = ["SPEECH DBUS MANAGER: toggle_speech. Script:", script, "Event:", event] + debug.printTokens(debug.LEVEL_INFO, tokens, True) + + if script is not None: + script.presentationInterrupt() + + if self.get_speech_is_muted(): + self.set_speech_is_muted(False) + if script is not None: + script.presentMessage(messages.SPEECH_ENABLED) + elif not self._settings_manager.getSetting("enableSpeech"): + self._settings_manager.setSetting("enableSpeech", True) + if script is not None: + script.presentMessage(messages.SPEECH_ENABLED) + else: + if script is not None: + script.presentMessage(messages.SPEECH_DISABLED) + self.set_speech_is_muted(True) + + @dbus_service.command + def toggle_verbosity(self, script=None, event=None): + """Toggles speech verbosity level between verbose and brief.""" + + tokens = ["SPEECH DBUS MANAGER: toggle_verbosity. Script:", script, "Event:", event] + debug.printTokens(debug.LEVEL_INFO, tokens, True) + + current_level = self._settings_manager.getSetting("speechVerbosityLevel") + if current_level == settings.VERBOSITY_LEVEL_BRIEF: + if script is not None: + script.presentMessage(messages.SPEECH_VERBOSITY_VERBOSE) + self._settings_manager.setSetting("speechVerbosityLevel", settings.VERBOSITY_LEVEL_VERBOSE) + else: + if script is not None: + script.presentMessage(messages.SPEECH_VERBOSITY_BRIEF) + self._settings_manager.setSetting("speechVerbosityLevel", settings.VERBOSITY_LEVEL_BRIEF) + + @dbus_service.command + def change_number_style(self, script=None, event=None): + """Changes spoken number style between digits and words.""" + + tokens = ["SPEECH DBUS MANAGER: change_number_style. Script:", script, "Event:", event] + debug.printTokens(debug.LEVEL_INFO, tokens, True) + + speak_digits = self.get_speak_numbers_as_digits() + if speak_digits: + brief = messages.NUMBER_STYLE_WORDS_BRIEF + full = messages.NUMBER_STYLE_WORDS_FULL + else: + brief = messages.NUMBER_STYLE_DIGITS_BRIEF + full = messages.NUMBER_STYLE_DIGITS_FULL + + self.set_speak_numbers_as_digits(not speak_digits) + if script is not None: + script.presentMessage(full, brief) + + @dbus_service.command + def say_all(self, script=None, event=None): + """Speaks the entire document or text, starting from the current position.""" + + tokens = ["SPEECH DBUS MANAGER: say_all. Script:", script, "Event:", event] + debug.printTokens(debug.LEVEL_INFO, tokens, True) + + # Use the current active script if not provided + if script is None: + script = cthulhu_state.activeScript + + if script is None: + msg = "SPEECH DBUS MANAGER: No active script available for Say All" + debug.printMessage(debug.LEVEL_WARNING, msg, True) + return False + + # Call the script's Say All method + try: + script.sayAll(event, notify_user=False) + return True + except Exception as e: + msg = f"SPEECH DBUS MANAGER: Error during Say All: {e}" + debug.printMessage(debug.LEVEL_SEVERE, msg, True) + return False + + # Key Echo Controls + @dbus_service.getter + def get_key_echo_enabled(self) -> bool: + """Returns whether echo of key presses is enabled.""" + + return self._settings_manager.getSetting("enableKeyEcho") + + @dbus_service.setter + def set_key_echo_enabled(self, value: bool) -> bool: + """Sets whether echo of key presses is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable key echo to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableKeyEcho", value) + return True + + @dbus_service.getter + def get_character_echo_enabled(self) -> bool: + """Returns whether echo of inserted characters is enabled.""" + + return self._settings_manager.getSetting("enableEchoByCharacter") + + @dbus_service.setter + def set_character_echo_enabled(self, value: bool) -> bool: + """Sets whether echo of inserted characters is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable character echo to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableEchoByCharacter", value) + return True + + @dbus_service.getter + def get_word_echo_enabled(self) -> bool: + """Returns whether word echo is enabled.""" + + return self._settings_manager.getSetting("enableEchoByWord") + + @dbus_service.setter + def set_word_echo_enabled(self, value: bool) -> bool: + """Sets whether word echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable word echo to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableEchoByWord", value) + return True + + @dbus_service.getter + def get_sentence_echo_enabled(self) -> bool: + """Returns whether sentence echo is enabled.""" + + return self._settings_manager.getSetting("enableEchoBySentence") + + @dbus_service.setter + def set_sentence_echo_enabled(self, value: bool) -> bool: + """Sets whether sentence echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable sentence echo to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableEchoBySentence", value) + return True + + @dbus_service.getter + def get_alphabetic_keys_enabled(self) -> bool: + """Returns whether alphabetic keys will be echoed when key echo is enabled.""" + + return self._settings_manager.getSetting("enableAlphabeticKeys") + + @dbus_service.setter + def set_alphabetic_keys_enabled(self, value: bool) -> bool: + """Sets whether alphabetic keys will be echoed when key echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable alphabetic keys to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableAlphabeticKeys", value) + return True + + @dbus_service.getter + def get_numeric_keys_enabled(self) -> bool: + """Returns whether numeric keys will be echoed when key echo is enabled.""" + + return self._settings_manager.getSetting("enableNumericKeys") + + @dbus_service.setter + def set_numeric_keys_enabled(self, value: bool) -> bool: + """Sets whether numeric keys will be echoed when key echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable numeric keys to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableNumericKeys", value) + return True + + @dbus_service.getter + def get_punctuation_keys_enabled(self) -> bool: + """Returns whether punctuation keys will be echoed when key echo is enabled.""" + + return self._settings_manager.getSetting("enablePunctuationKeys") + + @dbus_service.setter + def set_punctuation_keys_enabled(self, value: bool) -> bool: + """Sets whether punctuation keys will be echoed when key echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable punctuation keys to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enablePunctuationKeys", value) + return True + + @dbus_service.getter + def get_space_enabled(self) -> bool: + """Returns whether space key will be echoed when key echo is enabled.""" + + return self._settings_manager.getSetting("enableSpace") + + @dbus_service.setter + def set_space_enabled(self, value: bool) -> bool: + """Sets whether space key will be echoed when key echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable space to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableSpace", value) + return True + + @dbus_service.getter + def get_modifier_keys_enabled(self) -> bool: + """Returns whether modifier keys will be echoed when key echo is enabled.""" + + return self._settings_manager.getSetting("enableModifierKeys") + + @dbus_service.setter + def set_modifier_keys_enabled(self, value: bool) -> bool: + """Sets whether modifier keys will be echoed when key echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable modifier keys to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableModifierKeys", value) + return True + + @dbus_service.getter + def get_function_keys_enabled(self) -> bool: + """Returns whether function keys will be echoed when key echo is enabled.""" + + return self._settings_manager.getSetting("enableFunctionKeys") + + @dbus_service.setter + def set_function_keys_enabled(self, value: bool) -> bool: + """Sets whether function keys will be echoed when key echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable function keys to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableFunctionKeys", value) + return True + + @dbus_service.getter + def get_action_keys_enabled(self) -> bool: + """Returns whether action keys will be echoed when key echo is enabled.""" + + return self._settings_manager.getSetting("enableActionKeys") + + @dbus_service.setter + def set_action_keys_enabled(self, value: bool) -> bool: + """Sets whether action keys will be echoed when key echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable action keys to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableActionKeys", value) + return True + + @dbus_service.getter + def get_navigation_keys_enabled(self) -> bool: + """Returns whether navigation keys will be echoed when key echo is enabled.""" + + return self._settings_manager.getSetting("enableNavigationKeys") + + @dbus_service.setter + def set_navigation_keys_enabled(self, value: bool) -> bool: + """Sets whether navigation keys will be echoed when key echo is enabled.""" + + msg = f"SPEECH DBUS MANAGER: Setting enable navigation keys to {value}." + debug.printMessage(debug.LEVEL_INFO, msg, True) + self._settings_manager.setSetting("enableNavigationKeys", value) + return True + + @dbus_service.command + def cycle_key_echo(self, script=None, event=None): + """Cycle through the key echo levels.""" + + tokens = ["SPEECH DBUS MANAGER: cycle_key_echo. Script:", script, "Event:", event] + debug.printTokens(debug.LEVEL_INFO, tokens, True) + + # Get current settings + key = self._settings_manager.getSetting("enableKeyEcho") + word = self._settings_manager.getSetting("enableEchoByWord") + sentence = self._settings_manager.getSetting("enableEchoBySentence") + + # Cycle through the combinations: none -> key -> word -> sentence -> all -> none + if not key and not word and not sentence: + # None -> Key only + new_key, new_word, new_sentence = True, False, False + brief = messages.KEY_ECHO_KEY_BRIEF + full = messages.KEY_ECHO_KEY_FULL + elif key and not word and not sentence: + # Key -> Word + new_key, new_word, new_sentence = False, True, False + brief = messages.KEY_ECHO_WORD_BRIEF + full = messages.KEY_ECHO_WORD_FULL + elif not key and word and not sentence: + # Word -> Sentence + new_key, new_word, new_sentence = False, False, True + brief = messages.KEY_ECHO_SENTENCE_BRIEF + full = messages.KEY_ECHO_SENTENCE_FULL + elif not key and not word and sentence: + # Sentence -> All + new_key, new_word, new_sentence = True, True, True + brief = messages.KEY_ECHO_KEY_AND_WORD_BRIEF + full = messages.KEY_ECHO_KEY_AND_WORD_FULL + else: + # All -> None + new_key, new_word, new_sentence = False, False, False + brief = messages.KEY_ECHO_NONE_BRIEF + full = messages.KEY_ECHO_NONE_FULL + + # Apply new settings + self._settings_manager.setSetting("enableKeyEcho", new_key) + self._settings_manager.setSetting("enableEchoByWord", new_word) + self._settings_manager.setSetting("enableEchoBySentence", new_sentence) + + if script is not None: + script.presentMessage(full, brief) \ No newline at end of file diff --git a/src/cthulhu/typing_echo_presenter.py b/src/cthulhu/typing_echo_presenter.py new file mode 100644 index 0000000..4a19798 --- /dev/null +++ b/src/cthulhu/typing_echo_presenter.py @@ -0,0 +1,332 @@ +#!/usr/bin/env python3 +# Cthulhu +# +# Copyright 2005-2008 Sun Microsystems Inc. +# Copyright 2011-2025 Igalia, S.L. +# Copyright 2025 Stormux +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the +# Free Software Foundation, Inc., Franklin Street, Fifth Floor, +# Boston MA 02110-1301 USA. + +"""Provides typing echo support with D-Bus controls.""" + +__id__ = "$Id$" +__version__ = "$Revision$" +__date__ = "$Date$" +__copyright__ = "Copyright (c) 2005-2008 Sun Microsystems Inc." \ + "Copyright (c) 2011-2025 Igalia, S.L." +__license__ = "LGPL" + +import string +from typing import TYPE_CHECKING + +from . import braille +from . import cmdnames +from . import dbus_service +from . import debug +from . import input_event +from . import keybindings +from . import messages +from . import settings +from . import settings_manager +from . import speech + +if TYPE_CHECKING: + from . import default + +_settings_manager = settings_manager.getManager() + +class TypingEchoPresenter: + """Provides typing echo functionality with D-Bus remote control support.""" + + def __init__(self): + """Initialize the typing echo presenter.""" + debug.printMessage(debug.LEVEL_INFO, "TYPING ECHO PRESENTER: Initializing", True) + + # D-Bus getters and setters for key echo settings + @dbus_service.getter + def get_key_echo_enabled(self) -> bool: + """Returns whether echo of key presses is enabled.""" + return _settings_manager.getSetting('enableKeyEcho') + + @dbus_service.setter + def set_key_echo_enabled(self, value: bool) -> bool: + """Sets whether echo of key presses is enabled.""" + try: + _settings_manager.setSetting('enableKeyEcho', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting key echo: {e}", True) + return False + + @dbus_service.getter + def get_character_echo_enabled(self) -> bool: + """Returns whether echo of inserted characters is enabled.""" + return _settings_manager.getSetting('enableEchoByCharacter') + + @dbus_service.setter + def set_character_echo_enabled(self, value: bool) -> bool: + """Sets whether echo of inserted characters is enabled.""" + try: + _settings_manager.setSetting('enableEchoByCharacter', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting character echo: {e}", True) + return False + + @dbus_service.getter + def get_word_echo_enabled(self) -> bool: + """Returns whether word echo is enabled.""" + return _settings_manager.getSetting('enableEchoByWord') + + @dbus_service.setter + def set_word_echo_enabled(self, value: bool) -> bool: + """Sets whether word echo is enabled.""" + try: + _settings_manager.setSetting('enableEchoByWord', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting word echo: {e}", True) + return False + + @dbus_service.getter + def get_sentence_echo_enabled(self) -> bool: + """Returns whether sentence echo is enabled.""" + return _settings_manager.getSetting('enableEchoBySentence') + + @dbus_service.setter + def set_sentence_echo_enabled(self, value: bool) -> bool: + """Sets whether sentence echo is enabled.""" + try: + _settings_manager.setSetting('enableEchoBySentence', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting sentence echo: {e}", True) + return False + + @dbus_service.getter + def get_alphabetic_keys_enabled(self) -> bool: + """Returns whether alphabetic keys will be echoed when key echo is enabled.""" + return _settings_manager.getSetting('enableAlphabeticKeys') + + @dbus_service.setter + def set_alphabetic_keys_enabled(self, value: bool) -> bool: + """Sets whether alphabetic keys will be echoed when key echo is enabled.""" + try: + _settings_manager.setSetting('enableAlphabeticKeys', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting alphabetic keys: {e}", True) + return False + + @dbus_service.getter + def get_numeric_keys_enabled(self) -> bool: + """Returns whether numeric keys will be echoed when key echo is enabled.""" + return _settings_manager.getSetting('enableNumericKeys') + + @dbus_service.setter + def set_numeric_keys_enabled(self, value: bool) -> bool: + """Sets whether numeric keys will be echoed when key echo is enabled.""" + try: + _settings_manager.setSetting('enableNumericKeys', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting numeric keys: {e}", True) + return False + + @dbus_service.getter + def get_punctuation_keys_enabled(self) -> bool: + """Returns whether punctuation keys will be echoed when key echo is enabled.""" + return _settings_manager.getSetting('enablePunctuationKeys') + + @dbus_service.setter + def set_punctuation_keys_enabled(self, value: bool) -> bool: + """Sets whether punctuation keys will be echoed when key echo is enabled.""" + try: + _settings_manager.setSetting('enablePunctuationKeys', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting punctuation keys: {e}", True) + return False + + @dbus_service.getter + def get_space_enabled(self) -> bool: + """Returns whether space key will be echoed when key echo is enabled.""" + return _settings_manager.getSetting('enableSpace') + + @dbus_service.setter + def set_space_enabled(self, value: bool) -> bool: + """Sets whether space key will be echoed when key echo is enabled.""" + try: + _settings_manager.setSetting('enableSpace', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting space key: {e}", True) + return False + + @dbus_service.getter + def get_modifier_keys_enabled(self) -> bool: + """Returns whether modifier keys will be echoed when key echo is enabled.""" + return _settings_manager.getSetting('enableModifierKeys') + + @dbus_service.setter + def set_modifier_keys_enabled(self, value: bool) -> bool: + """Sets whether modifier keys will be echoed when key echo is enabled.""" + try: + _settings_manager.setSetting('enableModifierKeys', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting modifier keys: {e}", True) + return False + + @dbus_service.getter + def get_function_keys_enabled(self) -> bool: + """Returns whether function keys will be echoed when key echo is enabled.""" + return _settings_manager.getSetting('enableFunctionKeys') + + @dbus_service.setter + def set_function_keys_enabled(self, value: bool) -> bool: + """Sets whether function keys will be echoed when key echo is enabled.""" + try: + _settings_manager.setSetting('enableFunctionKeys', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting function keys: {e}", True) + return False + + @dbus_service.getter + def get_action_keys_enabled(self) -> bool: + """Returns whether action keys will be echoed when key echo is enabled.""" + return _settings_manager.getSetting('enableActionKeys') + + @dbus_service.setter + def set_action_keys_enabled(self, value: bool) -> bool: + """Sets whether action keys will be echoed when key echo is enabled.""" + try: + _settings_manager.setSetting('enableActionKeys', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting action keys: {e}", True) + return False + + @dbus_service.getter + def get_navigation_keys_enabled(self) -> bool: + """Returns whether navigation keys will be echoed when key echo is enabled.""" + return _settings_manager.getSetting('enableNavigationKeys') + + @dbus_service.setter + def set_navigation_keys_enabled(self, value: bool) -> bool: + """Sets whether navigation keys will be echoed when key echo is enabled.""" + try: + _settings_manager.setSetting('enableNavigationKeys', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting navigation keys: {e}", True) + return False + + @dbus_service.getter + def get_diacritical_keys_enabled(self) -> bool: + """Returns whether diacritical keys will be echoed when key echo is enabled.""" + return _settings_manager.getSetting('enableDiacriticalKeys') + + @dbus_service.setter + def set_diacritical_keys_enabled(self, value: bool) -> bool: + """Sets whether diacritical keys will be echoed when key echo is enabled.""" + try: + _settings_manager.setSetting('enableDiacriticalKeys', value) + return True + except Exception as e: + debug.printMessage(debug.LEVEL_WARNING, f"Error setting diacritical keys: {e}", True) + return False + + @dbus_service.command + def cycle_key_echo(self, script: 'default.Script', event=None): + """Cycles through key echo modes.""" + if not _settings_manager.getSetting('enableKeyEcho'): + _settings_manager.setSetting('enableKeyEcho', True) + script.presentMessage(messages.KEY_ECHO_ENABLED) + else: + _settings_manager.setSetting('enableKeyEcho', False) + script.presentMessage(messages.KEY_ECHO_DISABLED) + return True + + def should_echo_keyboard_event(self, event: input_event.KeyboardEvent) -> bool: + """Returns whether the given keyboard event should be echoed.""" + if not _settings_manager.getSetting('enableKeyEcho'): + return False + + if event.event_string in ["shift", "control", "alt", "meta"]: + return _settings_manager.getSetting('enableModifierKeys') + + if event.event_string.startswith("f") and event.event_string[1:].isdigit(): + return _settings_manager.getSetting('enableFunctionKeys') + + if event.event_string in ["return", "enter", "tab", "escape", "backspace", "delete"]: + return _settings_manager.getSetting('enableActionKeys') + + if event.event_string in ["up", "down", "left", "right", "home", "end", "page_up", "page_down"]: + return _settings_manager.getSetting('enableNavigationKeys') + + if event.event_string == "space": + return _settings_manager.getSetting('enableSpace') + + if len(event.event_string) == 1: + char = event.event_string + if char.isalpha(): + return _settings_manager.getSetting('enableAlphabeticKeys') + elif char.isdigit(): + return _settings_manager.getSetting('enableNumericKeys') + elif char in string.punctuation: + return _settings_manager.getSetting('enablePunctuationKeys') + + return False + + def is_character_echoable(self, event: input_event.KeyboardEvent) -> bool: + """Returns True if the script will echo this event as part of character echo.""" + if not _settings_manager.getSetting('enableEchoByCharacter'): + return False + + # Character echo is for printable characters being inserted + if len(event.event_string) == 1 and event.event_string.isprintable(): + return True + + return False + + def echo_keyboard_event(self, script: 'default.Script', event: input_event.KeyboardEvent) -> None: + """Presents the KeyboardEvent event.""" + if self.should_echo_keyboard_event(event): + if event.event_string == "space": + script.presentMessage(messages.SPACE) + elif event.event_string == "tab": + script.presentMessage(messages.TAB) + elif event.event_string == "return" or event.event_string == "enter": + script.presentMessage(messages.ENTER) + elif event.event_string == "backspace": + script.presentMessage(messages.BACKSPACE) + elif event.event_string == "delete": + script.presentMessage(messages.DELETE) + else: + # For simple characters and other keys, just speak the event string + script.presentMessage(event.event_string) + +# Global instance +_manager = None + +def getManager(): + """Get the typing echo presenter manager.""" + global _manager + if not _manager: + _manager = TypingEchoPresenter() + return _manager \ No newline at end of file From 11240bfcbc7087fe6ca696e3676fd2446f9d34fe Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Tue, 9 Dec 2025 09:09:42 -0500 Subject: [PATCH 3/4] More d-bus stuff added. --- .gitignore | 13 + AUTHORS | 14 - ChangeLog | 4 - ChangeLog-pre-2.27.1 | 20252 ------------------ README-REMOTE-CONTROLLER.md | 575 +- REMOTE-CONTROLLER-COMMANDS.md | 91 + acinclude.m4 | 104 - distro-packages/Arch-Linux/PKGBUILD | 3 +- docs/Makefile.in | 652 - docs/man/Makefile.in | 554 - meson.build | 2 +- src/Makefile.in | 652 - src/cthulhu/plugins/OCR/plugin.py | 9 +- src/cthulhu/speech_and_verbosity_manager.py | 731 +- src/cthulhu/structural_navigation.py | 1 + 15 files changed, 1000 insertions(+), 22657 deletions(-) delete mode 100644 AUTHORS delete mode 100644 ChangeLog delete mode 100644 ChangeLog-pre-2.27.1 create mode 100644 REMOTE-CONTROLLER-COMMANDS.md delete mode 100644 acinclude.m4 delete mode 100644 docs/Makefile.in delete mode 100644 docs/man/Makefile.in delete mode 100644 src/Makefile.in diff --git a/.gitignore b/.gitignore index 216514e..d9e3999 100644 --- a/.gitignore +++ b/.gitignore @@ -50,8 +50,21 @@ src/cthulhu/cthulhu_platform.py # Python bytecode *.pyc +*.pyo __pycache__/ +# Editor backup files +*~ +*.bak +*.swp +*.tmp +*.orig +*.rej + +# AT-SPI test/debug files +debug*.log +debug*.out + # Local build directory and artifacts local-build/ debug-*.out diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 3d6d5c8..0000000 --- a/AUTHORS +++ /dev/null @@ -1,14 +0,0 @@ -Cthulhu Authors - -Marc Mulcahy -Willie Walker -Mike Pedersen -Rich Burridge -Joanmarie Diggs -Eitan Isaacson -Scott Haeger - - -Cthulhu authors - -Storm Dragon diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index cdb1c57..0000000 --- a/ChangeLog +++ /dev/null @@ -1,4 +0,0 @@ -2009-06-09 Willie Walker - - As of June 9, 2009, the ChangeLog is auto-generated when releasing. - If you are seeing this, use 'git log' for a detailed list of changes. diff --git a/ChangeLog-pre-2.27.1 b/ChangeLog-pre-2.27.1 deleted file mode 100644 index def2660..0000000 --- a/ChangeLog-pre-2.27.1 +++ /dev/null @@ -1,20252 +0,0 @@ -2009-06-01 Willie Walker - - * src/cthulhu/scripts/apps/Thunderbird/speech_generator.py: - src/cthulhu/speech_generator.py: - Move Thunderbird-specific check to Thunderbird area - - There was some code in speech_generator.py that was looking - for a window ending in ' - Thunderbird' as a means to prevent - column headers from being spoken. This code was fragile - (and broken since the window can end with 'Mozilla Thunderbird'). - This code eliminates that check by putting the logic in the - thunderbird speech generator. - -2009-06-01 Willie Walker - - * src/cthulhu/formatting.py: - src/cthulhu/speech_generator.py: - Add mnemonic speaking back in to speech generator - -2009-06-01 Willie Walker - - * src/cthulhu/default.py: - src/cthulhu/cthulhu.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - src/cthulhu/scripts/apps/acroread.py: - src/cthulhu/scripts/apps/evolution/script.py: - src/cthulhu/scripts/apps/gedit/script.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/scripts/apps/yelp.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/structural_navigation.py: - Add 'force' parameter to setLocusOfFocus to allow us to - force a locus of focus change even if it might be the - same object. This is to help better support bug #571812. - -2009-06-01 Willie Walker - - * src/cthulhu/speech_generator.py: - Don't speak new column headers when reading a row - -2009-06-01 Willie Walker - - * src/cthulhu/scripts/apps/evolution/script.py: - src/cthulhu/speech_generator.py: - Add 'includeContext' support - - The includeContext support (default=True) allows a caller - to override whether the generated speech includes the context - for the object or not. - -2009-05-31 Willie Walker - - * src/cthulhu/speech_generator.py: - test/keystrokes/gtk-demo/role_table.py: - Do not speak 'blank' for table cells when reading entire row - -2009-05-29 Willie Walker and - Mesar Hameed - - * po/POTFILES.in: - src/cthulhu/Makefile.am: - src/cthulhu/bookmarks.py: - src/cthulhu/default.py: - src/cthulhu/espeechfactory.py: - src/cthulhu/formatting.py: - src/cthulhu/liveregions.py: - src/cthulhu/mouse_review.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/script.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - src/cthulhu/scripts/apps/Thunderbird/speech_generator.py: - src/cthulhu/scripts/apps/acroread.py: - src/cthulhu/scripts/apps/evolution/Makefile.am: - src/cthulhu/scripts/apps/evolution/formatting.py: - src/cthulhu/scripts/apps/evolution/script.py: - src/cthulhu/scripts/apps/evolution/speech_generator.py: - src/cthulhu/scripts/apps/gcalctool/speech_generator.py: - src/cthulhu/scripts/apps/gcalctool/where_am_i.py: - src/cthulhu/scripts/apps/gedit/script.py: - src/cthulhu/scripts/apps/gnome-system-monitor.py: - src/cthulhu/scripts/apps/gnome-terminal.py: - src/cthulhu/scripts/apps/gnome-window-properties/Makefile.am: - src/cthulhu/scripts/apps/gnome-window-properties/formatting.py: - src/cthulhu/scripts/apps/gnome-window-properties/script.py: - src/cthulhu/scripts/apps/gnome-window-properties/speech_generator.py: - src/cthulhu/scripts/apps/liferea.py: - src/cthulhu/scripts/apps/pidgin/speech_generator.py: - src/cthulhu/scripts/apps/pidgin/where_am_i.py: - src/cthulhu/scripts/apps/planner/Makefile.am: - src/cthulhu/scripts/apps/planner/script.py: - src/cthulhu/scripts/apps/planner/speech_generator.py: - src/cthulhu/scripts/apps/rhythmbox/Makefile.am: - src/cthulhu/scripts/apps/rhythmbox/formatting.py: - src/cthulhu/scripts/apps/rhythmbox/script.py: - src/cthulhu/scripts/apps/rhythmbox/speech_generator.py: - src/cthulhu/scripts/apps/soffice/Makefile.am: - src/cthulhu/scripts/apps/soffice/formatting.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/scripts/apps/soffice/speech_generator.py: - src/cthulhu/scripts/apps/soffice/where_am_i.py: - src/cthulhu/scripts/apps/yelp.py: - src/cthulhu/scripts/toolkits/Gecko/Makefile.am: - src/cthulhu/scripts/toolkits/Gecko/bookmarks.py: - src/cthulhu/scripts/toolkits/Gecko/formatting.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/where_am_i.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/Makefile.am: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/__init__.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/formatting.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/script.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/speech_generator.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/speechgenerator.py: - src/cthulhu/speech.py: - src/cthulhu/speech_generator.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/structural_navigation.py: - src/cthulhu/where_am_I.py: - test/harness/.gitignore: - test/harness/runone.sh: - test/keystrokes/firefox/bug_511389.py: - test/keystrokes/firefox/bug_544771.py: - test/keystrokes/firefox/bug_552887a.py: - test/keystrokes/firefox/bug_568631.py: - test/keystrokes/firefox/codetalks_alert.py: - test/keystrokes/firefox/codetalks_button.py: - test/keystrokes/firefox/codetalks_tree.py: - test/keystrokes/firefox/codetalks_treegrid.py: - test/keystrokes/firefox/dojo_button.py: - test/keystrokes/firefox/dojo_checkbox.py: - test/keystrokes/firefox/dojo_combo_box.py: - test/keystrokes/firefox/dojo_dialog.py: - test/keystrokes/firefox/dojo_panel_text.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/dojo_tree.py: - test/keystrokes/firefox/find_wiki.py: - test/keystrokes/firefox/flat_review_combo_box.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/html_role_links.py: - test/keystrokes/firefox/html_role_lists.py: - test/keystrokes/firefox/html_struct_nav_blockquote.py: - test/keystrokes/firefox/imagemap.py: - test/keystrokes/firefox/label_guess_bug_546815.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/line_nav_slash_test.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/link_where_am_i.py: - test/keystrokes/firefox/moz_checkbox.py: - test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/moz_progressbar.py: - test/keystrokes/firefox/moz_slider.py: - test/keystrokes/firefox/moz_tabpanel.py: - test/keystrokes/firefox/ms_tree_bug_570571.py: - test/keystrokes/firefox/page_summary.py: - test/keystrokes/firefox/sayAll_bugzilla_search.py: - test/keystrokes/firefox/sayAll_role_combo_box.py: - test/keystrokes/firefox/sayAll_wiki.py: - test/keystrokes/firefox/tpg_aria_slider.py: - test/keystrokes/firefox/uiuc_alert.py: - test/keystrokes/firefox/uiuc_button.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/uiuc_radiobutton.py: - test/keystrokes/firefox/uiuc_slider.py: - test/keystrokes/firefox/uiuc_tabpanel.py: - test/keystrokes/firefox/uiuc_tree.py: - test/keystrokes/firefox/xul_role_accel_label.py: - test/keystrokes/firefox/xul_role_alert.py: - test/keystrokes/firefox/xul_role_check_box.py: - test/keystrokes/firefox/xul_role_check_menu_item.py: - test/keystrokes/firefox/xul_role_combo_box.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/xul_role_list_item.py: - test/keystrokes/firefox/xul_role_menu_bar.py: - test/keystrokes/firefox/xul_role_page_tab.py: - test/keystrokes/firefox/xul_role_push_button.py: - test/keystrokes/firefox/xul_role_radio_button.py: - test/keystrokes/firefox/xul_role_radio_menu_item.py: - test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/xul_role_tree_table.py: - test/keystrokes/firefox/xul_where_am_i_status_bar.py: - test/keystrokes/firefox/yahoo_tab_view.py: - test/keystrokes/gtk-demo/role_accel_label.py: - test/keystrokes/gtk-demo/role_alert.py: - test/keystrokes/gtk-demo/role_check_box.py: - test/keystrokes/gtk-demo/role_check_menu_item.py: - test/keystrokes/gtk-demo/role_column_header.py: - test/keystrokes/gtk-demo/role_combo_box.py: - test/keystrokes/gtk-demo/role_combo_box2.py: - test/keystrokes/gtk-demo/role_dialog.py: - test/keystrokes/gtk-demo/role_icon.py: - test/keystrokes/gtk-demo/role_label.py: - test/keystrokes/gtk-demo/role_menu.py: - test/keystrokes/gtk-demo/role_page_tab.py: - test/keystrokes/gtk-demo/role_push_button.py: - test/keystrokes/gtk-demo/role_radio_button.py: - test/keystrokes/gtk-demo/role_radio_menu_item.py: - test/keystrokes/gtk-demo/role_spin_button.py: - test/keystrokes/gtk-demo/role_split_pane.py: - test/keystrokes/gtk-demo/role_table.py: - test/keystrokes/gtk-demo/role_tear_off_menu_item.py: - test/keystrokes/gtk-demo/role_text_multiline.py: - test/keystrokes/gtk-demo/role_toggle_button.py: - test/keystrokes/gtk-demo/role_toolbar.py: - test/keystrokes/gtk-demo/role_tree_table.py: - test/keystrokes/oowriter/bug_350219.py: - test/keystrokes/oowriter/bug_361747.py: - test/keystrokes/oowriter/bug_364765.py: - test/keystrokes/oowriter/bug_382408.py: - test/keystrokes/oowriter/bug_384893.py: - test/keystrokes/oowriter/bug_385828.py: - test/keystrokes/oowriter/bug_413909.py: - test/keystrokes/oowriter/bug_435201.py: - test/keystrokes/oowriter/bug_435226.py: - test/keystrokes/oowriter/bug_450210.py: - test/keystrokes/oowriter/bug_469367.py: - test/keystrokes/oowriter/table-sample.odt: - First phase of working on bug #Bug 570658 – Refactor the speech - and braille generators. This phase touches the speech - generators and makes things very much table driven (see the - formatting.py modules). Aside from touching many modules, the - impact on the user should *hopefully* be unnoticeable. That is, - the new tables are set up to provide the same speech output we - were getting before the refactor. The next phases will be - migrating where am I support to the speech generator and then - working on braille. - -2009-05-26 Joanmarie Diggs - - * src/cthulhu/scripts/apps/ekiga.py: - Tweak to the fix for bug #511468 - Ekiga chat window accessibility - problem so that we do not constantly speak the call duration when - in a call. - -2009-05-25 Willie Walker - - * README: - NEWS: - configure.in: - Prep for Cthulhu 2.27.2 - -2009-05-25 drtvasudevan - - * po/ta.po: - Updated Tamil translation - -2009-05-25 Joanmarie Diggs - - * src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/scripts/apps/soffice/script_settings.py: - Work on bug #574720 - Table Navigation Keys for OpenOffice - Writer. This adds in support for Alt + the cursoring keys for - navigation in OOo tables. Note that you will need to first - enable structural by pressing Cthulhu + Z. We plan to add in the - customizations/settings available in the Gecko preferences, as - well as for the announcement of dynamic row and column headers - when navigating. - -2009-05-25 Willie Walker - - * src/cthulhu/pronunciation_dict.py: - Fix for bgo#582028 - Character pronunciations are not used when - navigating by line. This provides a fallback to the chnames - dictionary - - -2009-05-24 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/where_am_i.py: - src/cthulhu/where_am_I.py: - test/html/lists2.html: (new) - test/keystrokes/firefox/html_role_list_item_where_am_i.py: (new) - Fix for bug #530784 - whereAmI info for list items in web - content needs to be improved. - -2009-05-24 Joanmarie Diggs - - * src/cthulhu/scripts/apps/ekiga.py: - Fix for bug #511468 - Ekiga chat window accessibility problem. - -2009-05-21 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #577900 - Blank lines in Firefox text areas - incorrectly spoken. - -2009-05-18 Joanmarie Diggs - - * src/cthulhu/scripts/apps/Makefile.am: - src/cthulhu/scripts/apps/ekiga.py: (new) - Fix for bug #574221 - left-pane in Ekiga's preference box can't - be read at start-up. - -2009-05-17 Joanmarie Diggs - - * src/cthulhu/scripts/apps/Makefile.am: - src/cthulhu/scripts/apps/gtk-window-decorator.py: (new) - Fix for bug #466841 - Cthulhu doesn't announce items when - Alt+Tabbing if Compiz is enabled. This fix is designed to - improve Cthulhu's access to the basic window switcher in - Compiz. There are still bugs in Compiz which make providing - compelling access difficult, but this should at least make - switching windows accessible. - -2009-05-14 Willie Walker - - * src/cthulhu/default.py: - Fix for bgo#582684 - Arrowing left/right across tree tables - causes whole row to be spoken - -2009-05-14 Gabor Kelemen - - * po/hu.po: - Hungarian translation updated by Attila Hammer - -2009-05-10 Willie Walker - and Hammer Attila - - * src/cthulhu/chnames.py: - Fix for bgo#575614 - Please add speakable characters: → and ← - -2009-05-09 Willie Walker - - * src/cthulhu/braille.py: - src/cthulhu/default.py: - Fix for bgo#354471 - Text selection from braille input device - - This is the first step of implementing this feature. Here's the - behavior: - - KEY_CMD_CUTBEGIN (Dot 1 + cursor routing key on my display) - - this will specify the start of a selection. Cthulhu will merely - move the caret to the given spot and will clear any existing - selection. - - KEY_CMD_CUTLINE (Dot 4 + cursor routing key on my display) - - this will specify the end of a selection and the selected text - is automatically copied to the system clipboard. If a selection - doesn't exist, Cthulhu creates a new one where the other endpoint - of the selection is where the caret is. If a selection exists - and the selection point is outside the existing selection, Cthulhu - extends the existing one. If a selection exists and the - selection point is inside the existing selection, Cthulhu trims the - selection from the right (i.e., the selected text that's after - the selection point becomes unselected). - - Known issues that need to be resolved: - - 1) This only works in text areas. It doesn't work across things - such as paragraphs in OpenOffice. - - 2) There's some strangeness with speech feedback: it sometimes - says "unselected" when the text is selected. This should be - fixable, but there also probably shouldn't be any speech - feedback when doing this from the braille display. - -2009-05-05 Willie Walker - - * src/cthulhu/braille.py: - src/cthulhu/default.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/cthulhu.py: - src/cthulhu/script.py: - Fix for bgo#581372 - Move cursor routing and six dot key - handling from braille.py to script - - With the cleanup from bgo#581532 to remove the custom brl module - and move directly to the brlapi module provided by - BrlTTY/BrlAPI, we are now able to handle BrlAPI commands much - better. This patch 'uncovers' the handling the cursor routing - keys and the six dot keys; they are no longer swallowed/handled - by the braille.py module alone. Instead, they go to the script - like any other event. By default, the script just turns around - and calls braille.py methods, but it can also feel free to - override them. For example, it might look at keyboard modifiers - along with a cursor routing key to see if it wants to select - text or not. - - As a note, the BrlAPI events come to us as a dictionary - containing a bunch of information about the event. For example, - the cursor routing command contains information about which - routing key was pressed. The six dots command, which is used to - turn contracted braille on or off, contains information about - whether the user wants to turn contracted braille on (dots 2-3-5 - on my Baum display) or off (dots 2-3-6 on my Baum display). - Right now, expressing interest in braille events is still done - by the command (e.g., brlapi.KEY_CMD_HOME, brlapi.KEY_CMD_ROUTE, - brlapi.KEY_CMD_SIXDOTS) and it is up to the event handler to - determine how to handle the arguments. - -2009-05-04 Willie Walker - - * configure.in: - src/Makefile.am: - src/brl/.cvsignore: - src/brl/.gitignore: - src/brl/Makefile.am: - src/brl/brlmodule.c: - src/cthulhu/braille.py: - src/cthulhu/default.py: - Fix for bgo#581532 - Remove brl module - -2009-05-04 Willie Walker - - * src/cthulhu/scripts/apps/gedit/script.py: - Fix for bug #577977 - provide speech feedback for "repeat last - find" in Gedit - -2009-05-04 Willie Walker - - * README: - configure.in: - Mark as Cthulhu v2.27.2pre - -2009-05-04 Willie Walker - - * ChangeLog: - NEWS: - RELEASE-HOWTO: - configure.in: - Prep for Cthulhu 2.27.1 - -2009-05-02 Willie Walker - - * src/cthulhu/cthulhu_console_prefs.py: - Fix for bgo#580423 - Remove deprecated libgnomeui dependency. - Use DBus org.gnome.SessionManager.Logout instead of - gnome.ui.master_client().request_save. - -2009-05-01 Willie Walker - - * src/cthulhu/cthulhu.py: - src/cthulhu/settings.py: - Add setting to disable the pyatspi GIL idle handler: - useGILIdleHandler. This change is made in response to - http://bugzilla.gnome.org/show_bug.cgi?id=576954 where it - appears as though the GIL idle handler in pyatspi is causing - consumers of pyatspi (e.g., Cthulhu and accerciser) to start - consuming 100% of a CPU when the machine is idle. We're pretty - sure the GIL handler is not necessary, so this change gets rid - of it for the 2.27.1 development build of Cthulhu. If we see that - users notice strange lock ups, however, we may need to change - things back. - -2009-04-30 Willie Walker - - * README: - Add pointer to internals.html document for script writing - -2009-04-30 Vincent Legoll - - * src/cthulhu/cthulhu.py: - Fix for bug #580329 - Use show_uri() to display help window - -2009-04-30 Maxim V. Dziumanenko - - * po/uk.po - Updated Ukrainian translation - -2009-04-28 Nolan Darilek - - * src/cthulhu/scripts/apps/gedit/script.py: - Fix for bug #577977 - provide speech feedback for "repeat last - find" in Gedit - -2009-04-26 Willie Walker - - - * docs/doc-set/internals.html: - docs/doc-set/script_guide.sgml: - Update the script guide section on braille and braille - generators - -2009-04-26 Willie Walker - - * docs/doc-set/internals.html: - docs/doc-set/script_guide.sgml: - Update the script guide section on speech and speech generators - -2009-04-26 Willie Walker - - * cthulhu.doap: - Use mailto: URL format for mbox lines in cthulhu.doap - -2009-04-26 Willie Walker - - * ChangeLog: - Update ChangeLog to reflect the git changes made since the - transition to git - -2009-04-26 Willie Walker - - - * .gitignore: - src/cthulhu/.gitignore: - Update .gitignore files. These files were created prior to - facilities that were created for autogenerating .gitignore - files. I might end up dumping these manually created for the - autogenerated files at some point, but not right now. - -2009-04-25 Willie Walker - - * src/cthulhu/default.py: - Adjust debug utilities to print to console and debug log. - -2009-04-25 Willie Walker - - * docs/doc-set/architecture.sgml: - docs/doc-set/internals.html: - docs/doc-set/script_guide.sgml: - Update script writing docs. Braille and speech output sections - still need work. - -2009-04-23 Olav Vitters - - * cthulhu.doap: - Add desktop category - -2009-04-22 Mesar Hameed - - * run_pylint.sh.in: - Updated run_pylint.sh to work with git. - -2009-04-22 Jordi Mas i Hernandez - - * po/ca.po - Minor fixes to Catalan translation - -2009-04-19 Aron Xu - - * po/zh_CN.po: - Updated zh_CN.po - -2009-04-19 Willie Walker - - * docs/doc-set/architecture.png: - docs/doc-set/architecture.sgml: - docs/doc-set/blurb.sgml: - docs/doc-set/diagrams.odg: - docs/doc-set/internals.html: - docs/doc-set/internals.sgml: - docs/doc-set/legal.sgml: - Update internals docs. Did not touch script writing guide yet. - -2009-04-17 Willie Walker - - * docs/doc-set/README: - docs/doc-set/architecture.sgml: - docs/doc-set/internals.html: - docs/doc-set/internals.sgml: - docs/doc-set/script_guide.sgml: - docs/doc-set/user_guide.html: - docs/doc-set/user_guide.sgml: - Update docs to work with xsltproc on OpenSolaris (a command - example is in README) - -2009-04-17 Willie Walker - - * cthulhu.doap: - Add homepage, mailing-list, bug-database, and download-page to - DOAP file - -2009-04-17 Willie Walker - - * .gitignore: - po/.gitignore: - src/brl/.gitignore: - src/louis/.gitignore: - src/cthulhu/.gitignore: - Add .gitignore files - -2009-04-17 Willie Walker - - * cthulhu.doap: - Add cthulhu.doap - -2009-04-15 Willie Walker - - * src/cthulhu/gnomespeechfactory.py: - Fix for bug #579052 - Cthulhu should be able to run with AT-SPI/D-Bus - -2009-04-12 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/line_nav_bug_577979.py: (new) - Fix for bug #577979 - Pressing Down Arrow from the middle of a - multi-line HTML list item initially moves to the beginning of the - line when arrowToLineBeginning is False. - -2009-04-11 Willie Walker - - * src/cthulhu/default.py: - ReFix for bug #576438 - Provide state change information for - radio buttons that require you to press space to select them - -2009-04-10 Willie Walker - - * src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/settings.py: - src/cthulhu/where_am_I.py: - Fix for bug #577245 - Present paragraph-style information in - OpenOffice. - -2009-04-10 Willie Walker - - * src/cthulhu/default.py: - Fix for bug #576438 - Provide state change information for - radio buttons that require you to press space to select them - -2009-04-10 Willie Walker - - * src/cthulhu/scripts/apps/gcalctool/script.py: - src/cthulhu/input_event.py: - Fix for bug #575921 - When I working with the gcalctool - application, Cthulhu says too lot of the result of the mathematic - operations - -2009-04-08 Joanmarie Diggs - - * src/cthulhu/scripts/apps/soffice/script.py: - Fix for bug #578072 - Cthulhu does not always present text attributes - in braille in OOo documents. - -2009-04-07 Willie Walker - - * src/cthulhu/cthulhu_gui_main.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #576037 - Bind F1 key to help page - -2009-04-04 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/line_nav_bug_577239.py: (new) - test/html/bug-577239.html: (new) - Fix for bug #577239 - Cannot navigate by line through multi-line - HTML list items in Firefox/Thunderbird when arrowToLineBeginning - is False. - -2009-03-30 Tomas Cerha (via william.walker@sun.com> - - * src/cthulhu/speechdispatcherfactory.py: - Fix for bug #577330 - Detect whether speech dispatcher is - installed or not - -2009-03-29 Stephen Brandt (via william.walker@sun.com> - - * src/cthulhu/cthulhu_glade.py: - src/cthulhu/cthulhu_quit.py: - src/cthulhu/cthulhu_gui_find.py: - src/cthulhu/cthulhu_gui_main.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #573535 - Cthulhu should use the 16x16 pixels - application icon for Main and Preferences windows. - Thank Stephen! - -2009-03-15 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.27.1pre - -2009-03-15 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.26.0 - -2009-03-14 Joanmarie Diggs - - * test/keystrokes/firefox/xul_role_menu_bar.py: - test/keystrokes/firefox/xul_role_list_item.py: - test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/xul_role_tree_table.py: - test/keystrokes/firefox/xul_role_combo_box.py: - test/keystrokes/firefox/dojo_button.py: - test/keystrokes/firefox/tpg_aria_slider.py: - test/keystrokes/firefox/uiuc_alert.py: - test/keystrokes/firefox/codetalks_button.py: - test/keystrokes/firefox/dojo_bug_570566.py: - test/keystrokes/firefox/xul_role_alert.py: - test/keystrokes/firefox/line_nav_slash_test.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - Updated regression tests. - -2009-03-11 Willie Walker - - * test/harness/utils.py: - test/keystrokes/firefox/xul_role_push_button.py: - Update to work with Firefox 3.1 Beta 3 on OpenSolaris 2008.11 b108. - Note - this requires a new xmodmap command that can be found - on http://live.gnome.org/Cthulhu/RegressionTesting. The main purpose - is to add ISO_Left_Shift to the keymap. - -2009-03-05 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/codetalks_list.py: (new) - Fix for bug #570557 - (ARIA) List items not presented. - -2009-03-02 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.25.92 - -2009-03-01 Willie Walker - - * test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/gtk-demo/role_combo_box.py: - test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - src/cthulhu/default.py: - Regression test cleanups. - -2009-03-01 Willie Walker - - * src/cthulhu/cthulhu_glade.py: - src/cthulhu/cthulhu_quit.py: - src/cthulhu/cthulhu_gui_find.py: - src/cthulhu/cthulhu_gui_main.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #573535 - Cthulhu should use the 16x16 pixels application - icon for Main and Preferences windows. This keeps the icon at the - 48x48 size that has been used to date, but makes sure it is used - on all the windows shown by Cthulhu. If we decide to go from 48x48 - to 16x16, we can change the new set_cthulhu_icon method in - cthulhu_glade.py. - -2009-03-01 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/line_nav_bug_570757.py: (new) - Fix for bug #570757 - Cthulhu can get stuck when browsing pages - with embedded panels in FF 3.x. - -2009-02-27 Willie Walker - - * src/cthulhu/default.py: - Work on bug #573303 - Support text attribute and spelling - error notification in FF. Limit the speaking of font names - to just the first family listed. - -2009-02-27 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/default.py: - src/cthulhu/scripts/apps/soffice/script.py: - test/keystrokes/gtk-demo/role_label: - test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - test/keystrokes/gtk-demo/role_text_multiline_navigation2.py: - Fix for bug #387556 - Arrowing past last character at end of - line in Cthulhu results in no speech. - -2009-02-27 Willie Walker - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #570550 - (ARIA) UIUC Number Guessing Game Alert - not presented when it changes - -2009-02-27 Willie Walker - - * src/cthulhu/where_am_I.py: - test/keystrokes/firefox/link_where_am_i.py: - Fix for bug #570567 - Where am I for link does not speak the - link text - -2009-02-27 Joanmarie Diggs - - * src/cthulhu/scripts/apps/evolution/script.py: - Fix for bug #570390 - Spellcheck in evolution is badly broken. - -2009-02-26 Willie Walker - - * src/cthulhu/mag.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #572215 - Opening preferences launches magnifier. - -2009-02-26 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #573174 - Gecko script.py calls debug.printException - when there isn't an exception. - -2009-02-26 Willie Walker - - * src/cthulhu/scripts/apps/pidgin/script.py: - Fix for bug #572303 - Double-speaking of characters entered into - pidgin account creation. - -2009-02-25 Eitan Isaacson - - * src/cthulhu/scripts/apps/Makefile.am: - src/cthulhu/scripts/apps/notify-osd.py: - po/POTFILES.in: - Added a notify-osd script (bug #573156). - -2009-02-25 Joanmarie Diggs - - * src/cthulhu/scripts/apps/Thunderbird/script.py: - Fix for bug #571812 - Cthulhu does not read the next message in - thunderbird when deleting if first column does not change. - -2009-02-19 Willie Walker - - * src/cthulhu/scripts/apps/Makefile.am: - src/cthulhu/scripts/apps/gdmlogin.py (re-add): - Fix for bug #517387 - Cthulhu should not read password out in - gdm login window. I was too aggressive. I deleted the whole - script instead of just a minor addition that was done as a - workaround. - -2009-02-19 Willie Walker - - * src/cthulhu/scripts/apps/Makefile.am: - src/cthulhu/scripts/apps/gdmlogin.py (delete): - Fix for bug #517387 - Cthulhu should not read password out in - gdm login window - -2009-02-18 Joanmarie Diggs - - * src/cthulhu/default.py: - Fix for bug #572294 - Need a sanity check in the default script's - locusOfFocusChanged. - -2009-02-18 Willie Walker - - * src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - Fix for bug #572218 - Order of variables not changeable - -2009-02-18 William Walker and Mesar Hameed - - * src/cthulhu/cthulhu_gui_prefs.py: - More fixing for bug #419123 - Modified speech settings do not change - immediately in preferences dialog. Make this more insensitive to - incomplete or unmatching translations. - -2009-02-17 William Walker and Mesar Hameed - - * src/cthulhu/acss.py: - src/cthulhu/cthulhu_gui_prefs.py: - More fixing for bug #419123 - Modified speech settings do not change - immediately in preferences dialog. There was an issue with setting - the uppercase and/or hyperlink voice settings the first time. - -2009-02-16 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.25.92pre - -2009-02-16 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.25.91 - -2009-02-16 William Walker and Mesar Hameed - - * src/cthulhu/acss.py: - src/cthulhu/cthulhu_console_prefs.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/gnomespeechfactory.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #419123 - Modified speech settings do not change - immediately in preferences dialog. Many thanks also to - Hammer Attila for his testing and feedback. - -2009-02-16 William Walker - - * keystrokes/gtk-demo/spoken_indentation.settings: - keystrokes/gtk-demo/spoken_indentation.py: - Regression test for spoken indentation - -2009-02-16 William Walker - - * src/cthulhu/default.py: - Additional fix for bug #569343 - Speaking of indentation is misleading - -2009-02-14 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/line_nav_bug_547573.py: - test/keystrokes/firefox/dojo_button.py: - test/keystrokes/firefox/tpg_aria_slider.py: - test/keystrokes/firefox/yahoo_tab_view.py: - test/keystrokes/firefox/moz_slider.py: - Work on (and possibly fix for) bug #571799 - (ARIA) Need to clean - up braille presentation of certain widgets. - -2009-02-13 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/codetalks_panel_text.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/dojo_tree.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/dojo_dialog.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/ms_tree_bug_570571.py: - test/keystrokes/firefox/dojo_button.py: - test/keystrokes/firefox/tpg_aria_slider.py: - test/keystrokes/firefox/uiuc_alert.py: - test/keystrokes/firefox/codetalks_button.py: - test/keystrokes/firefox/moz_slider.py: - test/keystrokes/firefox/uiuc_tree.py: - test/keystrokes/firefox/dojo_bug_570566.py: - test/keystrokes/firefox/moz_tabpanel.py: - test/keystrokes/firefox/dojo_panel_text.py: - test/keystrokes/firefox/dojo_combo_box.py: - More work on bug #571058 - (ARIA) Cthulhu's caret navigation is - kicking in when it shouldn't be. - -2009-02-13 Meshar Hameed - - * src/cthulhu/default.py: - Fix for bug #569343 - Speaking of indentation is misleading - -2009-02-13 Willie Walker - - * src/louis/constants.py.in: - Additional fix for bug #569118 - Use C_() instead of Q_() with - context - -2009-02-12 Willie Walker - - * test/keystrokes/firefox/uiuc_alert.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #570551 - (ARIA) UIUC Number Guessing Game Alert - Dialog not presented when it appears. - -2009-02-11 Joanmarie Diggs - - * test/keystrokes/firefox/dojo_button.py: - Updated regression test. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - More work on bug #571058 - (ARIA) Cthulhu's caret navigation is - kicking in when it shouldn't be. - -2009-02-11 Willie Walker - - * test/keystrokes/firefox/page_summary.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - Fix for bug #561660 - For example with firefox 3.0, heading - levels incorrect sayed for hungarian grammatical - -2009-02-10 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/dojo_tree.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/codetalks_tree.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/yahoo_tab_view.py: - test/keystrokes/firefox/codetalks_button.py: - test/keystrokes/firefox/moz_slider.py: - test/keystrokes/firefox/dojo_combo_box.py: - More work on bug #571058 - (ARIA) Cthulhu's caret navigation is - kicking in when it shouldn't be. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/bug_568768.py: (new) - test/keystrokes/firefox/bug_552887a.py: - Fix for bug #568768 - Cthulhu starts at the top of a newly-loaded - page rather than the specified fragment. - -2009-02-09 Joanmarie Diggs - - * test/keystrokes/firefox/yahoo_tab_view.py: (new) - test/keystrokes/firefox/codetalks_tree.py: (new) - New regression tests. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/uiuc_tree.py: - Fix for bug #571058 - (ARIA) Cthulhu's caret navigation is kicking in - when it shouldn't be. - - * test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/line_nav_simple_form.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/xul_role_alert.py: - test/keystrokes/firefox/sayAll_html_test_page.py: (removed) - Updated regression tests. I also removed one sayAll test because - it seems to stall the harness for some reason. Given that we have - quite a few sayAll tests which examine the same conditions, I'd - rather spend my time on Cthulhu bugs rather than harness issues. :-) - -2009-02-08 Joanmarie Diggs - - * test/keystrokes/firefox/bug_568631.py: - test/keystrokes/firefox/dojo_combo_box.py: - Updated regression tests. - - * test/keystrokes/firefox/line_nav_simple_form.py: - Updated regression test. - - * test/keystrokes/firefox/line_nav_wiki.py: - Updated regression test. - -2009-02-08 Willie Walker - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/toolkits/Gecko/script_settings.py: - src/cthulhu/settings.py: - src/cthulhu/structural_navigation.py: - Fix for bug #555540 - Add support for additional landmark roles - -2009-02-08 Joanmarie Diggs - - * test/keystrokes/firefox/line_nav_enter_bug.py: - Updated regression test. - -2009-02-06 Willie Walker - - * test/keystrokes/firefox/codetalks_button.py: - Account for differences between titles of various FF releases. - -2009-02-05 Joanmarie Diggs - - * src/cthulhu/cthulhu-setup.glade: - Rest of the fix for bug #570387 - Clean up the speech tab of - the preferences UI. - - * src/cthulhu/cthulhu-setup.glade: - Partial fix for bug #570387 - Clean up the speech tab of the - preferences UI. This causes Page Up and Page Down to work on - the hscales. - - * test/keystrokes/firefox/dojo_combo_box.py: (new) - new regression test - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/codetalks_alert.py: (new) - Fix for bug #570532 - (ARIA) Alert text not brailled when - navigating it. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #570524 - (ARIA) Issues with Dojo combo box - interaction. - -2009-02-02 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.25.91pre - -2009-02-02 Willie Walker - - * src/cthulhu/cthulhu_i18n.py.in: - Use gettext.gettext instead of _ for C_ so as to avoid bad - distcheck failure. - -2009-01-31 Willie Walker - - * src/cthulhu/structural_navigation.py: - Fix for bug #568550 - Add default keybindings for navigating by - landmarks - -2009-01-31 Willie Walker - - * test/keystrokes/firefox/dojo_button.py: - src/cthulhu/rolenames.py: - Fix for bug #569835 - Cthulhu should support the ARIA haspopup attribute - -2009-01-30 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #537303 - Certain FF3 add-ons interfere with Cthulhu's - ability to provide access to content. - -2009-01-29 Willie Walker - - * test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/moz_slider.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/default.py: - Fix for bug #552965 - aria-valuetext ignored - -2009-01-28 Willie Walker - - * src/cthulhu/scripts/apps/soffice/where_am_i.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/settings.py: - src/cthulhu/flat_review.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - src/cthulhu/rolenames.py: - src/cthulhu/cthulhu_i18n.py.in: - src/cthulhu/text_attribute_names.py: - src/cthulhu/where_am_I.py: - po/*.po: - Fix for bug #569118 - Use C_() instead of Q_() with context - NOTE: you need to install SUNWgnu-gettext and rerun your - autogen.sh to work with this change on OpenSolaris. - -2009-01-28 Willie Walker - - * test/harness/utils.py: - test/keystrokes/firefox/dojo_button.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/speechgenerator.py: - Fix for bug #569346 - No speech for image-only ARIA buttons - and ARIA menu items - -2009-01-28 Meshar Hameed - - * src/cthulhu/speech.py: - Final(?) fix for bug #562060 - Speech should speak multi case - strings as words. Adjust the regexes used. - -2009-01-22 Willie Walker - - * src/cthulhu/speech.py: - Fix for bug #562060 - Speech should speak multi case strings as - words. Make speakUtterances also use pronunciations. - -2009-01-22 Willie Walker - - * src/cthulhu/speechfactory.py: - Fix for bug #562060 - Speech should speak multi case strings as - words. Make speakKeyName also use pronunciations. - -2009-01-22 Willie Walker - - * src/cthulhu/cthulhu.in: - Fix for bug #553678 - cthulhu can act badly at login time - -2009-01-22 Willie Walker - - * src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #568875 - Pressing "Apply" button in preferences dialog - causes autostart option to be checked - -2009-01-22 Willie Walker - - * src/cthulhu/cthulhu_console_prefs.py: - Fix for bug #563128 - Text-based setup should offer option to - automatically launch Cthulhu on login - -2009-01-22 Willie Walker - - * gtk-demo/role_text_multiline_navigation.py: - Fix a regression failure that's been nagging at me for a while. - With this, the gtk-demo regression tests should have no - unexpected failures. - -2009-01-22 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/bug_544771.py: - test/keystrokes/firefox/bug_568631.py: (new) - Fix for bug #568631 - Cthulhu does not update the position for - same-page links which reference objects by name/id in Firefox 3. - -2009-01-22 Willie Walker - - * src/cthulhu/default.py: - Fix for bug #568751 - Interaction with the punctuation - preferences can cause a hang - -2009-01-22 Willie Walker - - * src/cthulhu/espeechfactory.py: - Pylinting. - -2009-01-21 Willie Walker - - * src/cthulhu/gnomespeechfactory.py: - Fix for bug #562060 - Speech should speak multi case strings as - words. Make speakCharacter also use pronunciations. - -2009-01-21 Willie Walker - - * src/cthulhu/liveregions.py: - test/keystrokes/firefox/codetalks_button.py: - Fix for bug #568467 - aria-describedby text spoken twice via - Where Am I - -2009-01-21 Willie Walker - - * src/cthulhu/braillegenerator.py: - Fix for bug #568589 - braillegenerator adding image string - versus braille.Component for table cells - -2009-01-19 Willie Walker - - * src/cthulhu/cthulhu-setup.glade: - Additional fix for bug #562060 - Speech should speak multi case - strings as words - add comments for translators. - -2009-01-21 Joanmarie Diggs - - * src/cthulhu/structural_navigation.py: - test/keystrokes/firefox/html_struct_nav_bug_567984.py: - Rest of the fix (hopefully) for bug #567984 - Structural - navigation needs to consider text within the document frame. - -2009-01-20 Joanmarie Diggs - - * src/cthulhu/scripts/apps/evolution/script.py: - Rest of the fix for bug #567428 -"readonly text" spoken when - caret changes line. - -2009-01-19 Willie Walker - - * src/cthulhu/default.py: - src/cthulhu/focus_tracking_presenter.py: - Fix for bug #561548 - Cthulhu locks up when closing some Pidgin - conversations. Also helps with bug #567864. - -2009-01-19 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.25.6pre - -2009-01-19 Willie Walker - - * NEWS: - Final prep for Cthulhu v2.25.5 (to include bug #567984 and - bug #567428) - -2009-01-19 Joanmarie Diggs - - * src/cthulhu/structural_navigation.py: - test/keystrokes/firefox/html_struct_nav_bug_567984.py: (new) - Partial fix for bug #567984 -Structural navigation needs to - consider text within the document frame. - - * src/cthulhu/scripts/apps/evolution/script.py: - Fix for bug #567428 -"readonly text" spoken when caret changes - line. - -2009-01-19 Willie Walker - - * NEWS: - More prep for Cthulhu v2.25.5 (to include bug #562060) - -2009-01-19 Mesar Hameed - - * src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/speechdispatcherfactory.py: - src/cthulhu/speech.py: - src/cthulhu/gnomespeechfactory.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #562060 - Speech should speak multi case strings as - words - -2009-01-19 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.25.5. - -2009-01-19 Willie Walker - - * src/cthulhu/default.py: - Fix for bug #567864 - Cthulhu stops responding when flat review is - used in thunderbird message window and message is closed - -2009-01-16 Willie Walker - - * src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #535221 - Automatic shortcut information spoken. - This was a tag team effort between myself and Hammer Attila. - -2009-01-16 Willie Walker - - * test/harness/utils.py: - Allow assertions with BUG? in them to be treated the same - as KNOWN ISSUES. - -2009-01-16 Willie Walker - - * src/cthulhu/tutorialgenerator.py: - Fix for bug #562327 - Desktop tutor message order problem - -2009-01-09 Willie Walker - - * test/keystrokes/firefox/uiuc_button.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - src/cthulhu/braillegenerator.py: - Fix for bug #566954 - ARIA toggle button state not handled - correctly - -2009-01-09 Joanmarie Diggs - - * test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/line_nav_bug_547573.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/xul_role_combo_box.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #567167 - Cthulhu sometimes (re)announces that the - document frame has just received focus in Firefox 3.x. - -2009-01-08 Mesar Hameed - - * src/cthulhu/flat_review.py: - Fix for bug #563171 - src/cthulhu/flat_review.py:getZonesFromText - should clip zones based on what text is visible - -2009-01-08 Willie Walker - - * src/cthulhu/punctuation_settings.py: - src/cthulhu/chnames.py: - Fix for bug #563200 - Cthulhu not spoken the character code - 8222 character. Added double low quote and single low quote - to the character names and punctuation table. - -2009-01-07 Joanmarie Diggs - - * test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/dojo_dialog.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/label_guess_bug_509809.py: - test/keystrokes/firefox/line_nav_bug_547573.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/uiuc_tabpanel.py: - test/keystrokes/firefox/label_guess_bug_546815.py: - test/keystrokes/firefox/line_nav_slash_test.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_simple_form.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #566955 - Need to remove extra whitespace from braille - output for Firefox 3.x. - -2009-01-05 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.25.5pre. - -2009-01-05 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.25.4. - -2009-01-05 Willie Walker - - * test/harness/runone.sh: - Adjust WAIT_TIME for Cthulhu to start to make this work better on my - OpenSolaris box. - -2009-01-05 Mesar Hameed - - * src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #565670 - recycling of gtk.CellRendererText() - -2009-01-05 Eitan Isaacson - - * src/cthulhu/default.py: - Fix for bug #354479 - Automatic presentation of "balloon" type - messages. - -2009-01-02 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Additional fix for bug #565886 - Extraneous caret-moved events - emitted by FF 3.1 cause unnecessary braille updating. It turns - out that certain ARIA push buttons emit caret-moved events - after the focus event. That's just silly.... - - * src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - Fix for bug #566361 - Cthulhu inappropriately announces the name of - table cells as part of the context in Firefox 3.2. - - * test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/xul_role_list_item.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/sayAll_html_test_page.py: - test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/xul_role_check_box.py: - test/keystrokes/firefox/xul_role_page_tab.py - More work on getting reproducible results out of the FF - regression tests. Still a work in progress. - -2008-12-30 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/find_wiki.py: - Fix for bug #566181 - Changes made to Firefox 3.2 caret-moved - events cause Cthulhu to provide unreliable access during the use - of the Find toolbar. - - * src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - Fix for bug #566180 - Cthulhu inappropriately announces the name and - role of (un)ordered list items as part of the context in Firefox - 3.2. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/harness/utils.py: - test/keystrokes/firefox/xul_role_menu_bar.py: - test/keystrokes/firefox/xul_role_tree_table.py: - test/keystrokes/firefox/xul_role_radio_menu_item.py: - Fix for bug #566073 - Cthulhu provides the "tree level" for items in - submenus within Firefox 3.x. - -2008-12-29 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/label_guess_bug_546815.py: - Fix for bug #565944 - Missing whitespace when the end of line - braille indicator is followed by an image in FF 3.x. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #565886 - Extraneous caret-moved events emitted by - FF 3.1 cause unnecessary braille updating. - -2008-12-28 Joanmarie Diggs - - * test/harness/utils.py: - More work on getting reproducible results out of the FF - regression tests. Still a work in progress. - -2008-12-21 Joanmarie Diggs - - * test/harness/runone.sh: - test/harness/utils.py: - test/html/FirefoxProfile/extensions.rdf: (New) - test/html/FirefoxProfile/prefs.js: - test/keystrokes/firefox/*: - Altering the Firefox regression tests so that they yield - reproducible results regardless of the application name and - version differences. Note that this is a work in progress. - -2008-12-18 Willie Walker - - * cthulhu.spec.in: - configure.in: - Fix for bug #564994 - Drop eel dependency - -2008-12-18 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.25.4pre. - -2008-12-15 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.25.3. - -2008-12-01 Mesar Hameed - - * src/cthulhu/speechdispatcherfactory.py: - Fix for bug #562877 - account for pronunciation dictionary - -2008-12-06 Joanmarie Diggs - - * src/cthulhu/settings.py: - Fix for bug #563502 - Need to map "Shiretoko" to the Mozilla - script. - -2008-12-01 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.25.3pre. - -2008-12-01 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.25.2. - -2008-12-01 Mesar Hameed - - * src/cthulhu/speechdispatcherfactory.py: - Fix for bug #562877 - account for pronunciation dictionary - when speech-dispatcher backend is used - -2008-12-01 Joanmarie Diggs - - * src/cthulhu/scripts/apps/soffice/speech_generator.py: - Fix for bug #562532 - When using Openoffice.org Spreadsheet with - Cthulhu, the cell coordinates are not spoken for all locales. - - * src/cthulhu/default.py: - The rest of the fix for bug #551891 - Flat review does not always - start in the correct place when focus is in a tree table. - -2008-11-20 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/liveregions.py: - src/cthulhu/structural_navigation.py: - Fix for bug #558516 - Traceback when navigating on huge webpages. - -2008-11-19 Joanmarie Diggs - - * src/cthulhu/default.py: - Fix for bug #561540 - Traceback in default.py onStateChanged. - -2008-11-19 Willie Walker - - * src/cthulhu/app_gui_prefs.py: - src/cthulhu/default.py: - Fix for bug #554002 - Cthulhu App-Preferences dialog page tabs are - "off" by one in speech and braille. - -2008-11-19 Joanmarie Diggs - - * src/cthulhu/scripts/apps/soffice/script.py: - test/keystrokes/oowriter/bug_450210.py: - test/keystrokes/oowriter/bug_546941.py: - Fix for bug #556657 - Cthulhu is rather chatty when focus is given to - an OOo list whose parent is a combo box. - -2008-11-19 Mesar Hameed - - * src/cthulhu/cthulhu_gui_prefs.py: - More work on bug #508675 - Applying change in Cthulhu preference dialog - is a little bit slow. This fix makes things even faster. - -2008-11-18 Frederic Peters - - * acinclude.m4: - Additional fix for bug #560649 - configure doesn't detect - Python modules installed in non-standard location. - -2008-11-18 Willie Walker - - * acinclude.m4: - Fix for bug #560649 - configure doesn't detect Python modules - installed in non-standard location. - -2008-11-18 Mesar Hameed - - * src/cthulhu/cthulhu_gui_prefs.py: - Work on bug #508675 - Applying change in Cthulhu preference dialog - is a little bit slow. This fix makes things quite a bit faster. - -2008-11-17 Joanmarie Diggs - - * src/cthulhu/flat_review.py: - Fix for bug #495303 - Character flat review not working correctly - with generated texts in XUL. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/apps/evolution/script.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/flat_review.py: - Fix for bug #551891 - Flat review does not always start in - the correct place when focus is in a tree table. - -2008-11-17 Willie Walker - - * src/cthulhu/settings.py: - src/cthulhu/gnomespeechfactory.py: - Pylint fixes (now that I have a working OpenSolaris build - environment) - -2008-11-17 Willie Walker - - * src/cthulhu/scripts/apps/gnome-mud.py: - src/cthulhu/scripts/apps/rhythmbox/braille_generator.py: - src/cthulhu/scripts/apps/rhythmbox/script.py: - src/cthulhu/scripts/apps/nautilus.py: - src/cthulhu/scripts/apps/liferea.py: - src/cthulhu/scripts/apps/acroread.py: - src/cthulhu/app_prefs.py: - Update headings for some strange reason. This was due to - svn actually making these mods, not me. Bizarre. - -2008-11-13 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/label_guess_entries.py: - Fix for bug #560466 - Improve the accuracy of label guess for - Firefox 3. - -2008-11-11 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - More work on bug #554831 - Google calendar unusable with cthulhu. - You can now arrow into the day grid. - -2008-11-08 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/line_nav_slash_test.py: - test/keystrokes/firefox/line_nav_bug_547573.py: - Fix for bug #559839 - Cthulhu sometimes includes content from other - lines when navigating via Up/Down Arrow in Firefox 3. - -2008-11-07 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #555055 - Cthulhu should be able to navigate - http://www.modernthaisf.com/gpage.html. - -2008-11-06 Joanmarie Diggs - - * src/cthulhu/structural_navigation.py: - test/keystrokes/firefox/html_struct_nav_bug_554616.py: (new) - Rest of the fix for bug #554616 - Problems accessing subsequent - lines of cells which contain line break tags in FF3 tables. - -2008-11-05 Joanmarie Diggs - - * test/keystrokes/firefox/line_nav_bug_554616.py: (new) - test/keystrokes/firefox/bug_544771.py: (new) - test/keystrokes/firefox/html_struct_nav_bug_556470.py: (new) - test/html/bug-554616.html: (new) - test/html/bug-556470.html: (new) - test/html/bug-544771.html: (new) - New regression tests. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #554616 - Problems accessing subsequent lines of cells - which contain line break tags in FF3 tables. - -2008-11-04 Joanmarie Diggs - - * src/cthulhu/structural_navigation.py: - Fix for bug #556470 - Cthulhu should not land on empty (cell-less) - tables when using structural navigation by table. - -2008-11-03 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.25.2pre. - -2008-11-03 Willie Walker - - * src/cthulhu/scripts/apps/gnome-screensaver-dialog.py: - src/cthulhu/scripts/toolkits/Gecko/structural_navigation.py: - src/cthulhu/structural_navigation.py: - src/cthulhu/text_attribute_names.py: - src/cthulhu/speechdispatcherfactory.py: - Pylinting. - -2008-11-03 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.25.1. - -2008-11-01 Mesar Hameed - - * src/cthulhu/tutorialgenerator.py: - Refix for bug #552344 - tutorial message for desktop not spoken - in ibex - -2008-10-30 Willie Walker - - * src/cthulhu/braille.py: - src/cthulhu/default.py: - Fix for bug 554999 - add a new keybinding for toggling flat review. - -2008-10-30 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/default.py: - src/cthulhu/text_attribute_names.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #434780 - Cthulhu does not provide access to text - attributes in Firefox. - -2008-10-27 Willie Walker - - * test/keystrokes/gcalctool: - Add gcalctool test from Sun Beijing. - -2008-10-25 Joanmarie Diggs - - * src/cthulhu/scripts/apps/soffice/script.py: - Fix for bug #357545 - Cthulhu does not speak all buttons in openoffice - database table creation wizard. - -2008-10-15 Willie Walker - - * NEWS: - Final prep for Cthulhu v2.24.1. - -2008-10-15 Joanmarie Diggs - - * test/keystrokes/oowriter/bug_450210.py: - test/keystrokes/oowriter/bug_546941.py: - src/cthulhu/scripts/apps/soffice/braille_generator.py: - src/cthulhu/scripts/apps/soffice/script.py: - Fix for bug #546941 - Extraneous focus: events issued by OOo - Writer lists cause excessive chattiness and braille issues. - -2008-10-15 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.24.1. - -2008-10-15 Joanmarie Diggs - - * src/cthulhu/default.py: - Partial fix for bug #554002 - Cthulhu App-Preferences dialog page - tabs are "off" by one in speech and braille. (This fixes them - for focus tracking. It turns out they are "off" in flat review - as well.) - -2008-10-14 Willie Walker - - * src/cthulhu/cthulhu.in: - More fix for bug #556049 - Cthulhu restarts when user logs out from - session. - -2008-10-14 Joanmarie Diggs - - * src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #556321 - Setting an adjustment with non-zero page - size is deprecated. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/apps/yelp.py: - Fix for bug #553877 - Need to implement FF find functionality for - Yelp. - -2008-10-12 Willie Walker - - * src/cthulhu/cthulhu.in: - src/cthulhu/cthulhu.py: - Fix for bug #556049 - Cthulhu restarts when user logs out from session. - -2008-10-09 Joanmarie Diggs - - * src/cthulhu/scripts/apps/rhythmbox/speech_generator.py: - Fix for bug #554111 - Cthulhu doesn't speak the Rhythmbox rating - widget. Please note: At the moment, this functionality requires - getting the latest patch by Jonathan Matthew on bug #368641 and - building Rhythmbox from svn trunk. Because Jonathan has indicated - that he anticipates committing his patch, I've committed ours. - Many thanks Jonathan!! - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Started work on bug #554831 - Google calendar unusable with cthulhu. - Please note that Google calendar is still unusable with Cthulhu. This - part of the fix just prevents a hang. - -2008-10-08 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Rest of the fix for bug #552887 - Cthulhu gets stuck in graphical - boxes on websites. - -2008-10-08 Dmitri Paduchikh - - * src/cthulhu/dectalk.py: - src/cthulhu/outloud.py: - src/cthulhu/espeechfactory.py: - Fix for bug #552343 - Quoting special characters in - espeechfactory.py and other changes - -2008-10-08 Patryk Zawadzki - - * cthulhu.desktop.in: - Fix for bug #552088 - Add Utility to desktop categories. - -2008-10-07 Joanmarie Diggs - - * src/cthulhu/settings.py: - Fix (I hope) for bug #555466 - Cthulhu should attempt to correct - the Firefox breakage introduced by bug 535827 via script mapping. - If you were suffering from the broken Firefox 3.0 accessibility - as a result of the recent changes to AT-SPI and if you dealt - with this breakage by keeping the new AT-SPI and getting Firefox - 3.1 (aka "Minefield"), please test Cthulhu trunk with Firefox 3.0. - We could really use your feedback regarding whether or not this - solution solves things while the kinks are being worked out. - Thanks much in advance! - -2008-10-05 Halim Sahin - - * src/cthulhu/settings.py: - src/cthulhu/braillegenerator.py: - Fix for bug #554673 - 80 cells Brailledisplay not usable - because of contextual braille Information. This adds a - latent "settings.enableBrailleContext" setting with a - default value of True. Set it to False to get rid of - braille context. - -2008-10-03 Joanmarie Diggs - - * test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/flat_review_combo_box.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/sayAll_bugzilla_search.py: - test/keystrokes/firefox/sayAll_html_test_page.py: - test/keystrokes/firefox/dojo_tree.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/moz_progressbar.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/sayAll_enter_bug.py: - test/keystrokes/firefox/line_nav_multi_line_text.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/line_nav_bug_549128.py: - test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/dojo_dialog.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/label_guess_bug_509809.py: - test/keystrokes/firefox/imagemap.py: - test/keystrokes/firefox/line_nav_bug_547573.py: - test/keystrokes/firefox/line_nav_imagemap.py: - test/keystrokes/firefox/bug_511389.py: - test/keystrokes/firefox/moz_slider.py: - test/keystrokes/firefox/uiuc_tree.py: - test/keystrokes/firefox/sayAll_role_combo_box.py: - test/keystrokes/firefox/line_nav_table_cell_links.py: - test/keystrokes/firefox/dojo_checkbox.py: - test/keystrokes/firefox/line_nav_empty_anchor.py: - test/keystrokes/firefox/sayAll_wiki.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/moz_tabpanel.py: - test/keystrokes/firefox/sayAll_bug_511389.py: - test/keystrokes/firefox/html_struct_nav_links.py: - test/keystrokes/firefox/label_guess_bug_546815.py: - test/keystrokes/firefox/line_nav_slash_test.py: - test/keystrokes/firefox/html_role_links.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_simple_form.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - src/cthulhu/scripts/toolkits/Gecko/braille_generator.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/braille.py: - Fix for bug #527022 - updateBraille() has significant whitespace - issues, should use braille generators when possible, and fails to - underline links. - -2008-09-29 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Work on bug #552887 - Cthulhu gets stuck in graphical boxes on - websites. - -2008-09-29 Willie Walker - - * src/cthulhu/settings.py: - For for bug #553413 - Cthulhu can be double-started on login. - This patch uses the gconf way of autostarting Cthulhu rather - than the ~/.config method, tying it in better with the - preferred applications dialog. - -2008-09-28 Joanmarie Diggs - - * src/cthulhu/braille.py: - src/cthulhu/default.py: - src/cthulhu/scripts/apps/gnome-terminal.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/line_nav_bug_549128.py: - test/keystrokes/firefox/line_nav_bug_547573.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - More work on bug #535178 - In Gecko, we should get the needed text - for the speech and braille contexts while building up the line. - -2008-09-27 Joanmarie Diggs - - * src/cthulhu/scripts/apps/rhythmbox/speech_generator.py: - Updating the header because patches are spitting up. - -2008-09-22 Willie Walker - - * Release Cthulhu v2.24.0. Somehow I forgot to mark this. - The svn version is 4292 and can be found at the tag - of CTHULHU_24_0. - -2008-09-20 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/where_am_i.py: - Fix for bug #553075 - Please add comment for string. - -2008-09-15 Joanmarie Diggs - - * src/cthulhu/scripts/apps/yelp.py: - More work toward the fix for bug #356041 - GNOME Help (yelp) is - inaccessible. Ginn Chen created another patch for Yelp which - makes things work even better. Thanks Ginn! To use Cthulhu with - Yelp, you just need the latest Cthulhu and Yelp from trunk -- or - wait for the GNOME 2.24 release. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/label_guess_bug_509809.py: (new) - test/keystrokes/firefox/label_guess_bug_546815.py: (new) - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/sayAll_imagemap.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/uiuc_slider.py: - Fix for bug #546815 - guessLabelFromLine() is guessing text that - is on other lines in FF3. Plus a couple of tests I forgot to - update. - - * src/cthulhu/scripts/apps/soffice/script.py: - Fix for bug #552350 - Cthulhu doesn't recognize it is in a - spreadsheet cell in certain builds of OOo Dev 3. - -2008-09-15 Mesar Hameed - - * src/cthulhu/tutorialgenerator.py: - Fix for bug #552344 - tutorial message for desktop not spoken - in ibex - -2008-09-15 Willie Walker - - * Make sure the 'svn propedit svn:keywords' values for each - Python source file has the "Author Date Id Revision" keywords - so that keywords will be expanded appropriately. - -2008-09-12 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/imagemap.py: (new) - Fix for bug #518945 - Cthulhu has problems with certain imagemaps - in FF3. - -2008-09-12 Willie Walker - - * Add to the 'svn propedit svn:ignore' values of various directories. - This helps eliminate spurious '?' entries in 'svn stat' output. - -2008-09-11 Joanmarie Diggs - - * test/keystrokes/firefox/flat_review_combo_box.py: (new) - src/cthulhu/flat_review.py: - More work on bug #542833 - Flat review in Thunderbird is largely - broken. This fix addresses some combo box related issues. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - Fix for bug #535188 - Page-up and page-down not functioning when - reading messages in Thunderbird. - Fix for bug #547496 - Cursor navigation does not start from - insertion carat location in Thunderbird Write window. - -2008-09-11 Willie Walker - - * src/cthulhu/settings.py: - src/cthulhu/default.py: - src/cthulhu/outline.py: - src/cthulhu/Makefile.am: - Fix for bug #363793 - Add the ability to change the color - of the flat review rectangle. This support is 'under the - covers' for now and requires hand-editing of - ~/.cthulhu/user-settings.py or ~/.cthulhu/cthulhu-customizations.py. - -2008-09-10 Joanmarie Diggs - - * test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/line_nav_multi_line_text.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_simple_form.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #547573 - Cthulhu has problems navigating past a couple - of links on java.sun.com. - Fix for bug #549128 - Cthulhu should not get stuck on omahasteaks.com - - * test/keystrokes/firefox/line_nav_bugzilla_search.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #551626 - Storing guessed labels would increase - performance and decrease repeated speech. - -2008-09-08 Willie Walker - - * src/cthulhu/espeechfactory.py: - Fix for bug #403760 - Emacspeak speech factory doesn't always - shutdown/restart correctly - -2008-09-08 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.24.0pre. - -2008-09-08 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.23.92. - -2008-09-08 Joanmarie Diggs - - * src/cthulhu/scripts/apps/yelp.py: (new) - src/cthulhu/scripts/apps/Makefile.am: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/settings.py: - src/cthulhu/structural_navigation.py: - Much work toward the fix for bug #356041 - GNOME Help (yelp) is - inaccessible. Please note that access to Yelp is a work in - progress: on our end, and on the Yelp end, and may also require - the Mozilla guys to fix something on their end. As of today, in - order for the yelp script to work, you will need to build yelp -- - after applying the patch attached to bug #545162. Many, many, - many thanks to Ginn Chen for that patch and for getting to the - bottom of a rather odd accessibility hierarchy. - -2008-09-07 Joanmarie Diggs - - * src/cthulhu/scripts/apps/soffice/script.py: - The rest of the fix for for bug #550137 - Presentation of table - content in OOo Writer is largely hosed and we're double-speaking - paragraphs in OOo Writer docs. - - * test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/xul_role_radio_button.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/line_nav_multi_line_text.py: - test/keystrokes/firefox/html_struct_nav_lists.py: - test/keystrokes/firefox/html_role_lists.py: - test/keystrokes/firefox/html_struct_nav_list_item.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - src/cthulhu/braille.py: - Updated tests to reflect changes from the fix for bug #527022. - - * src/cthulhu/braille.py: - One more tweak to the fix for bug #527022 (fixes a braille - monitor attribute mask issue). - -2008-09-06 Joanmarie Diggs - - * src/cthulhu/scripts/apps/soffice/speech_generator.py: - src/cthulhu/scripts/apps/soffice/where_am_i.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/where_am_I.py: - Fix for bug #515923 - 'Area' labels of Calc Headers/Footers - dialog not always announced. - - * src/cthulhu/scripts/apps/soffice/script.py: - test/keystrokes/oowriter/bug_382415.py: - test/keystrokes/oowriter/bug_435201.py: - test/keystrokes/oowriter/bug_342602.py: - test/keystrokes/oowriter/bug_350219.py: - test/keystrokes/oowriter/bug_382408.py: - test/keystrokes/oowriter/bug_382418.py: - test/keystrokes/oowriter/bug_382880.py: - test/keystrokes/oowriter/bug_364765.py: - test/keystrokes/oowriter/bug_362979.py: - test/keystrokes/oowriter/bug_382888.py: - Fix for bug #550137 - Presentation of table content in OOo - Writer is largely hosed and we're double-speaking paragraphs - in OOo Writer docs. (There's one more "tweak" needed. It'll - hopefully be in soon. :-) ) - - * src/cthulhu/default.py: - Fix for bug #551159 - Cthulhu says "link" when it shouldn't and - sometimes fails to say it when it should in OOo Writer documents. - - * src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/where_am_i.py: - src/cthulhu/where_am_I.py: - Bit more work on the fix for bug #515923 - 'Area' labels of Calc - Headers/Footers dialog not always announced. - -2008-09-06 Willie Walker - - * src/cthulhu/default.py: - Fix for bug #551077 - Traceback and loss of speech in OOo - Writer docs with both links and multbyte characters on the - same line - - * src/cthulhu/braille.py: - Partial fix for bug #527022 - Linked text should be - "underlined" in braille in Firefox. This fixes some - unicode vs. UTF-8 issues. - -2008-09-06 Willie Walker - - * src/cthulhu/scripts/apps/Mozilla.py: - Fix bug left over from script refactor - Gecko is now - a package under cthulhu.scripts.toolkits and no longer the - cthulhu.Gecko module. - -2008-09-05 Willie Walker - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #550873 - Some live region text updates are not - presented - -2008-09-04 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/braille.py: - The rest of the fix for bug #541605 - updateBraille() can take - an unreasonable amount of time with certain pages in Firefox 3. - (The remaining updateBraille() issues are either being addressed - by other GNOME bugs and/or Mozilla bugs.) - -2008-09-03 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/braille.py: - Work on bug #541605 - updateBraille() can take an unreasonable - amount of time with certain pages in Firefox 3. - -2008-09-03 Willie Walker - - * configure.in: - acinclude.m4: - src/cthulhu/cthulhu.py: - Fix for bug #550249 - configure doesn't use find bonobo python - -2008-09-02 Joanmarie Diggs - - * test/keystrokes/oocalc/bug_363801.py: - test/keystrokes/oocalc/bug_363802.py: - test/keystrokes/oocalc/bug_435307.py: - test/keystrokes/oocalc/bug_356334.py: - test/keystrokes/oocalc/bug_361167.py: - test/keystrokes/oocalc/bug_363804.py: - test/keystrokes/oocalc/bug_364407.py: - test/keystrokes/oocalc/bug_364086.py: - test/keystrokes/oocalc/bug_435852.py: - test/keystrokes/oocalc/bug_433398.py - Updated Calc regression tests to use utils.getOOoName() and - KP_Insert rather than Insert. - -2008-09-01 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.23.92pre. - -2008-09-01 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.23.91. - -2008-08-28 Joanmarie Diggs - - * test/harness/utils.py: - test/keystrokes/oowriter/bug_413909.py: - test/keystrokes/oowriter/bug_384893.py: - test/keystrokes/oowriter/bug_435201.py: - test/keystrokes/oowriter/bug_342602.py: - test/keystrokes/oowriter/bug_382408.py: - test/keystrokes/oowriter/bug_382418.py: - test/keystrokes/oowriter/bug_361747.py: - test/keystrokes/oowriter/bug_469367.py: - src/cthulhu/scripts/apps/soffice/braille_generator.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/default.py: - Fix for bug #549664 - isDesiredFocusedItem() needs to be more - flexible. - Fix for bug #523452 - OOo spell check not working (oowriter/ - bug_413909.py regression test #2 produces the wrong results) - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/uiuc_button.py: - test/keystrokes/firefox/uiuc_radiobutton.py: - test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/moz_checkbox.py: - test/keystrokes/firefox/moz_slider.py: - test/keystrokes/firefox/uiuc_tabpanel.py: - Fix for bug #549529 - Improve our handling of caret-moved events - when Gecko is controlling the caret. Note: This doesn't fix all - of the issues; merely improves some of them. - - * src/cthulhu/scripts/apps/soffice/script.py: - Fix for bug #523416 - Cannot access Impress panes via the - keyboard. (Note: Requires OOo 3.0) - -2008-08-26 Willie Walker - - * src/cthulhu/mouse_review.py: - Refix for bug #540937 - Cthulhu doesn't check if the wnck python - bindings are installed. - -2008-08-23 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #547477 - Cursor navigation cycles through same text - in Firefox--bugzilla page. - -2008-08-23 Willie Walker - - * configure.in: Unfix for bug #540937 - Cthulhu doesn't check if the - wnck python bindings are installed. Back out the check since - it was causing a number of issues. - -2008-08-23 Willie Walker - - * src/cthulhu/text_attribute_names.py: - Add "ONLY TRANSLATE THE PART AFTER THE PIPE CHARACTER" - comments for translators. - -2008-08-19 Theppitak Karoonboonyanan - - * src/cthulhu/default.py: - Fix for bug #548380 - Character count message needs - reordering in translation - -2008-08-19 Theppitak Karoonboonyanan - - * src/cthulhu/scripts/apps/evolution/script.py: - Fix for bug #548382 - Unreliable check for Evolution - Setup Assistant - -2008-08-18 Mesar Hameed - - * src/cthulhu/cthulhu_gui_prefs: - Fix for bug #547774 - Possible small performance - improvement for starting preferences - -2008-08-18 Willie Walker - - * configure.in, README: - Mark as Cthulhu v2.23.91pre. - -2008-08-18 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.23.90. - -2008-08-18 Willie Walker - - * src/cthulhu/cthulhu.py: - src/cthulhu/settings.py: - Make use of DBus conditional upon DBUS_SESSION_BUS_ADDRESS - so as to avoid unexpected launching of a DBus daemon. - -2008-08-18 Willie Walker - - * src/cthulhu/scripts/apps/metacity.py: - Fix for bug #547938 - Magnifier should follow Alt+Tab - -2008-08-15 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/default.py: - src/cthulhu/flat_review.py: - Work on bug #542833 - Flat review in Thunderbird is largely - broken. This part of the fix should stop us from hanging if - flat review is invoked with a message list with thousands of - messages and should ensure that we don't review things that - are not actually on the screen. There is still more work that - needs to be done on this bug. - -2008-08-15 Mesar Hameed - - * src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/tutorialgenerator.py: - src/cthulhu/default.py: - src/cthulhu/where_am_I.py: - src/cthulhu/script.py: - src/cthulhu/Makefile.am: - src/cthulhu/cthulhu_gui_prefs.py: - po/POTFILES.in: - Fix for bug #540123 – Tutor help messages with cthulhu. - (Many many thanks to Mesar for his hard work here and - to Hammer Attila for testing) - -2008-08-15 Willie Walker - - * configure.in: - Makefile.am: - Fix for bug #547895: make distcheck fails with intltools 0.40.0 - -2008-08-14 Mike Pedersen - - * src/cthulhu/settings.py - enable the speaking of progressbars by default - -2008-08-12 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - Fix for bug #547345 - Can't always "Alt+Tab" back into Thunderbird - or Firefox. - - * src/cthulhu/scripts/apps/gnome-window-properties/speech_generator.py: - src/cthulhu/scripts/apps/soffice/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/speechgenerator.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/sayAll_bugzilla_search.py: - test/keystrokes/firefox/sayAll_html_test_page.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/sayAll_enter_bug.py: - test/keystrokes/firefox/html_struct_nav_large_obj.py: - test/keystrokes/firefox/line_nav_multi_line_text.py: - test/keystrokes/firefox/sayAll_simple_form.py: - test/keystrokes/firefox/html_struct_nav_lists.py: - test/keystrokes/firefox/line_nav_heading_section.py: - test/keystrokes/firefox/html_role_lists.py: - test/keystrokes/firefox/sayAll_multi_line_text.py: - test/keystrokes/firefox/sayAll_entries.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/sayAll_heading_section.py: - test/keystrokes/firefox/sayAll_empty_anchor.py: - test/keystrokes/firefox/html_struct_nav_list_item.py: - test/keystrokes/firefox/page_summary.py: - test/keystrokes/firefox/line_nav_empty_anchor.py: - test/keystrokes/firefox/sayAll_wiki.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/sayAll_role_lists.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_simple_form.py: - Work on bug #535178 - In Gecko, we should get the needed text for - the speech and braille contexts while building up the line. Also - fixes bug #527819 – Cthulhu sometimes says "list" between items when - the list is on a single line in FF3. - -2008-08-11 Willie Walker - - * test/harness/runone.sh: - Add test/harness/bin to PATH (gets progressbar test working again) - -2008-08-08 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/html_role_combo_box.py: - Fix for bug #546895 - Braille context includes previous menu item - in HTML combo boxes. - - * test/keystrokes/firefox/sayAll_bugzilla_search.py: - test/keystrokes/firefox/sayAll_html_test_page.py: - test/keystrokes/firefox/sayAll_enter_bug.py: - test/keystrokes/firefox/sayAll_nested_tables.py: - test/keystrokes/firefox/sayAll_simple_form.py: - test/keystrokes/firefox/sayAll_imagemap.py: - test/keystrokes/firefox/sayAll_multi_line_text.py: - test/keystrokes/firefox/sayAll_entries.py: - test/keystrokes/firefox/sayAll_heading_section.py: - test/keystrokes/firefox/sayAll_table_cell_links.py: - test/keystrokes/firefox/sayAll_empty_anchor.py: - test/keystrokes/firefox/sayAll_role_links.py: - test/keystrokes/firefox/sayAll_role_combo_box.py: - test/keystrokes/firefox/sayAll_bug_512303.py: - test/keystrokes/firefox/sayAll_wiki.py: - test/keystrokes/firefox/sayAll_bug_511389.py: - test/keystrokes/firefox/sayAll_blockquote.py: - test/keystrokes/firefox/sayAll_role_lists.py: - New regression tests for sayAll in Firefox. Thanks to the way the - test harness works, each sayAll tests each only take 20 seconds. - So this should give us some decent sayAll coverage without making - running the entire suite take forever. - -2008-08-06 Willie Walker - - * src/cthulhu/focus_tracking_presenter.py: - Fix for bug #536985 - Cthulhu no longer reads applets on the panel. - -2008-08-05 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/braille_generator.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/uiuc_tree.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/moz_tabpanel.py: - Fix for bug #546355 - The ARIA gmail interface is largely unusable - with Cthulhu. Note that this "fix" doesn't fix everything; it is just - the first small step in making it usable. There are still a fair - number of known issues/bugs which we hope to address soon. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #535183 - Word navigation is inconsistent in - Thunderbird and Firefox. - -2008-08-04 Willie Walker - - * src/cthulhu/braillegenerator.py: - Fix for bug #546277 - Traceback when accessing "User Privileges" - tab of "Account Properties" dialog of "User Settings". - -2008-08-04 Willie Walker - - * README: - configure.in: - Mark as Cthulhu v2.23.90pre - -2008-08-04 Willie Walker - - * configure.in, README, NEWS: - Prep for Cthulhu v2.23.6. - -2008-08-03 Willie Walker - - * test/keystrokes/gtk-demo/role_radio_button.py: - test/keystrokes/gtk-demo/role_page_tab.py: - Adjust to handle new Print Dialog layout in GNOME. - -2008-08-02 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/xul_role_tree.py: - Fix for bug #545946 - WhereAmI fails on Gecko Trees. - -2008-08-01 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/uiuc_button.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/moz_slider.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/page_summary.py: - test/keystrokes/firefox/line_nav_table_cell_links.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_simple_form.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - Fix for bug #545623 - Revert to checking extents for navigating - amongst line breaks. This also seems to improve -- and may fix -- - bug #534431 (Cthulhu does not recognize blank lines when writing a - message in Thunderbird). - -2008-08-01 Willie Walker - - * src/cthulhu/braillegenerator.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/focus_tracking_presenter.py: - Fix for bug #536985 - Cthulhu no longer reads applets on the panel. - -2008-07-30 Joanmarie Diggs - - * src/cthulhu/default.py: - Fix for bug #545342 - Can no longer shift+click using Cthulhu. - - * test/keystrokes/oowriter/bug_430402.py: - test/keystrokes/oowriter/bug_382415.py: - test/keystrokes/oowriter/bug_413909.py: - test/keystrokes/oowriter/bug_355733.py: - test/keystrokes/oowriter/bug_353268.py: - test/keystrokes/oowriter/bug_350219.py: - test/keystrokes/oowriter/bug_382408.py: - test/keystrokes/oowriter/bug_382418.py: - test/keystrokes/oowriter/bug_382880.py: - test/keystrokes/oowriter/bug_469367.py: - test/keystrokes/oowriter/bug_362979.py: - test/keystrokes/oowriter/bug_382888.py: - src/cthulhu/scripts/apps/soffice/script.py: - Fix for bug #429390 - Braille stays on current line after - pressing return at end of line in OOo Writer. (Thanks for - your help with this Will!) - -2008-07-28 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #544197 - Cthulhu speaks nothing when first tabbing into - the document frame in firefox. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #544771 - Cthulhu no longer moving the cursor on same page - links. - -2008-07-26 Willie Walker - - * src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/braille_generator.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braillegenerator.py: - More work on bug #542714 - Cthulhu should indicate read-only text boxes. - -2008-07-25 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - Fix for bug #544122 - Problems with downloading files with Firefox - 3. - -2008-07-24 Willie Walker - - * test/keystrokes/oocalc/bug_356334.py: - Fix for bug 523459 - oocalc/bug_356334.py regression tests #1 - through #4 produce the wrong results. Tested with OODEV300_m27 - build 9336 on my OpenSolaris box. - -2008-07-23 Joanmarie Diggs - - * test/harness/utils.py: - test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/dojo_tree.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/uiuc_radiobutton.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/dojo_checkbox.py: - test/keystrokes/firefox/line_nav_empty_anchor.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/moz_tabpanel.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_simple_form.py: - Get the firefox tests working well with Firefox 3.1a1pre - (currently build 2008072222). There are still expected - "unexpected failures" (i.e. issues we're working on, things - changed on the Firefox side of things which we need to deal - with, etc.). However, we need tests that indicate the current - state of affairs so that we can continue to check for regressions - on our end and detect changes on the Firefox end. This also gets - us testing with the 7-22 archive of the dojo toolkit. Changes in - Firefox 3.1 seem to break old dojo pages (e.g. spin buttons no - longer spin). - -2008-07-21 Willie Walker - - * test/harness/utils.py: - test/keystrokes/oowriter/bug_362979.py: - Get this particular nasty oowriter test running again. - -2008-07-21 Willie Walker - - * README: - configure.in: - Mark as Cthulhu v2.23.6pre - -2008-07-21 Willie Walker - - * NEWS: - README: - configure.in: - Prep for Cthulhu v2.23.5 - -2008-07-21 Willie Walker - - * src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/braille_generator.py: - src/cthulhu/where_am_I.py: - More work on bug #542714 - Cthulhu should indicate read-only text boxes. - This handles Gecko, albeit with a nasty hack for ROLE_ENTRY objects - in tables. - -2008-07-21 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #539075 - Navigation problems with Firefox 3 & Aria - example. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #543024 - Important header fields for received - messages not spoken when tabbing through headers in Thunderbird - message view. - - * src/cthulhu/flat_review.py: - Fix for bug #543496 - Problems with performing mouse clicks in - Firefox. - -2008-07-18 Halim Sahin - - * src/cthulhu/cthulhu_console_prefs.py: - Fix for bug #543775 - Cthulhu uses incorrect voice sometimes - in text setup - -2008-07-18 Willie Walker - - * test/harness/utils.py: - test/keystrokes/oowriter/bug_435226.py: - test/keystrokes/oowriter/bug_382415.py: - test/keystrokes/oowriter/bug_413909.py: - test/keystrokes/oowriter/bug_384893.py: - test/keystrokes/oowriter/bug_342602.py: - test/keystrokes/oowriter/bug_361624.py: - test/keystrokes/oowriter/bug_382408.py: - test/keystrokes/oowriter/bug_382418.py: - test/keystrokes/oowriter/bug_361747.py: - test/keystrokes/oowriter/bug_382880.py: - test/keystrokes/oowriter/bug_469367.py: - test/keystrokes/oowriter/bug_382888.py: - Get the oowriter tests working well with OOo DEV300_m25. - They still don't succeed without unexpected failures, but - they get along OK. Still some work to do, and I think we - also need to do a UI analysis -- some of the output seems - a little cumbersome. - -2008-07-18 Willie Walker - - * test/harness/utils.py: - test/keystrokes/oowriter/bug_450210.py: - test/keystrokes/oowriter/bug_430402.py: - test/keystrokes/oowriter/bug_435226.py: - test/keystrokes/oowriter/bug_382415.py: - test/keystrokes/oowriter/bug_413909.py: - test/keystrokes/oowriter/bug_355733.py: - test/keystrokes/oowriter/bug_353268.py: - test/keystrokes/oowriter/bug_384893.py: - test/keystrokes/oowriter/bug_435201.py: - test/keystrokes/oowriter/bug_342602.py: - test/keystrokes/oowriter/bug_350219.py: - test/keystrokes/oowriter/bug_361624.py: - test/keystrokes/oowriter/bug_382408.py: - test/keystrokes/oowriter/bug_382418.py: - test/keystrokes/oowriter/bug_361747.py: - test/keystrokes/oowriter/bug_382880.py: - test/keystrokes/oowriter/bug_364765.py: - test/keystrokes/oowriter/bug_385828.py: - test/keystrokes/oowriter/bug_469367.py: - test/keystrokes/oowriter/bug_362979.py: - test/keystrokes/oowriter/bug_382888.py: - Get the oowriter tests working well, at least with StarOffice 8 - on OpenSolaris. bug_362979.py has some toxic bullet issues that - need to be resolved, bug_435201.py has some nastiness to resolve - as well (all the tests fail), and bug_382418.py has a - 'leaving table' issue that looks like it might be fixed in - later OOo releases, so I'm leaving it in there. I'm checking - these in because they work. ;-) I'm off to try an OOo 3.0 - development build now. - -2008-07-18 Willie Walker - - * src/cthulhu/keynames.py: - test/keystrokes/gtk-demo/learn_mode.py: - More fix for bug #542367 - Some key names not marked for translation. - -2008-07-18 Willie Walker - - * src/cthulhu/settings.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braillegenerator.py: - Work on bug #542714 - Cthulhu should indicate read-only text boxes. - This handles the general case -- Firefox still needs to be done. - -2008-07-18 Willie Walker - - * src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #542719 - Modified column header does not appear - translated in Preferences - Key bindings page. - -2008-07-17 Joanmarie Diggs - - * src/cthulhu/default.py: - test/keystrokes/firefox/moz_progressbar.py: - Fix for bug #542260 - Cthulhu should only keep track of active/non- - defunct progress bars. - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braillegenerator.py: - src/cthulhu/settings.py: - src/cthulhu/cthulhu_prefs.py: - Fix for bug #519515 - Support ARIA "required" state. This adds - support for presenting the fact that the required state has been - set for the following types of ARIA widgets: - - checkbox - - gridcell - - radiogroup - - slider - - spinbutton - We'll add support for additional widgets over time. In order to - minimize verbosity, this state is not presented by default. To - change this setting, set cthulhu.settings.presentRequiredState to - True in your user-settings.py or cthulhu-customizations.py. In - addition, we've added in support for customizing the strings - used to present the required state. By default, "required" (or - the localized form of it) will be used for both speech and - braille. Modify cthulhu.settings.brailleRequiredStateString and/or - cthulhu.settings.speechRequiredStateString if you would prefer a - different string. - -2008-07-17 Willie Walker - - * src/cthulhu/keynames.py: - test/keystrokes/gtk-demo/learn_mode.py: - Fix for bug #542367 - Some key names not marked for translation. - -2008-07-17 Rich Burridge - - * src/cthulhu/settings.py: - src/cthulhu/mag.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #533095 - Magnifier should turn off the system - sprite/cursor/mouse when using full screen magnification. - -2008-07-14 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #542927 - Live region commands should be treated as - structural navigation commands when in form fields in Firefox 3. - -2008-07-14 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/default.py: - test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/bug_512303.py: - test/keystrokes/firefox/line_nav_imagemap.py: - test/keystrokes/firefox/uiuc_button.py: - test/keystrokes/firefox/bug_511389.py: - test/keystrokes/firefox/dojo_tree.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/html_struct_nav_large_obj.py: - test/keystrokes/firefox/line_nav_multi_line_text.py: - test/keystrokes/firefox/uiuc_tree.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/page_summary.py: - test/keystrokes/firefox/line_nav_heading_section.py: - test/keystrokes/firefox/line_nav_table_cell_links.py: - test/keystrokes/firefox/line_nav_empty_anchor.py: - test/keystrokes/firefox/html_struct_nav_blockquote.py: - test/keystrokes/firefox/dojo_dialog.py: - test/keystrokes/firefox/moz_tabpanel.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/html_role_links.py: - test/keystrokes/firefox/line_nav_simple_form.py: - test/keystrokes/firefox/line_nav_nested_tables.py - Fix for bug #541094 - Back out 'silent focus' code. - -2008-07-14 Willie Walker - - * src/cthulhu/scripts/toolkits/Gecko/braille_generator.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/flat_review.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/braille.py: - src/cthulhu/braillegenerator.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #534022 - The Line-end symbol (46 123) should be - configurable per application. - -2008-07-14 Willie Walker - - * src/cthulhu/structural_navigation.py: - Fix for bug #542324 - When launch Firefox 3.0 and pressing - CTRL+Cthulhu+space key, In Cthulhu application preferences/keybindings - page some structural navigation description not marked for - translation. - -2008-07-13 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #540407 - Problems reading messages in Thunderbird - when arrowToLineBeginning is False. - -2008-07-11 Joanmarie Diggs - - * src/cthulhu/scripts/apps/pidgin/script.py: - Additional fix for bug #525656 - Cthulhu needs to handle the new - Pidgin typing status updates. This was needed due to a change - in Pidgin. - - * src/cthulhu/default.py: - Fix for bug #542262 - Cthulhu should only echo words once when - word echo is enabled. - -2008-07-09 Mesar Hameed - - * src/cthulhu/settings.py: - src/cthulhu/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 Cthulhu not wrap, you can set it to False in your - user-settings.py or your cthulhu-customizations.py. Many thanks go - to Mesar (AKA Jon) for implementing this feature. - -2008-07-09 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #533109 - Cthulhu doesn't speak alerts in Firefox. - This fix should cause the alert text to be spoken. Speaking the - buttons will be addressed as part of a larger "beginner" level - of verbosity. - -2008-07-08 Rich Burridge - - * src/cthulhu/cthulhu_quit.py: - src/cthulhu/cthulhu_gui_find.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fixed bug #541437 - Trying to quit Cthulhu with the mouse doesn't - give focus to the Quit dialog. - -2008-07-07 Rich Burridge - - * src/cthulhu/settings.py: - Add in "Shredder" as an alias for the Thunderbird script. - -2008-07-03 Joanmarie Diggs - - * src/cthulhu/scripts/apps/Thunderbird/Makefile.am: - src/cthulhu/scripts/apps/Thunderbird/script.py: - src/cthulhu/scripts/apps/Thunderbird/script_settings.py: - Fix for bug #541018 - Mail messages not automatically read when - opened in Thunderbird. Thanks for your help Rich! - -2008-07-02 Rich Burridge - - * src/cthulhu/text_attribute_names.py: - More work on bug #538729 - In Cthulhu preferences window /text - attributes page the text attribute names not marked for translation. - Added in yet more text attribute values for various text attributes - that OOo uses. - -2008-07-02 Flavio Percoco Premoli - - * configure.in: Fix for bug #540937 - Cthulhu doesn't check if the - wnck python bindings are installed. - -2008-07-01 Willie Walker - - * configure.in: - (delete) src/cthulhu/scripts/toolkits/J2SE-access-bridge.py: - src/cthulhu/scripts/toolkits/Makefile.am: - src/cthulhu/scripts/toolkits/J2SE-access-bridge: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/speechgenerator.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/__init__.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/where_am_I.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/braillegenerator.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/Makefile.am: - src/cthulhu/scripts/toolkits/J2SE-access-bridge/script.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu.py: - src/cthulhu/braillegenerator.py: - po/POTFILES.in: - Work on bug #435623 - Java Platform Metabug. This fixes a lot of - issues with the Java platform (see comment #6 in the bug). There - are still a number of issues to resolve, such as where am I with - trees, tables, and lists, but this gets us much further than we - were. - -2008-07-01 Rich Burridge - - * src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/default.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #520596 - Cthulhu should implement echo by sentence. - - * src/cthulhu/default.py: - Added in a comment to suppress some pylint E1103 errors in the - onTextInserted() method. - - * src/cthulhu/text_attribute_names.py: - More work on bug #538729 - In Cthulhu preferences window /text - attributes page the text attribute names not marked for translation. - Added in various text attribute values for the "writing-mode" text - attribute. - -2008-06-30 Rich Burridge - - * src/cthulhu/scripts/apps/Thunderbird/script.py: - Fix for bug #540833 - Word echo not working in Thunderbird - address fields if autocompletion is not active. - -2008-06-26 Rich Burridge - - * src/cthulhu/text_attribute_names.py: - Further work on bug #538729 - In Cthulhu preferences window /text - attributes page the text attribute names not marked for translation. - Added in some text attribute values for the "vertical-align" - and "paragraph" text attributes. - -2008-06-23 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/where_am_i.py: - Fix for bug #530783 - Cthulhu speaks an image map link's shape as - part of the whereAmI info in FF3. - -2008-06-24 Rich Burridge - - * src/cthulhu/scripts/apps/Thunderbird/script.py: - Fixed bug #536451 - Newly focused message not spoken after - message deletion in Thunderbird. - - * src/cthulhu/scripts/apps/Thunderbird/script.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - With help from Joanie (thanks!) - Fixed bug #540039 - Newly focused message not spoken after - message deletion in Thunderbird if a message is open. - -2008-06-23 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/Makefile.am: - * src/cthulhu/scripts/toolkits/Gecko/script.py: - * src/cthulhu/scripts/toolkits/Gecko/script_settings.py: - * src/cthulhu/scripts/toolkits/Gecko/structural_navigation.py: (new) - * src/cthulhu/structural_navigation.py: (new) - * src/cthulhu/settings.py: - * src/cthulhu/script.py: - * src/cthulhu/Makefile.am: - * po/POTFILES.in: - Fix for bug #535023 - Structural Navigation should be pulled out - of Gecko and include more objects. Note: You will need to do a - full install due to the two new files which were added. The new - objects are: Anchors, Buttons, Check boxes, Combo boxes, Entries, - Paragraphs, and Radio buttons. - - * src/cthulhu/scripts/apps/Thunderbird/script.py: - Fix for bug #533042 - Cthulhu should be less verbose when reading - autocompletes in Thunderbird. - -2008-06-23 Rich Burridge - - * src/cthulhu/scripts/apps/soffice/script.py: - Fixed bug #538064 - Cthulhu should speak placeholder contents when - that placeholder is given focus on an Impress slide. - - * src/cthulhu/default.py: - src/cthulhu/text_attribute_names.py: (new) - src/cthulhu/where_am_I.py: - src/cthulhu/Makefile.am: - src/cthulhu/cthulhu_gui_prefs.py: - po/POTFILES.in: - Fixed bug #538729 - In Cthulhu preferences window /text attributes - page the text attribute names not marked for translation. - -2008-06-23 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/braille_generator.py: - Fix for bug #536455 - Contents of "Save In Folder" combo box not - indicated in speech/braille in Firefox/Thunderbird. - -2008-06-23 Willie Walker - - * src/cthulhu/focus_tracking_presenter.py: - Fix for bug #536985 - Cthulhu no longer reads applets on the panel. - Accounts for odd applet application hierarchy anomaly. - -2008-06-19 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/html_struct_nav_links.py: - test/keystrokes/firefox/html_role_links.py: - Fix for bug #537839 - Cthulhu does not remember the last position - on a webpage in firefox when using the back command. (Note: - This should cause us to remember the position of focusable - things such as links and form fields. i.e. it will handle - typical use cases like filling out forms and looking at search - results. However, if you are in the middle of reading some text - in a paragraph, go forward for some reason, and then go back, - odds are that you won't be where you left off in the paragraph. - We will work on that.) - -2008-06-18 Willie Walker - - * src/cthulhu/focus_tracking_presenter.py: - Print ACTIVE SCRIPT information out after the active script - has been set. - -2008-06-18 Joanmarie Diggs - - * test/keystrokes/firefox/xul_role_list_item.py: - test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/xul_role_combo_box.py: - test/keystrokes/firefox/uiuc_slider.py: - test/keystrokes/firefox/uiuc_tree.py: - test/keystrokes/firefox/dojo_tree.py: - Updated regression tests. - - * src/cthulhu/cthulhu.py: - src/cthulhu/default.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/cthulhu_state.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #536825 - Allow bypass of Cthulhu's keyboard commands. - (The default keybinding is Cthulhu+Backspace, but you can change - that by specifying a new binding in the Cthulhu Preferences dialog.) - -2008-06-18 Rich Burridge - - * src/cthulhu/scripts/apps/soffice/script.py: - Fixed bug #538835 - Word echo is not echoing the word typed - when return is pressed while creating an oowriter text document. - - * src/cthulhu/speechgenerator.py: - Fixed bug #538058 - The role for accessibles of ROLE_LIST_ITEM - should not be spoken when the accessible is given focus. - -2008-06-17 Willie Walker - - * docs/man/cthulhu.1: - src/cthulhu/cthulhu.py: - Fix for bug #538773 - Enable a quick 'smoke test' for whether - Cthulhu can see things via the AT-SPI. Added a --list-apps - option to print the list of known applications. - -2008-06-17 Rich Burridge - - * src/cthulhu/scripts/apps/soffice/braille_generator.py: - src/cthulhu/scripts/apps/soffice/script.py: - Fixed bug #538056 - Cthulhu should announce the "view" as part of - the scroll pane context in Impress. - - * src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/default.py: - Fixed bug #538053 - Word echo is not echoing the word typed - when return is pressed while editing an Impress slide. - -2008-06-17 Willie Walker - - * pylintrc: - Add W0333 Use of the `` operator to list of messages to ignore. - Requires pylint 0.14.0 or better, I believe. - -2008-06-16 Willie Walker - - * README: - configure.in: - Mark as Cthulhu v2.23.5pre - -2008-06-16 Willie Walker - - * NEWS: - README: - configure.in: - Prep for Cthulhu v2.23.4 - -2008-06-16 Willie Walker - - * src/cthulhu/gnomespeechfactory.py: Fix for bug #397306 - Cthulhu's - default synthesis engine choice should take language into - account. - -2008-06-12 Rich Burridge - - * src/cthulhu/scripts/apps/Thunderbird/script.py: - Fix for bug #537425 - Cthulhu should provide context for - misspelled words in Thunderbird spell check. - -2008-06-12 Willie Walker - - * src/cthulhu/cthulhu.py: - Fix for bug #487585 - Cthulhu Usage message should be localized. - Do not mark the command line options for translation. - -2008-06-11 Rich Burridge - - * src/cthulhu/scripts/apps/soffice/script.py: - Fixed bug #537851 - Moving cursor with mouse in oowriter causes - traceback. - -2008-06-10 Joanmarie Diggs - - * src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/scripts/apps/gnome-mud.py: - src/cthulhu/scripts/apps/evolution/script.py: - src/cthulhu/scripts/apps/gnome-terminal.py: - src/cthulhu/scripts/apps/pidgin/script.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/settings.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu.py: - src/cthulhu/input_event.py: - src/cthulhu/keybindings.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #464194 - Refactor keybindings to always care - about Control/Shift/Alt/Cthulhu modifiers. - -2008-06-10 Rich Burridge - - * src/cthulhu/scripts/apps/soffice/script.py: - Fix for bug #521450 - Cthulhu should read the next/previous - paragraph by a keystroke. - -2008-06-09 Rich Burridge - - * test/keystrokes/gtk-demo/role_label.py: - Fix for bug #519547 - gtk-demo/role_label.py regression test - #5 produces the wrong results. Adjusted regression test to - match the new results. - - * test/keystrokes/gtk-demo/role_spin_button.py: - Fix for bug #519556 - gtk-demo/role_spin_button.py regression - test #1 produces the wrong results. - -2008-06-06 Joanmarie Diggs - - * test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/xul_role_menu_bar.py: - test/keystrokes/firefox/xul_role_list_item.py: - test/keystrokes/firefox/uiuc_slider.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/html_struct_nav_large_obj.py: - test/keystrokes/firefox/uiuc_tree.py: - test/keystrokes/firefox/xul_where_am_i_dialog.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/moz_tabpanel.py: - test/keystrokes/firefox/xul_role_push_button.py: - Updated regression tests. - -2008-06-05 Eitan Isaacson - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fixed bug 531806 – Wrapped item lists don't give proper - braille in Gecko - -2008-06-04 Rich Burridge - - * src/cthulhu/scripts/apps/evolution/script.py: - src/cthulhu/scripts/apps/soffice/speech_generator.py: - src/cthulhu/scripts/apps/soffice/where_am_i.py: - src/cthulhu/scripts/apps/soffice/braille_generator.py: - src/cthulhu/scripts/toolkits/Gecko/bookmarks.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/dectalk.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/default.py: - src/cthulhu/liveregions.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/where_am_I.py: - src/cthulhu/espeechfactory.py: - src/cthulhu/script.py: - src/cthulhu/keybindings.py: - src/cthulhu/speechdispatcherfactory.py: - src/cthulhu/braillegenerator.py: - src/cthulhu/gnomespeechfactory.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #517532 - change dict.has_key() usage to set - operator in. - - * src/cthulhu/scripts/apps/Thunderbird/script.py: - Further work on bug #535192. Suppress speech for bogus 'focus:' - and 'object:state-changed:focused' events for the spell checking - dialog suggestion list items. - -2008-06-04 Willie Walker - - * src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/settings.py: - Fix for bug #435585 - Java ControlPanel GIVING UP AFTER 5 TRIES. - This patch processes J2SE-access-bridge events synchronously. - It's a nasty hack, but the Java/CORBA/ORBit/pyorbit stuff we're - running into has eluded us for several years and this is the - closest we've come to being able to resolving issues with Java - accessibility for GNOME. - -2008-06-04 Willie Walker - - * test/harness/runprofile.py: - Fallback to profile module if cProfile isn't available. - This is typically due to a Python 2.4 vs. 2.5 installation. - -2008-06-03 Rich Burridge - - * src/cthulhu/scripts/apps/Thunderbird/speech_generator.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - Fix for bug #535192 - Misspelled word and suggestion not spoken - in Thunderbird spell check. - - * src/cthulhu/cthulhu.py: - src/cthulhu/focus_tracking_presenter.py: - Fix for bug #530368 - Only move focus if the event is for the - focused/active window. - - * src/cthulhu/scripts/apps/gnome-screensaver-dialog.py: (new) - src/cthulhu/scripts/apps/Makefile.am: - Fix for bug #529655 - After inputting an incorrect password on - the screensaver, cthulhu can't speak the whole dialog. - - * src/cthulhu/braillegenerator.py: - Fix for bug #507922 - Include page tab name in braille context - for Thunderbird. - -2008-06-02 Willie Walker - - * README: - configure.in: - Mark as Cthulhu v2.23.4pre - -2008-06-02 Willie Walker - - * NEWS: - README: - configure.in: - Prep for Cthulhu v2.23.3 - -2008-05-31 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Tweak for bug #515665 - Cthulhu has problems with tables that have - captions in FF3. Need to consider tree tables as well. - -2008-05-30 Willie Walker - - * src/cthulhu/scripts/apps/evolution/where_am_i.py: - Make getTextSelection[s] methods public to account for - change made as a result of fixes for text selection - (pylint found this). - -2008-05-30 Willie Walker - - * test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - Reconcile tests with more accurate results as a result of - recent bug fixes. Also remove ^M's embedded at the end of - some of the lines (looks like a possible typescript - cut/paste thing that sneaked in there at some time). - -2008-05-30 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/toolkits/Gecko/script_settings.py: - Fix for bug #534393 - Moving by large object in firefox can skip - text. - -2008-05-30 Rich Burridge - - * src/cthulhu/default.py: - Fixed bug #535747 - Do not assume cthulhu_state.lastNonModifierKeyEvent - is non-None. - -2008-05-29 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #528644 - Cthulhu should indicate when an autocomplete - list has appeared in FF. - -2008-05-29 Rich Burridge - - * src/cthulhu/scripts/apps/nautilus.py: - Fixed bug #371637 - Cthulhu repeats "Location:" info repeatedly in - Nautilus File Browser Dialog. - - * src/cthulhu/default.py: - Fixed bug #524998 - Selection is not shown if Ctrl+A is used to - do "Select All". - - * src/cthulhu/scripts/apps/evolution/script.py: - Fixed bug #516565 - Cthulhu speaks the full line of a message in - Evo when it should not. - -2008-05-28 Joanmarie Diggs - - * src/cthulhu/default.py: - test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - Reversed the fix for bug #529784 - Speech cannot always be - interrupted with flat review. Further investigation done by - Rich and Will indicate that the bug in question is an espeak - bug and this "fix" introduces more problems than it solves - (see, for instance, bug #532982). - -2008-05-28 Rich Burridge - - * src/cthulhu/scripts/apps/pidgin/constants.py: (removed) - src/cthulhu/scripts/apps/pidgin/__init__.py: - src/cthulhu/scripts/apps/pidgin/Makefile.am: - src/cthulhu/scripts/apps/pidgin/script.py: - src/cthulhu/scripts/apps/pidgin/script_settings.py: (added) - src/cthulhu/scripts/apps/soffice/constants.py: (removed) - src/cthulhu/scripts/apps/soffice/speech_generator.py - src/cthulhu/scripts/apps/soffice/__init__.py: - src/cthulhu/scripts/apps/soffice/Makefile.am: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/scripts/apps/soffice/script_settings.py: (added) - src/cthulhu/scripts/toolkits/Gecko/constants.py: (removed) - src/cthulhu/scripts/toolkits/Gecko/__init__.py: - src/cthulhu/scripts/toolkits/Gecko/Makefile.am: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/toolkits/Gecko/script_settings.py: (added) - Further changes to bug #528147 - Moved user settable script - variables into script_settings.py and removed constants.py. - Fixed up code to use this new format. - -2008-05-28 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - Fix for bug #535149 - Cthulhu should override Home and End in - Firefox 3 and Thunderbird. - -2008-05-28 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #532069 - Cthulhu should read field labels on the NLS - site. - - * test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/flat_review_text_by_word_and_char.py: - Updated regression tests to reflect that we now say "space" rather - than " ". - -2008-05-27 Rich Burridge - - * src/cthulhu/cthulhu.py: - src/cthulhu/mouse_review.py: - Fix for bug #534383 - Cthulhu mouse review traceback at startup. - -2008-05-25 Rich Burridge - - * src/cthulhu/cthulhu.py: - Removed patch for bug #530368 - Only move focus if the event - is for the focused/active window. This breaks the - gnome-screensaver lockscreen window; password is not announced. - -2008-05-24 Rich Burridge - - * src/cthulhu/cthulhu.py: - Slight tweak to fix for bug #530368. Make sure that - event.host_application is not None as well. - -2008-05-23 Rich Burridge - - * src/cthulhu/cthulhu.py: - Fix for bug #530368 - Only move focus if the event is for the - focused/active window. - -2008-05-21 Rich Burridge - - * src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #448817 - Being able to configure autostart from - cthulhu's settings. - - * src/cthulhu/cthulhu_gui_prefs.py: - Further tweak for bug #448817. If we are pressing Apply or OK - from an application preferences dialog (rather than the general - Cthulhu preferences), then there won't be a general pane, so we - won't be able to adjust the login checkbox. Just catch the - failure and carry on. - -2008-05-20 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/apps/evolution/script.py: - src/cthulhu/scripts/apps/pidgin/where_am_i.py: - src/cthulhu/scripts/apps/pidgin/script.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - src/cthulhu/scripts/apps/soffice/speech_generator.py: - src/cthulhu/scripts/apps/soffice/where_am_i.py: - src/cthulhu/scripts/apps/soffice/braille_generator.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - src/cthulhu/liveregions.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braillegenerator.py: - Fix for bug #515665 - Cthulhu has problems with tables that have - captions in FF3. - -2008-05-20 Rich Burridge - - * src/cthulhu/scripts/apps/gedit/speech_generator.py: - src/cthulhu/scripts/apps/gedit/Makefile.am: - src/cthulhu/scripts/apps/gedit/script.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braillegenerator.py: - Fixed bug #463646 - Cthulhu doesn't announce the presence of - unfocused dialogs when an app gains focus. - - * src/cthulhu/scripts/apps/gedit/script.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/default.py: - src/cthulhu/where_am_I.py: - Fixed bug #517048 - Cthulhu does not always speak the correct - information when navigating and/or selecting text across - object boundaries in OOo Writer. - - * src/cthulhu/test/keystrokes/gtk-demo/role_text_multiline_navigation2.py: - More work on bug #517048 - fixed up the Gtk+ - role_text_multiline_navigation2.py regression test to work - with the new expected output. - -2008-05-20 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #527959 - Incorrect caret movement in Firefox 3 on - certain Web pages. - -2008-05-20 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - Fix for bug #511561 - Cthulhu should not impact the cursor position - when replying to a message in thunderbird. - -2008-05-19 Willie Walker - - * src/cthulhu/speech.py: - - Additional fix for bug #520494 - Keyboard review punctuation in - Firefox. Do not normalize character name before sending to - _speechServer.speakCharacter. - -2008-05-18 Willie Walker - - * test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - Fix for bug #533499 - Evolution contacts not being spoken when - you navigate them. Adjust to reflect improved output. - -2008-05-17 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Fix for bug #533125 - Cthulhu does not speak Search textbox in - Firefox Download Manager if it is empty. - -2008-05-16 Willie Walker - - * src/cthulhu/default.py: - Fix for bug #533499 - Evolution contacts not being spoken when - you navigate them. - -2008-05-16 Willie Walker - - * src/cthulhu/scripts/apps/evolution/script.py: - src/cthulhu/scripts/apps/gnome-terminal.py: - src/cthulhu/scripts/apps/gcalctool/script.py: - src/cthulhu/scripts/apps/acroread.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/cthulhu.py: - src/cthulhu/default.py: - src/cthulhu/speech.py: - src/cthulhu/gnomespeechfactory.py: - Fix for bug #520494 - Keyboard review punctuation in Firefox. - This fix reflects an across the board survery of our calls to - the various speech.speak{Utterances,Character,KeyEvent,...} - methods and attempts to make sure we call them appropriately. - I also moves some logic into gnomespeechfactory.py in an - attempt to delegate appropriately to the speech server factory. - This has not been tested with the unsupported speech dispatcher - support - we can update that as needed. Note also that some - of the regression tests will need some updating and that will - come in a later commit. - -2008-05-12 Willie Walker - - * README: - configure.in: - Mark as Cthulhu v2.23.3pre - -2008-05-12 Willie Walker - - * NEWS: - README: - configure.in: - Prep for Cthulhu v2.23.2 - -2008-05-10 Joanmarie Diggs - - * src/cthulhu/default.py: - test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - Fix for bug #529784 - Speech cannot always be interrupted with - flat review. - -2008-05-09 Willie Walker - - * run_pylint.sh.in: - Fix for bug #532376 - Running pylint can potentially overwrite - previous results. - -2008-05-09 Rich Burridge - - * src/cthulhu/scripts/apps/soffice/script.py: - Another tweak for bug #528147 (fix the application-unique - preferences for soffice). This gets oocalc regression test - bug_363804.py working again. - -2008-05-09 Willie Walker - - * test/keystrokes/gtk-demo/role_push_button.py: - test/keystrokes/gtk-demo/role_toggle_button.py: - test/keystrokes/gtk-demo/role_table.py: - test/keystrokes/gtk-demo/role_icon.py: - test/keystrokes/gtk-demo/role_dialog.py: - test/keystrokes/gtk-demo/role_page_tab.py: - test/keystrokes/gtk-demo/role_toolbar.py: - test/keystrokes/gtk-demo/role_tree_table.py: - Update to reflect new behavior introduced by fix for - caching bug #527229. - -2008-05-08 Rich Burridge - - * src/cthulhu/scripts/apps/pidgin/script.py: - src/cthulhu/scripts/apps/soffice/script.py: - More tweaks for bug #528147 (fix the application-unique preferences - for pidgin and soffice). - - * test/keystrokes/oocalc/bug_363802.py: - test/keystrokes/oocalc/bug_435307.py: - test/keystrokes/oocalc/bug_356334.py: - test/keystrokes/oocalc/bug_361167.py: - test/keystrokes/oocalc/bug_363804.py: - test/keystrokes/oocalc/bug_364086.py: - test/keystrokes/oocalc/bug_433398.py: - Fixed up the oocalc regression tests to match the new braille - context output. - -2008-05-08 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/script.py: - Tweak for bug #528147 (fix the application-unique preferences). - -2008-05-08 Willie Walker - - * docs/doc-set/*: - Rip out lots of stuff now that it has been moved to the WIKI. - The remaining documents in here that are of any relevance are - the user's guide and the internals guide. The README describes - how to make them. NOTE that this was only a slash/burn - operation -- the internals guide and user's guide were not - brought up to date. - -2008-05-08 Willie Walker - - * test/keystrokes/gtk-demo/debug_commands.py: - Adjust to reflect new script packaging. - -2008-05-07 Joanmarie Diggs - - * test/html/FirefoxProfile/prefs.js: - Updated the profile used by the test harness so that the - new EULA dialog no longer pops up for each and every test. - -2008-05-07 Rich Burridge - - * src/cthulhu/default.py: - test/keystrokes/gtk-demo/role_text_multiline_navigation2.py: - test/keystrokes/gtk-demo/role_label.py: - test/keystrokes/gtk-demo/role_spin_button.py: - Fixed bug #517127 - Cthulhu doesn't always speak expected message - when selecting all. - - * src/cthulhu/cthulhu.py: - docs/man/cthulhu.1: - Fixed bug #530541 - Suspending Cthulhu in terminal screws up session. - - * (Most files): - Fixed bug #531378 – FSF address has changed. - Also updated copyright messages to 2008 as well. - -2008-05-04 Joanmarie Diggs - - * src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - Re-apply the fix for bug #512103 - Cthulhu speaks too much of - the context in FF3. (This fix seems to have been left out - of the recent refactor.) - -2008-05-02 Eitan Isaacson - - * configure.in: - pylintrc: - src/cthulhu/Gecko.py: - src/cthulhu/J2SE-access-bridge.py: - src/cthulhu/Makefile.am: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/scripts/Makefile.am: - src/cthulhu/scripts/Mozilla.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/scripts/Thunderbird.py: - src/cthulhu/scripts/acroread.py: - src/cthulhu/scripts/apps/Makefile.am: - src/cthulhu/scripts/apps/Mozilla.py: - src/cthulhu/scripts/apps/Thunderbird/Makefile.am: - src/cthulhu/scripts/apps/Thunderbird/__init__.py: - src/cthulhu/scripts/apps/Thunderbird/script.py: - src/cthulhu/scripts/apps/Thunderbird/speech_generator.py: - src/cthulhu/scripts/apps/acroread.py: - src/cthulhu/scripts/apps/evolution/Makefile.am: - src/cthulhu/scripts/apps/evolution/__init__.py: - src/cthulhu/scripts/apps/evolution/script.py: - src/cthulhu/scripts/apps/evolution/speech_generator.py: - src/cthulhu/scripts/apps/evolution/where_am_i.py: - src/cthulhu/scripts/apps/gcalctool/Makefile.am: - src/cthulhu/scripts/apps/gcalctool/__init__.py: - src/cthulhu/scripts/apps/gcalctool/script.py: - src/cthulhu/scripts/apps/gcalctool/speech_generator.py: - src/cthulhu/scripts/apps/gcalctool/where_am_i.py: - src/cthulhu/scripts/apps/gdmlogin.py: - src/cthulhu/scripts/apps/gedit/Makefile.am: - src/cthulhu/scripts/apps/gedit/__init__.py: - src/cthulhu/scripts/apps/gedit/script.py: - src/cthulhu/scripts/apps/gedit/speech_generator.py: - src/cthulhu/scripts/apps/gnome-keyring-ask.py: - src/cthulhu/scripts/apps/gnome-mud.py: - src/cthulhu/scripts/apps/gnome-panel.py: - src/cthulhu/scripts/apps/gnome-search-tool.py: - src/cthulhu/scripts/apps/gnome-system-monitor.py: - src/cthulhu/scripts/apps/gnome-terminal.py: - src/cthulhu/scripts/apps/gnome-window-properties/Makefile.am: - src/cthulhu/scripts/apps/gnome-window-properties/__init__.py: - src/cthulhu/scripts/apps/gnome-window-properties/script.py: - src/cthulhu/scripts/apps/gnome-window-properties/speech_generator.py: - src/cthulhu/scripts/apps/gnome_segv2.py: - src/cthulhu/scripts/apps/liferea.py: - src/cthulhu/scripts/apps/metacity.py: - src/cthulhu/scripts/apps/nautilus.py: - src/cthulhu/scripts/apps/notification-daemon.py: - src/cthulhu/scripts/apps/pidgin/Makefile.am: - src/cthulhu/scripts/apps/pidgin/__init__.py: - src/cthulhu/scripts/apps/pidgin/constants.py: - src/cthulhu/scripts/apps/pidgin/script.py: - src/cthulhu/scripts/apps/pidgin/speech_generator.py: - src/cthulhu/scripts/apps/pidgin/where_am_i.py: - src/cthulhu/scripts/apps/planner/Makefile.am: - src/cthulhu/scripts/apps/planner/__init__.py: - src/cthulhu/scripts/apps/planner/braille_generator.py: - src/cthulhu/scripts/apps/planner/script.py: - src/cthulhu/scripts/apps/planner/speech_generator.py: - src/cthulhu/scripts/apps/rhythmbox/Makefile.am: - src/cthulhu/scripts/apps/rhythmbox/__init__.py: - src/cthulhu/scripts/apps/rhythmbox/braille_generator.py: - src/cthulhu/scripts/apps/rhythmbox/script.py: - src/cthulhu/scripts/apps/rhythmbox/speech_generator.py: - src/cthulhu/scripts/apps/soffice/Makefile.am: - src/cthulhu/scripts/apps/soffice/__init__.py: - src/cthulhu/scripts/apps/soffice/braille_generator.py: - src/cthulhu/scripts/apps/soffice/constants.py: - src/cthulhu/scripts/apps/soffice/script.py: - src/cthulhu/scripts/apps/soffice/speech_generator.py: - src/cthulhu/scripts/apps/soffice/where_am_i.py: - src/cthulhu/scripts/gaim.py: - src/cthulhu/scripts/gcalctool.py: - src/cthulhu/scripts/gdmlogin.py: - src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/gnome-keyring-ask.py: - src/cthulhu/scripts/gnome-mud.py: - src/cthulhu/scripts/gnome-panel.py: - src/cthulhu/scripts/gnome-search-tool.py: - src/cthulhu/scripts/gnome-system-monitor.py: - src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/scripts/gnome-window-properties.py: - src/cthulhu/scripts/gnome_segv2.py: - src/cthulhu/scripts/liferea.py: - src/cthulhu/scripts/metacity.py: - src/cthulhu/scripts/nautilus.py: - src/cthulhu/scripts/notification-daemon.py: - src/cthulhu/scripts/planner.py: - src/cthulhu/scripts/rhythmbox.py: - src/cthulhu/scripts/toolkits/GAIL.py: - src/cthulhu/scripts/toolkits/Gecko/Makefile.am: - src/cthulhu/scripts/toolkits/Gecko/__init__.py: - src/cthulhu/scripts/toolkits/Gecko/bookmarks.py: - src/cthulhu/scripts/toolkits/Gecko/braille_generator.py: - src/cthulhu/scripts/toolkits/Gecko/constants.py: - src/cthulhu/scripts/toolkits/Gecko/script.py: - src/cthulhu/scripts/toolkits/Gecko/speech_generator.py: - src/cthulhu/scripts/toolkits/Gecko/where_am_i.py: - src/cthulhu/scripts/toolkits/J2SE-access-bridge.py: - src/cthulhu/scripts/toolkits/Makefile.am: - src/cthulhu/scripts/toolkits/VCL.py: - src/cthulhu/settings.py: - test/harness/cthulhu-customizations.py.in: - Fixed bug #528147: Broke up multi-class scripts into packages. - Put toolkit scripts into their own directory, and application - scripts into one too. - -2008-04-30 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #530766 - (ff3) split headings not fully read - when nav by structure. - -2008-04-30 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - src/cthulhu/where_am_I.py: - Fix for bug #517736 - whereAmI does not handle text with - embedded object characters - - * test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/bug_512303.py: - test/keystrokes/firefox/line_nav_imagemap.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/uiuc_button.py: - test/keystrokes/firefox/xul_role_menu_bar.py: - test/keystrokes/firefox/xul_role_list_item.py: - test/keystrokes/firefox/xul_role_radio_button.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/dojo_tree.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/xul_where_am_i_status_bar.py: - test/keystrokes/firefox/moz_progressbar.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/xul_role_tree_table.py: - test/keystrokes/firefox/html_struct_nav_large_obj.py: - test/keystrokes/firefox/line_nav_multi_line_text.py: - test/keystrokes/firefox/uiuc_tree.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/page_summary.py: - test/keystrokes/firefox/line_nav_heading_section.py: - test/keystrokes/firefox/line_nav_table_cell_links.py: - test/keystrokes/firefox/line_nav_empty_anchor.py: - test/keystrokes/firefox/html_struct_nav_blockquote.py: - test/keystrokes/firefox/xul_where_am_i_dialog.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/uiuc_grid.py: - test/keystrokes/firefox/xul_role_page_tab.py: - test/keystrokes/firefox/html_struct_nav_links.py: - test/keystrokes/firefox/xul_role_alert.py: - test/keystrokes/firefox/xul_role_combo_box.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_simple_form.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - Updated all of the regression tests to be consistent with the - current state of affairs (latest Cthulhu and latest FF3 from trunk). - -2008-04-29 Rich Burridge - - * src/cthulhu/scripts/gaim.py: - Fix for bug #474673 - Add option to have chatroom-specific message - histories in Pidgin. - - * src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/default.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braille.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fixed bug #426010 - Implement Verbalized Links. - - * test/keystrokes/oowriter/bug_450210.py: - test/keystrokes/oowriter/bug_382415.py: - test/keystrokes/oowriter/bug_353268.py: - test/keystrokes/oowriter/bug_350219.py: - test/keystrokes/oowriter/bug_382408.py: - test/keystrokes/oowriter/bug_382418.py: - test/keystrokes/oowriter/bug_382880.py: - test/keystrokes/oowriter/bug_385828.py: - test/keystrokes/oowriter/bug_362979.py: - test/keystrokes/oowriter/bug_382888.py: - Work on bug #523438 - oowriter regression tests need work. - -2008-04-29 Willie Walker - - * src/cthulhu/scripts/gdmlogin.py: - Fix for bug #517387 - Cthulhu should not read password out in gdm - login window. This just turns off key echo when the login - window is up. The real fix belongs in gdm (see bug #529145). - -2008-04-29 Willie Walker - - * src/cthulhu/default.py: - src/cthulhu/braille.py: - src/cthulhu/mouse_review.py: - Fix pylint issues (two of which were blatant bugs). - -2008-04-28 Rich Burridge - - * src/cthulhu/app_gui_prefs.py: - Fix for bug #523731 - Pidgin events interfere with app-specific - Prefs dialog. - - * src/cthulhu/scripts/metacity.py: - Fix for bug #522797 - Cthulhu should not speak false "inaccessible" - messages when switching applications - - * src/cthulhu/default.py: - src/cthulhu/cthulhu.py: - Fix for bug #528507 - Escape doesn't exit "learn mode" if the - active script changes. - -2008-04-24 Willie Walker - - * src/cthulhu/cthulhu.in: - Additional fix for bug #525831 - isn't properly handling SIGTERM. - Needed to fix this so cthulhu_console_prefs would work again. - -2008-04-24 Willie Walker - - * src/cthulhu/gnomespeechfactory.py: Fix for bug #528797 - - gnome-speech inappropriately uses g_return_if_fail. - Only set "punctuation mode" if we can. - -2008-04-24 Eitan Isaacson - - * src/cthulhu/mouse_review.py: - * src/cthulhu/cthulhu.py: - Raise RuntimeError when no display is available in mouse_review, - catch it in cthulhu.py at import time. - -2008-04-21 Willie Walker - - * configure.in: - README: - Mark as Cthulhu v2.23.2pre - -2008-04-21 Willie Walker - - * NEWS: - README: - configure.in: - Prep for Cthulhu v2.23.1 - -2008-04-21 Willie Walker - - * test/keystrokes/gtk-demo/role_combo_box.py: - test/keystrokes/gtk-demo/role_alert.py: - test/keystrokes/gtk-demo/role_push_button.py: - test/keystrokes/gtk-demo/role_toggle_button.py: - test/keystrokes/gtk-demo/role_table.py: - test/keystrokes/gtk-demo/role_icon.py: - test/keystrokes/gtk-demo/role_dialog.py: - test/keystrokes/gtk-demo/role_page_tab.py: - test/keystrokes/gtk-demo/role_toolbar.py: - test/keystrokes/gtk-demo/role_tree_table.py: - Adjust regression tests as a result of an odd side effect from - the fix for bug #519901. By listening for window deactivated - events, we are no longer inserting an empty string into the - speech context. Not sure why, but this new behavior is better - than the old. - - In addition, also got to the bottom of why role_table.py was - giving us differences between Ubuntu and Solaris -- turns out - the 3rd column of the table is hidden on Ubuntu, but is exposed - on Solaris. Adjusted the tests by adding a regular expression - to match on optional extra whitespace. - - Finally, also in row_table.py, we are indeed seeing different - behavior between Hardy w/GNOME 2.22.1 and Solaris with - Vermillion 88 (GNOME 2.22.20). The difference is that you need - to down arrow into the table on Ubuntu, but not on Solaris. - Adjusted the rest, reluctantly, to do the down arrow only if you - are not on Solaris. - - With these changes, gtk-demo runs wonderfully on snv_87 with - Vermillion 88. The only failures are the ones we expect - (KNOWN_ISSUE and BUG?). Yee Haa! - -2008-04-19 Rich Burridge - - * src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/default.py: - Fix for bug #519901 - Cthulhu doesn't warn via braille that an - inaccessible object got the focus. - - * src/cthulhu/scripts/gaim.py: - Fix for bug #525644 - Pidgin buddy status changes cause Cthulhu - to display "cell" in braille - -2008-04-18 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/dojo_checkbox.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/moz_tabpanel.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/xul_role_alert.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - 1) Fix for bug #512103 - Cthulhu speaks too much of the context in - FF3. - 2) Fix for bug #526366 - Remove the unused line navigation code - from Gecko.py. - -2008-04-17 Joanmarie Diggs - - * test/keystrokes/gtk-demo/role_table.py: - test/keystrokes/gtk-demo/role_column_header.py: - test/keystrokes/gtk-demo/role_tree_table.py: - src/cthulhu/where_am_I.py: - Fix for bug #518914 - table column number missing in whereAmI - info. - -2008-04-15 Joanmarie Diggs - - * test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/bug_511389.py: - test/keystrokes/firefox/xul_where_am_i_status_bar.py: - test/keystrokes/firefox/moz_progressbar.py: - test/keystrokes/firefox/html_struct_nav_large_obj.py: - test/keystrokes/firefox/line_nav_table_cell_links.py: - test/keystrokes/firefox/dojo_checkbox.py: - test/keystrokes/firefox/line_nav_empty_anchor.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/xul_role_combo_box.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - Updated regression tests. Eitan's work for bug #520612 not - only gave us braille cursor routing for Gecko, but got rid - of some more pesky (and incorrect) whitespace. Thanks Eitan! - -2008-04-15 Eitan Isaacson - - * src/cthulhu/Gecko.py: - src/cthulhu/default.py: - src/cthulhu/flat_review.py: - src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/braille.py: - Added cursor key routing support to Gecko (bug #520612). - -2008-04-09 Willie Walker - - * src/cthulhu/cthulhu.in: - src/cthulhu/dbusserver.py: - Additional work for bug #525348 - Cthulhu uses wget. - -2008-04-08 Joanmarie Diggs - - * src/cthulhu/mag.py: - Fix for bug #519416 - Zoomer loses focus when doing a web - search. - -2008-04-08 Willie Walker - - * src/cthulhu/cthulhu.in: - Additional work for bug #525348 to only run watchdog if we - can get to the DBus session bus and to lengthen the timeout - in waiting for a response from DBus. - -2008-04-07 William Jon McCann - - * src/cthulhu/cthulhu.in: - Fix for bug #525831 - isn't properly handling SIGTERM - -2008-04-07 Willie Walker - - * test/harness/utils.py: - test/harness/harness.sh: - src/cthulhu/settings.py: - src/cthulhu/httpserver.py: - src/cthulhu/dbusserver.py: - src/cthulhu/cthulhu.py: - src/cthulhu/cthulhu.in: - src/cthulhu/Makefile.am: - Fix for bug #525348 - Cthulhu uses wget. This moves the - watchdog and testing harness to DBus from HTTP. It also - disables the HTTP speech server in Cthulhu by making the - settings.py:httpServerPort=0 instead the old value of - 20433. BTW, 20433 happened to be my old telephone - extension at work, so if that's any indication of what - a hack I think the whole FireVox/Cthulhu thing was... - (it really was meant to be an interim solution until we - got FF3/Cthulhu working.) - -2008-04-07 Rich Burridge - - * test/harness/utils.py: - Fix for bug #525592 - Provide 'diff' like output for regression - test failures. - -2008-04-04 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - test/keystrokes/firefox/moz_slider.py: - test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/xul_role_tree_table.py: - Fix for bug #520029 - Better handle our presentation of images - and text on a web page when the image spans multiple lines. And - a few more updated regression tests. - -2008-04-04 Eitan Isaacson - - * src/cthulhu/Gecko.py: - src/cthulhu/default.py: - src/cthulhu/flat_review.py: - src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/braille.py: - Reopening bug #520612 - This patch needs a lot more work, - reverting for now... - -2008-04-04 Rich Burridge - - * src/cthulhu/cthulhu.py: - src/cthulhu/cthulhu_console_prefs.py: - Fix for bug #523082 - text-setup should not use speech if - --disable=speech is used. - -2008-04-04 Joanmarie Diggs - - * src/cthulhu/scripts/gaim.py: - More work on bug #525656 - Cthulhu needs to handle the new Pidgin - typing status updates. - -2008-04-03 Eitan Isaacson - - * src/cthulhu/cthulhu.py: - Fix for bug #525649 - Don't bomb when no DISPLAY is set. - -2008-04-03 Eitan Isaacson - - * src/cthulhu/Gecko.py: - src/cthulhu/default.py: - src/cthulhu/flat_review.py: - src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/braille.py: - Added cursor key routing support to Gecko (bug #520612). - -2008-04-02 Rich Burridge - - * src/cthulhu/default.py: - Slight adjustmet to the fix for bug #523235. Needed to check that - cthulhu_state.lastNonModifierKeyEvent wasn't None. - - * src/cthulhu/scripts/gaim.py: - Fix for bug #525656 - Cthulhu needs to handle the new Pidgin typing - status updates. - - * src/cthulhu/test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - src/cthulhu/test/keystrokes/gtk-demo/role_text_multiline_navigation2.py: - Fix for bug #523238 - gtk-demo role_text_multiline_navigation.py - regression tests 89, 90, 91 and 93 produce the wrong results. - -2008-04-01 Rich Burridge - - * test/keystrokes/oowriter/bug_385828.py: - Fix for bug #523451 - oowriter/bug_385828.py regression tests #1 - produces the wrong results. - - * test/keystrokes/gtk-demo/role_combo_box.py: - Fix for bug #523236 - gtk-demo/role_combo_box.py regression tests - #12, #13, #14 and #15 produce the wrong results. - - * test/keystrokes/gtk-demo/role_table_py: - Fix for bug #523237 - gtk-demo/role_table.py regression tests - 1, 2, 3, 4, 6, and 7 produce the wrong results. - - * src/cthulhu/default.py: - Fix for bug #523235 - gtk-demo/role_column_header.py regression - tests #3, #4, #7 and #8 produce the wrong results. - -2008-04-01 Willie Walker - - * src/cthulhu/default.py: - * src/cthulhu/mouse_review.py: - Pylint fixes. - -2008-03-31 Rich Burridge - - * src/cthulhu/scripts/Evolution.py: - src/cthulhu/flat_review.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/Gecko.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braillegenerator.py: - Fix for bug #519936 - In Evolution Cthulhu does not read the - messages list properly when in "read table row" mode. - -2008-03-28 Willie Walker - - * src/cthulhu/gnomespeechfactory.py: - Add an additional except clause in __idleHandler to - prevent tracebacks from killing Say All. - -2008-03-28 Eitan Isaacson - - * src/cthulhu/mouse_review.py: - Fix for bug #520611. - New mouse review feature (all of the changes below too). - * src/cthulhu/Makefile.am: - Added mouse_review.py. - * src/cthulhu/default.py: - - Added unbound mouse review toggle key. - - Added getComponentAtDesktopCoords() (and - _getPopupItemAtDesktopCoords). - - Added speakWordUnderMouse(). - - Added getWordAtCoords(). - * src/cthulhu/Gecko.py: - Added override for speakWordUnderMouse(). - * src/cthulhu/focus_tracking_presenter.py: - Chaged _getScript to a public getScript. - * src/cthulhu/cthulhu.py: - - Initialize mouse review on start up. - - Added getScriptForApp. - * src/cthulhu/settings.py: - Added enableMouseReview and mouseDwellDelay - * src/cthulhu/cthulhu_gui_prefs.py: - * src/cthulhu/cthulhu-setup.glade - Toggle mouse review in general tab. - -2008-03-27 Willie Walker - - * test/keystrokes/gtk-demo/role_icon.py: - Fix for bug #519543 - gtk-demo/role_icon.py regression test #7 - produces different results on Solaris and Ubuntu. Used the - new regular expression syntax to manage the different numbers - of files. Also looked at only the first two icons in the - window ('bin' and 'boot') since those are common to both - Ubuntu and Solaris. Not the greatest, but this one has me - beat due to the sheer flakiness of the gtk-demo test in - question. - -2008-03-27 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - test/keystrokes/firefox/dojo_tree.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/page_summary.py: - test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/xul_role_list_item.py: - Fix for bug #523480 - Unwanted roles appearing in the braille - context for dojo in FF3. In addition, as long as I was updating - tests, I marked some known bugs in the regression tests to help - spot new regressions. - -2008-03-27 Rich Burridge - - * src/cthulhu/default.py: - Fix for bug #520974 - Some script names are not marked for - translation. - -2008-03-26 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - test/keystrokes/firefox/line_nav_imagemap.py: - Fix for bug #523759 - Gecko.getCharacterOffsetInParent() needs - to check the parent for text. - -2008-03-26 Rich Burridge - - * src/cthulhu/default.py: - src/cthulhu/Gecko.py: - From Tomas Cerha - From Peter Vagner - Fix for bug #520494 – Keyboard review punctuation in Firefox. - Use `speech.speakCharacter()' instead of `speech.speak()'. - -2008-03-26 Rich Burridge - - * src/cthulhu/default.py: - src/cthulhu/Gecko.py: - From Tomas Cerha - From Peter Vagner - Fix for bug #520494 – Keyboard review punctuation in Firefox. - Use `speech.speakCharacter()' instead of `speech.speak()'. - -2008-03-26 Rich Burridge - - * src/cthulhu/app_prefs.py: - src/cthulhu/cthulhu_prefs.py: - Fix for bug #523642 - cthulhu_prefs.py:_writePronunciation should - not generate bad Python syntax. - - * test/keystrokes/oowriter/bug_342602.py: - Fix for bug #523440 - oowriter/bug_342602.py regression tests #1 - and #2 produce the wrong results. - - * test/keystrokes/oowriter/bug_361747.py: - test/keystrokes/oowriter/bug_361747.params: (new) - test/keystrokes/oowriter/empty_document.odt: (new) - Fix for bug #523443 - oowriter/bug_361747.py regression tests #1 - through #4 produce the wrong results. - - * test/keystrokes/oowriter/bug_384893.py: - test/keystrokes/oowriter/bug_384893.params: (new) - Fix for bug #523450 - oowriter/bug_384893.py regression tests #2 - and #3 produce the wrong results. - - * test/keystrokes/oowriter/bug_469367.py: - test/keystrokes/oowriter/bug_469367.params: (new) - Fix for bug #523458 - oowriter/bug_469367.py regression tests #1 - and #2 produce the wrong results. - - * test/keystrokes/oowriter/bug_435201.py: - Fix for bug #523453 - oowriter/bug_435201.py regression tests #1 - through #5 produce the wrong results. - - * test/keystrokes/oowriter/bug_361624.py: - Fix for bug #523441 - oowriter/bug_361624.py regression tests #1 - through #4 produce the wrong results. - - * test/keystrokes/oowriter/bug_450210.py: - Fix for bug #523457 - oowriter/bug_450210.py regression tests #1 - produces the wrong results. - -2008-03-25 Eitan Isaacson - - * src/cthulhu/braille.py: - Fixed a bad regression from the previous patch - (bug #523268, comment #7). - -2008-03-25 Eitan Isaacson - - * src/cthulhu/default.py: - * src/cthulhu/scripts/StarOffice.py: - * src/cthulhu/settings.py: - Fix for bug #523268 - Did a minor refactor for braille support of - text attributes . - -2008-03-25 Rich Burridge - - * src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #523712 - Cthulhu application specific preferences window - doesn't always get focus when user types Insert-Control-Space. - -2008-03-25 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #519478 - (ff3) missing text with line down navigation - (www.fixedearth.com) - -2008-03-24 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #520760 - (ff3) read document ignoring remainder of - object when first subelement is non-text. - -2008-03-24 Willie Walker - - * test/harness/utils.py: - test/keystrokes/gtk-demo/debug_commands.py: - Fix for bug #520656 - The regression test harness should be - capable of handling alternative expected results. Allowed - the expected results to be treated as regular expressions. - -2008-03-24 Rich Burridge - - * test/keystrokes/oowriter/bug_382408.py: - Fix for bug #523445 - oowriter/bug_382408.py regression tests #1 - through #2 produce the wrong results. - - * test/keystrokes/oowriter/bug_382415.py: - Fix for bug #523446 - oowriter/bug_382415.py regression tests #1 - through #5 produce the wrong results. - - * test/keystrokes/oowriter/bug_382880.py: - Fix for bug #523447 - oowriter/bug_382880.py regression tests #1 - through #8 produce the wrong results. - - * test/keystrokes/oowriter/bug_382888.py: - Fix for bug #523449 - oowriter/bug_382888.py regression tests #1 - through #8 produce the wrong results. - -2008-03-20 Attila Hammer - - * src/cthulhu/keynames.py: - Fix for bug #523309 - "return" and "backspace" keynames is not - marked for translations - -2008-03-20 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - From Joanmarie Diggs - Work on bug #523459 - oocalc/bug_356334.py regression tests #1 - through #4 produce the wrong results. This patch fixes up the - numerous bogus "not selected" differences in several oocalc - regression tests. - - * test/keystrokes/oocalc/bug_356334.py: - More work on bug #523459 - oocalc/bug_356334.py regression tests #1 - through #4 produce the wrong results. This adjusts the expected - braille results for regression tests #1 and #3 to make what is - now displayed. - - * test/keystrokes/oocalc/bug_361167.py: - Fix for bug #523460 - oocalc/bug_361167.py - 8 out 10 regression - tests produce the wrong results. - - * test/keystrokes/oocalc/bug_363802.py - Fix for bug #523461 - oocalc/bug_363802.py regression tests #1 - through #6 produce the wrong results. - - * test/keystrokes/oocalc/bug_363804.py: - Fix for bug #523464 - oocalc/bug_363804.py regression tests #1 - through #6 produce the wrong results. - - * test/keystrokes/oocalc/bug_433398.py: - Fix for bug #523467 - oocalc/bug_433398.py regression tests #1 - through #4 produce the wrong results. - - * test/keystrokes/oocalc/bug_435307.py: - Fix for bug #523468 - oocalc/bug_435307.py regression tests #1 - through #2 produce the wrong results. - - * test/keystrokes/oocalc/bug_364407.py: - src/cthulhu/scripts/StarOffice.py: - Fix for bug #523018 - Cthulhu does not speak the role for edits - in the find and replace dialog in openoffice. Really a new fix - for bug #364407 which broke again with the recent pyatspi migration. - -2008-03-19 Joanmarie Diggs - - * test/keystrokes/firefox/*: - test/html/FirefoxProfile/prefs.js: - Fix for bug 519849 - Firefox regression test profile should define - the font and size to be used. - -2008-03-17 Attila Hammer - - * src/cthulhu/keynames.py: - Fix for bug #523147 - "space" keyname is not marked for translation - -2008-03-17 Willie Walker - - * src/cthulhu/default.py: - src/cthulhu/scripts/planner.py: - pylint fixups. - -2008-03-17 Rich Burridge - - * src/cthulhu/default.py: - test/keystrokes/gtk-demo/role_tree_table.py: - Fix for bug #519564 - gtk-demo/role_tree_table.py regression - test #2 produces the wrong results. - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #523018 - Cthulhu does not speak the role for edits - in the find and replace dialog in openoffice. - -2008-03-15 Rich Burridge - - * src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #522657 - this may take a while should be removed - from the cthulhu prefs. - -2008-03-10 Joanmarie Diggs - - * src/cthulhu/where_am_I.py: - Tweak for bug #519541 - gtk-demo/role_icon.py regression test #2 - produces the wrong results. (Needed a slight pylinting) - -2008-03-07 Rich Burridge - - * test/keystrokes/gtk-demo/role_icon.py: - Fix for bug #519539 - gtk-demo/role_icon.py regression test #1 - produces the wrong results. - - * src/cthulhu/where_am_I.py: - test/keystrokes/gtk-demo/role_icon.py: - Fix for bug #519541 - gtk-demo/role_icon.py regression test #2 - produces the wrong results. - - * test/harness/utils.py: - test/keystrokes/gtk-demo/role_radio_button.py: - Fix for bug #519553 - gtk-demo/role_radio_button.py regression - test #3 produces the wrong results. - - * src/cthulhu/default.py: - test/keystrokes/gtk-demo/role_spin_button.py: - Fix for bug #519559 - gtk-demo/role_spin_button.py regression - test #4 produces the wrong results. - - * src/cthulhu/default.py: - Work on bug #519564 – gtk-demo/role_tree_table.py regression - test #2 produces the wrong results. - 'keyString != "Space"' should have been 'keyString == "space"'. - - * test/keystrokes/gtk-demo/role_tree_table.py: - Fix for bug #519567 - gtk-demo/role_tree_table.py regression - test #13 produces the wrong results. - -2008-03-05 Rich Burridge - - * src/cthulhu/where_am_I.py: - test/keystrokes/gtk-demo/role_label.py: - Fix for bug #519545 - gtk-demo/role_label.py regression test #2 - produces the wrong results. - -2008-03-03 Rich Burridge - - * src/cthulhu/where_am_I.py: - test/keystrokes/gtk-demo/role_spin_button.py: - Fix for bug #519557 - gtk-demo/role_spin_button.py regression - test #2 produces the wrong results. - -2008-03-03 Scott Haeger - - * src/cthulhu/Gecko.py: - Fix for bug #519587, Navigating nested lists with Collection not - functioning properly. - -2008-03-03 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #519931 - Cthulhu does not read certain news feeds - correctly. - - * test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - test/html/table-caption.html: - Updated regression tests. - -2008-03-02 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #517277 - Cthulhu should not get stuck while - browsing articles at espn.com - -2008-03-01 Scott Haeger - - * test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/dojo_slider.py - test/keystrokes/firefox/uiuc_button.py - test/keystrokes/firefox/dojo_tree.py - test/keystrokes/firefox/uiuc_tree.py - test/keystrokes/firefox/dojo_spinner.py - test/keystrokes/firefox/dojo_dialog.py - test/keystrokes/firefox/moz_checkbox.py - test/keystrokes/firefox/moz_tabpanel.py - Updated ARIA regression tests. - -2008-03-01 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - Fix for bug #515804 - Whitespace needs to be removed from - speech and braille contexts in FF3. - -2008-02-29 Scott Haeger - - * src/cthulhu/Gecko.py: - src/cthulhu/settings.py - Fix for bug #491837, Implement Gecko.py 'go to' functions with - Collections. - -2008-02-29 Rich Burridge - - * test/keystrokes/gtk-demo/role_split_pane.py: - Fix for bug #519560 – gtk-demo/role_split_pane.py regression - test #1 produces the wrong results. - - * test/keystrokes/gtk-demo/role_split_pane.py: - Fix for bug #519561 – gtk-demo/role_split_pane.py regression - test #2 produces the wrong results. - - * src/cthulhu/where_am_I.py: - test/keystrokes/gtk-demo/role_split_pane.py: - Fix for bug #519563 – gtk-demo/role_split_pane.py regression - test #3 produces the wrong results. - - * test/keystrokes/gtk-demo/role_split_pane.py: - Fix for bug #519563 – gtk-demo/role_split_pane.py regression - test #4 produces the wrong results. - -2008-02-28 Eitan Isaacson - - * src/cthulhu/Gecko.py: - Fixed extra verbosity in web pages with nested frames (bug #518893). - -2008-02-28 Rich Burridge - - * src/cthulhu/default.py: - Fix for bug #517505 - Cthulhu doesn't present new active descendant - when deleting from the top of a list. - -2008-02-27 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #517502 - Cthulhu should not speak the previously - focused menu item when arrowing across the menu bar in OpenOffice. - - * src/cthulhu/scripts/gnome-terminal.py: - Fix for bug #518762 - When using gnome-terminal with multiple - tabs, the name on the tab is not announced when switching - between tabbed windows. - -2008-02-26 Willie Walker - - * configure.in: - README: - Mark as Cthulhu v2.23.0pre - The Cthulhu v2.22 code is in the gnome-2-22 branch. - -2008-02-26 Scott Haeger - - * test/harness/utils.py - test/keystrokes/firefox/dojo_slider.py - test/keystrokes/firefox/uiuc_tree.py - test/keystrokes/firefox/dojo_spinner.py - test/keystrokes/firefox/dojo_checkbox.py - test/keystrokes/firefox/dojo_dialog.py - test/keystrokes/firefox/uiuc_grid.py - test/keystrokes/firefox/moz_checkbox.py - Updated ARIA regression tests. - -2008-02-25 Joanmarie Diggs - - * src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - src/cthulhu/braillegenerator.py: - Fix for bug #518518 - Need to do some sanity checks for broken - table hierarchies. - -2008-02-25 Joanmarie Diggs - - * src/cthulhu/speechgenerator.py: - test/keystrokes/firefox/xul_role_alert.py: - Fix for bug #518507 - getSpeechForAlert() assumes unrelated - labels have names. - -2008-02-25 Willie Walker - - * NEWS: - Final prep for Cthulhu v2.21.92. - -2008-02-25 Eitan Isaacson - - * src/cthulhu/Gecko.py: - Fix for bug #512503 - Remove "object:visible-data-changed" - listener from Gecko.py. Replaced it with a - state-changed:focused listener. - - * test/keystrokes/firefox/doc_tabs.py: - Added a document tab-switching test. - -2008-02-25 Willie Walker - - * configure.in: - NEWS: - README: - Prep for Cthulhu v2.21.92. - -2008-02-24 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - Fix for bug #517336 - Spaces interfere with Cthulhu's ability to - get the line contents. - -2008-02-24 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #517752 - (ff3) more cthulhu+left/right inconsistancy - -2008-02-24 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - test/keystrokes/firefox/html_struct_nav_links.py: - Fix for bug #518502 - Cthulhu doesn't always speak wrapping - announcement for link structural nav in FF3. - -2008-02-24 Joanmarie Diggs - - * test/keystrokes/firefox/line_nav_imagemap.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/xul_role_tree_table.py: - test/keystrokes/firefox/xul_where_am_i_dialog.py: - test/keystrokes/firefox/xul_role_page_tab.py: - test/keystrokes/firefox/html_struct_nav_links.py: - test/keystrokes/firefox/label_guess_entries.py: - Updated regression tests to add some WaitForFocus's which will - hopefully improve test reproducability. Also, the FF guys fixed - a bug which required updated tests. Yea! - -2008-02-20 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Tweak to the fix for bug #517371 - Cthulhu gets stuck when browsing - humanware.ca in FF3. - - * test/keystrokes/firefox/line_nav_empty_anchor.py: (new) - test/html/bug-517371.html: (new) - New regression test. - -2008-02-20 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #508163 - Cthulhu tends to be slow in the vicinity - of combo boxes in Firefox. - -2008-02-20 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #515571 - FF3 form field structural navigation - should handle form fields that are not in forms. - -2008-02-20 Rich Burridge - - * /test/keystrokes/oowriter/bug_362979.py: - /test/keystrokes/oowriter/bug_364765.py: - /test/keystrokes/oowriter/bug_382408.py: - /test/keystrokes/oowriter/bug_382415.py: - /test/keystrokes/oowriter/bug_382418.py: - /test/keystrokes/oowriter/bug_382880.py: - /test/keystrokes/oowriter/bug_382888.py: - /test/keystrokes/oowriter/bug_384893.py: - /test/keystrokes/oowriter/bug_385828.py: - /test/keystrokes/oowriter/bug_413909.py: - /test/keystrokes/oowriter/bug_430402.py: - /test/keystrokes/oowriter/bug_435201.py: - /test/keystrokes/oowriter/bug_435226.py: - /test/keystrokes/oowriter/bug_450210.py: - /test/keystrokes/oowriter/bug_469367.py: - Adjusted various oowriter regression tests to use assertions. - - * /test/keystrokes/oocalc/bug_356334.py: - /test/keystrokes/oocalc/bug_363801.py: - /test/keystrokes/oocalc/bug_363802.py: - /test/keystrokes/oocalc/bug_364086.py: - /test/keystrokes/oocalc/bug_364407.py: - /test/keystrokes/oocalc/bug_433398.py: - /test/keystrokes/oocalc/bug_435307.py: - /test/keystrokes/oocalc/bug_435852.py: - Adjusted various oocalc regression tests to use assertions. - -2008-02-20 Scott Haeger - - * src/cthulhu/Gecko.py: - Fix for bug #517716, Live regions being output on listitem changes - for Bugzilla. - -2008-02-19 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #512261 - We should implement better support for the - FF A11y extension. What this change does is update the caret - position to the offset specified by the caret-moved event that - results -- i.e. we move to wherever the extension told Firefox to - tell us to move. :-) - -2008-02-19 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #517371 - Cthulhu gets stuck when browsing humanware.ca - in FF3. - -2008-02-19 Scott Haeger - - * src/cthulhu/Gecko.py: - Fix for bug #517521, Gecko.py is throwing exception in onCaretMoved. - -2008-02-19 Rich Burridge - - * src/cthulhu/default.py: - Work on bug #517026 - crash in Open Folder: Deleting the last file - in a directory. Added a check to locusOfFocusChanged() in default.py - so that if the new locus of focus has a "defunct" state, then we - just return. - - * /test/keystrokes/oowriter/bug_342602.py: - /test/keystrokes/oowriter/bug_350219.py: - /test/keystrokes/oowriter/bug_353268.py: - /test/keystrokes/oowriter/bug_355733.py: - /test/keystrokes/oowriter/bug_361624.py: - /test/keystrokes/oowriter/bug_361747.py: - Adjusted various oowriter regression tests to use assertions. - -2008-02-19 Scott Haeger - - * src/cthulhu/liveregions.py - Fix for bug #511885, Support relevant and channel live region - properties. - -2008-02-18 Joanmarie Diggs - - * test/keystrokes/oocalc/bug_361167.py: - test/keystrokes/gtk-demo/role_table.py: - test/keystrokes/gtk-demo/role_column_header.py: - test/keystrokes/gtk-demo/role_tree_table.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/where_am_I.py: - Fix for bug #486897 - Where Am I doesn't present row/column - headers. - -2008-02-18 Joanmarie Diggs - - * src/cthulhu/input_event.py: - Fix for bug #516321 - Caps lock not correctly reporting the - state when toggled. - -2008-02-18 Joanmarie Diggs - - * src/cthulhu/flat_review.py: - Fix for bug #513238 - Flat review is broken in Evolution. - -2008-02-18 Joanmarie Diggs - - * test/keystrokes/firefox/xul_role_menu_bar.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/xul_where_am_i_status_bar.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/html_struct_nav_large_obj.py: - test/keystrokes/firefox/line_nav_multi_line_text.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/xul_role_page_tab.py: - test/keystrokes/firefox/label_guess_entries.py: - test/keystrokes/firefox/xul_role_alert.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_simple_form.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - test/keystrokes/firefox/line_nav_heading_section.py: (new) - test/keystrokes/firefox/line_nav_table_cell_links.py: (new) - test/html/table-cell-links.html: (new) - test/html/two-combos-on-line.html: (new) - test/html/heading-section.html: (new) - New and updated regression tests. - -2008-02-15 Willie Walker - - * test/keystrokes/firefox/*.py: - Add sequence.append(utils.AssertionSummaryAction()) to the - tests so we can get summaries such as: - SUMMARY: 4 SUCCEEDED and 0 FAILED (0 UNEXPECTED) of 4 for ... - - * test/200*: - Delete old harness results. We don't use them anymore and - they just slow down checking out new things from trunk. - -2008-02-15 Scott Haeger - - * test/keystrokes/firefox/moz_menu.py - test/keystrokes/firefox/dojo_slider.py - test/keystrokes/firefox/uiuc_button.py - test/keystrokes/firefox/moz_slider.py - test/keystrokes/firefox/dojo_dialog.py - test/keystrokes/firefox/moz_tabpanel.py - Update/added ARIA regression tests. - -2008-02-15 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #516121 - Cthulhu stalls on barackobama.com when - navigating by heading in FF3. - -2008-02-15 Scott Haeger - - * test/harness/utils.py - test/keystrokes/firefox/moz_menu.py - test/keystrokes/firefox/dojo_slider.py - test/keystrokes/firefox/uiuc_button.py - test/keystrokes/firefox/moz_slider.py - test/keystrokes/firefox/uiuc_slider.py - test/keystrokes/firefox/uiuc_radiobutton.py - test/keystrokes/firefox/uiuc_tree.py - test/keystrokes/firefox/dojo_tabcontainer.py - test/keystrokes/firefox/dojo_spinner.py - test/keystrokes/firefox/uiuc_grid.py - test/keystrokes/firefox/moz_tabpanel.py - test/keystrokes/firefox/uiuc_tabpanel.py - Update/added ARIA regression tests. - -2008-02-14 Scott Haeger - - * src/cthulhu/Gecko.py: - Fix for bug #515263, ARIA tooltips should respect presentToolTips - setting. - -2008-02-13 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - src/cthulhu/scripts/Thunderbird.py: - Fix for bug #516174 - FF line navigation needs to be more accurate. - (We know these aren't all the issues, but hopefully this fix will - resolve many of them.) - -2008-02-12 Eitan Isaacson - - * src/cthulhu/braille.py: - Make ReviewComponent expand on cursor. - * src/cthulhu/flat_review.py: - Don't expand the entire reviewed component. - * src/cthulhu/cthulhu_gui_prefs.py: - Fixed a typo where we were using the wrong variable. - - * src/cthulhu/scripts/planner.py: - Fixed traceback in side toggle buttons (bug #419136). - -2008-02-12 Rich Burridge - - * src/cthulhu/scripts/planner.py: - Fix for bug #419136 - Planner toggle button in main window not - accessible. - - * src/cthulhu/scripts/StarOffice.py: - Further work on bug #515651 - Navigation of cells in oocalc now says - "not selected". We now need to save the 'lastColumn' and 'lastRow' - values in case #6 of locusOfFocusChanged() in StarOffice.py. - -2008-02-11 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #515651 - Navigation of cells in oocalc now says - "not selected". - -2008-02-11 Willie Walker - - * configure.in: - README: - Mark as Cthulhu v2.21.92pre - -2008-02-11 Willie Walker - - * configure.in: - NEWS: - README: - Prep for Cthulhu v2.21.91. - -2008-02-11 Joanmarie Diggs - - * test/keystrokes/gtk-demo/learn_mode.py: - test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu.py: - src/cthulhu/Gecko.py: - src/cthulhu/where_am_I.py: - src/cthulhu/input_event.py: - src/cthulhu/script.py: - src/cthulhu/keybindings.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug 440490 - Key bindings should allow double and triple - press features to be rebound. - -2008-02-11 Eitan Isaacson - - * src/cthulhu/scripts/planner.py: - src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/flat_review.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/Gecko.py: - src/cthulhu/braille.py: - src/cthulhu/braillegenerator.py: - src/cthulhu/cthulhu_gui_prefs.py: - src/louis/__init__.py: - Work on bug 354470 - Contracted Braille. This provides fundamental - contracted braille support via liblouis. - -2008-02-11 Willie Walker - - * src/cthulhu/flat_review.py: - Work on bug 434654 - Cthulhu skips a line in flat review mode or - with braille navigation (braille up / down). This fixes the - bug in question, but there is an asymmetric behavior that happens - when flat reviewing by word. Flat review by previous word will - land blank line at the end of a text area (if it has one), but - won't do do when navigating by next work. - -2008-02-11 Rich Burridge - - * src/cthulhu/Gecko.py: - Fix for bug #515652 - Gecko.py script causing Traceback. - -2008-02-10 Willie Walker - - * src/cthulhu/default.py: - Fix pylint regression introduced with fix for bug #486908. - -2008-02-10 Willie Walker - - * test/harness/utils.py: - Adjust output of UNEXPECTED failures so they are easier - to identify in the output log. - -2008-02-10 Willie Walker - - * test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - Adjust regression test as a result of new (and improved) - behavior from fix for bug #506874. - -2008-02-08 Scott Haeger - - * src/cthulhu/liveregions.py: - src/cthulhu/Gecko.py: - Fix for bug #462883, ARIA tooltips/alerts are not being output - -2008-02-08 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #514427 - Cthulhu skips over headings at the end of - sections in FF3. - - Fix for bug #511354 - (ff3) firefox: cannot press enter to activate - links in area tags, although tabbing works. - - Fix for bug #513425 - (ff3) cthulhu object navigation is not - consistant when moving to the left/to the right. - -2008-02-07 Willie Walker - - * pylintrc: - Add W0141: Used builtin function 'map' to disable-msg - -2008-02-07 Rich Burridge - - * src/cthulhu/scripts/gedit.py: - Fix for bug #133275 - accessible description for page not correct. - -2008-02-06 Eitan Isaacson - - * src/louis/constants.py.in: - Fixed string mistake in table name (bug 514282). - -2008-02-06 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #363830 - Provide feedback in OOo when toggling bold, - underline, and italics. - -2008-02-05 Rich Burridge - - * src/cthulhu/scripts/rhythmbox.py: - Removed uwanted lines, so we now get pylint score of 10.0. - -2008-02-01 Eitan Isaacson - - * src/louis/__init__.py: Override the translate function with some - fixups until we get fixes into liblouis proper. - - -2008-01-31 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #513217 - (ff3) object navigation sticking on - same line comboboxes. - - Fix for bug #512236 - (ff3) missing links in ff3 when navigating - down page. - -2008-01-31 Willie Walker - - * src/cthulhu/speech.py: - Fix "speak character" vs. "SPEECH OUTPUT" issue related to - bug 512608. - -2008-01-29 Tomas Cerha - - Fix for Bug 512608 - Punctuation in keyboard review mode. - - * src/cthulhu/default.py (Script._reviewCurrentCharacter): Use - `speech.speakCharacter()' instead of `speech.speak()'. Convert to - unicode before character case recognition. - - * src/cthulhu/speech.py (speakCharacter): New method. - - * src/cthulhu/speechdispatcherfactory.py: Fixed Speech Dispatcher - version check (broken after pychecker related fixes). - (SpeechServer.__init__): Cosmetic changes. - (SpeechServer._apply_acss): Use the default voice if `acss' is - None. - (SpeechServer._speak, SpeechServer.speakKeyEvent): Don't care - about None value in `acss'. - (SpeechServer.speakCharacter): Apply `acss'. Send a sound icon - for the newline character. - -2008-01-29 Rich Burridge - - * src/cthulhu/scripts/rhythmbox.py: (new) - src/cthulhu/scripts/Makefile.am: - Fix for bug #512639 - rhythmbox Library table not accessible. - - * src/cthulhu/default.py: - Fix for #486908 - Selection and navigation in multiselectable - items are not properly handled. - - * test/keystrokes/gtk-demo/role_icon.py: - test/keystrokes/gtk-demo/role_tree_table.py: - Adjusted the regression tests for the gtk-demo icon and tree - tables, for the tests that the changes for bug #486908 have fixed. - -2008-01-29 Joanmarie Diggs - - * src/cthulhu/flat_review.py: - Fix for bug #512847 - Flat review is quite broken in - OpenOffice and Firefox. - - * test/keystrokes/firefox/bug_512303.py: (new) - test/keystrokes/firefox/bug_511389.py: (new) - test/keystrokes/firefox/flat_review_text_by_line.py: (new) - test/keystrokes/firefox/flat_review_text_by_word_and_char.py: (new) - test/html/table-caption.html: (new) - test/html/bug-511389.html: (new) - New regression tests. - -2008-01-28 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #512303 - (ff3) table captions are not being - presented. - - * test/keystrokes/firefox/xul_role_list_item.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: - test/keystrokes/firefox/line_nav_bugzilla_search.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/html_role_lists.py: - test/keystrokes/firefox/html_struct_nav_blockquote.py: - test/keystrokes/firefox/html_struct_nav_list_item.py: - test/keystrokes/firefox/html_struct_nav_lists.py: - test/keystrokes/firefox/xul_role_alert.py: - test/keystrokes/firefox/xul_role_check_box.py: - test/keystrokes/firefox/xul_role_combo_box.py: - test/keystrokes/firefox/xul_role_menu_bar.py: - test/keystrokes/firefox/xul_role_page_tab.py: - test/keystrokes/firefox/xul_role_push_button.py: - test/keystrokes/firefox/xul_role_radio_button.py: - test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/xul_role_tree_table.py: - test/keystrokes/firefox/xul_where_am_i_dialog.py: - test/keystrokes/firefox/xul_where_am_i_status_bar.py: - Updated regression tests. - -2008-01-28 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Work on bug #506360 - find{Next,Previous}Line() should be - more efficient. - -2008-01-28 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #511389 - Cthulhu doesn't always speak a link that - regains focus in FF3. - -2008-01-28 Claude Paroz - - * NEWS: - Convert file to UTF-8 and fix special chars. - -2008-01-28 Willie Walker - - * configure.in: - README: - Mark as Cthulhu v2.21.91pre. - -2008-01-28 Willie Walker - - * README, configure.in: - Prep for Cthulhu v2.21.90 - -2008-01-28 Willie Walker - - * NEWS: - Begin prepping for Cthulhu v2.21.90 - -2008-01-28 Willie Walker - - * src/cthulhu/default.py, src/cthulhu/scripts/Evolution.py: - Fix pylint issues. - -2008-01-27 Eitan Isaacson - - * src/louis/_louis.: - Added cleanup routine for freeing the table cache. - -2008-01-26 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #510478 - Character navigation in FF wraps from - bottom of file to top. - -2008-01-26 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #509588 - Header information disappearing in ff3 - on minefield page. - -2008-01-26 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #512270 - cthulhu crash on visiting www.gmail.com - after login. - -2008-01-25 Scott Haeger - - * src/cthulhu/liveregions.py: - Partial fix for bug #511893, Live region performance enhancements. - Fix for navigation performance issue. - -2008-01-25 Scott Haeger - - * src/cthulhu/liveregions.py: - src/cthulhu/Gecko.py: - More minor changes to boost pylint score. - -2008-01-25 Scott Haeger - - * src/cthulhu/liveregions.py: - Removed import to boost pylint score. - -2008-01-25 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #509394 - First focusable item in document frame - not always spoken in FF3. - -2008-01-24 Rich Burridge - - * src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/cthulhu.py: - src/cthulhu/script.py: - Fix for bug #511447 – Cthulhu speaks passwords when they are - been typed. - -2008-01-24 Scott Haeger - - * src/cthulhu/settings.py: - src/cthulhu/liveregions.py: - src/cthulhu/Gecko.py: - Fix for bug #505742, Accommodate no ARIA markup for live regions - -2008-01-22 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #510207 - key echo by word is broken in OOo Writer. - -2008-01-22 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #511118 - We sometimes get stuck on images that are - also links. - - Fix for bug #483023 - Cthulhu should give the user the ability to - move between objects in order. You can now use Cthulhu+Left and - Cthulhu+Right to move from object to object. This should come - in handy for "escaping" combo boxes and lists in forms after - making your selection. Because these new commands treat each - object as if it were on a line by itself, users who have - requested this type of line navigation will hopefully find that - this new functionality also addresses some of those needs. - Please let us know. Thanks! - -2008-01-22 Willie Walker - - * src/cthulhu/default.py: - src/cthulhu/braillegenerator.py: - Fix for bug 482294 - Contextual information for gnome-terminal - should only be shown in braille when you're on the first line - -2008-01-21 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - test/keystrokes/firefox/line_nav_imagemap.py: - test/html/letters.gif: - test/html/backwards.html: - Work on bug #506360 - find{Next,Previous}Line() should be - more efficient. (I included a new regression test for the - issue as well.) - -2008-01-20 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Work on bug #506360 - find{Next,Previous}Line() should be - more efficient. - -2008-01-20 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #509809 - We should try to do a better job of - guessing labels in poorly-coded forms. - -2008-01-19 Joanmarie Diggs - - * test/keystrokes/firefox/xul_role_tree.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/xul_role_tree_table.py: - test/keystrokes/firefox/label_guess_bugzilla_search.py: (new) - test/keystrokes/firefox/label_guess_entries.py: (new) - test/keystrokes/firefox/line_nav_multi_line_text.py: (new) - test/keystrokes/firefox/line_nav_bugzilla_search.py: (new) - test/html/bugzilla-advanced.html: (new) - test/html/entries.html: (new) - test/html/multi-line.html: (new) - Updating the XUL tests to use assertions, adding new and - thorough tests for navigation. - -2008-01-18 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #509482 - Line navigation in FF wraps from top - of file to bottom. - -2008-01-18 Rich Burridge - - * src/cthulhu/braillegenerator.py: - test/keystrokes/gtk-demo/role_table.py: - Fixup for bug #503874 - Read by row in Evolution reads cell - information incorrectly. With the fix for bug #508153, we no - longer need to put an extra space after the table cell regions - for a table cell that has a toggle action (i.e. checkbox). - Regression test updated to remove the bogus spaces. - -2008-01-18 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #509731 - braille for collapsed html combo boxes - is not updating correctly. - -2008-01-18 Joanmarie Diggs - - * test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/html_role_lists.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/xul_role_accel_label.py: - test/keystrokes/firefox/xul_role_alert.py: - test/keystrokes/firefox/xul_role_check_box.py: - test/keystrokes/firefox/xul_role_check_menu_item.py: - test/keystrokes/firefox/xul_role_combo_box.py: - test/keystrokes/firefox/xul_role_entry.py: - test/keystrokes/firefox/xul_role_list_item.py: - test/keystrokes/firefox/xul_role_menu_bar.py: - test/keystrokes/firefox/xul_role_page_tab.py: - test/keystrokes/firefox/xul_role_push_button.py: - test/keystrokes/firefox/xul_role_radio_button.py: - test/keystrokes/firefox/xul_role_radio_menu_item.py: - test/keystrokes/firefox/xul_where_am_i_status_bar.py: - test/keystrokes/firefox/xul_where_am_i_dialog.py: - Updating the XUL tests to use assertions, making some of the - navigation tests more thorough. - -2008-01-17 Rich Burridge - - * src/cthulhu/default.py: - src/cthulhu/braillegenerator.py: - Fix for the part of bug #508153 that we are going to fix. - If a column header is the same as the text associated with - a table cell, then don't speak/braille the column header. - -2008-01-17 Eitan Isaacson - - * configure.in: - Utilize pkg-config for liblouis configuration. - * src/louis/__init__.py: - Added two functions for listing tables and for getting the - default table. - * src/louis/Makefile.am: - * src/louis/constants.py.in: - * src/louis/constants.py: - Move constants.py to constants.py.in. This is usefulee for - having a constant with the tables path. - * src/louis/_louis.c: - Fixed the occasional segfault. - -2008-01-17 Mike Gorse - - * src/cthulhu/focus_tracking_presenter.py: - Fix for bug 510019 - Cthulhu can continue trying to dequeue events - when queue is empty (thanks Mike!) - -2008-01-16 Rich Burridge - - * src/cthulhu/scripts/Evolution.py: - Work on fix for bug #432308 - Problem with Evolution and threads - always speaking "expanded 0 items". Adding in code to no longer - speak the "0 items" if this is a table cell in the mail message - header list with an expanded state. - - * src/cthulhu/default.py: - Fix for bug #508682 - Cthulhu speak combobox item three time in - Pidgin 2.3.0. - -2008-01-15 Joanmarie Diggs - - * src/cthulhu/scripts/Evolution.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/braillegenerator.py: - Fix for bug #503874 - Read by row in Evolution reads cell - information incorrectly - -2008-01-14 Rich Burridge - - * src/cthulhu/flat_review.py: - Fix for bug #506874 - Flat review should support status bars - that have accessible text and children (thanks Will!) - -2008-01-14 Willie Walker - - * configure.in: - README: - Mark as Cthulhu v2.21.90pre. - -2008-01-14 Willie Walker - - * configure.in: - NEWS: - README: - Prep for Cthulhu v2.21.5. - -2008-01-14 Rich Burridge - - * src/cthulhu/default.py: - src/cthulhu/scripts/Evolution.py: - Fix for bug #489504 - Invoking a Say All should result in any - text selection being cleared. - -2008-01-14 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #509068 - We should prevent the user from arrowing - into combo boxes in FF. Now you can arrow "up to" a combo box, - but should not be able to arrow into it accidentally. If you - arrow to a combo box and want to it give focus, you can do - several things: Press Tab (as it's the next focusable item), - press Cthulhu+Tab (as it's the next form field, assuming your - combo box is contained in a form), or press Alt+Down Arrow - (which is the Firefox command to expand the current combo box). - -2008-01-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #506360 - find{Next,Previous}Line() should be - more efficient. Note that this is one of the new "performance - enhancements" that has been well-tested, but may contain side - effects. Please give us your feedback. If you're unsure as - to whether this change is responsible for a problem you are - seeing, you can place the following two lines in your - ~/.cthulhu/cthulhu-customizations.py file: - - import cthulhu.Gecko - cthulhu.Gecko.useNewLineNav = False - - If True (the default), the new enhancements are used; if False, - they are not. If this change is responsible, let us know. - Thanks!! - - Work on bug #414762 - Control Home/End, Up/Down Arrow don't - always work in Firefox. Firefox still has some navigation - issues which prevent things like Control Home and Control - End from doing what we would want/expect. Therefore, we've - taken over these keystrokes by default. :-) They should - always move you to the top and bottom of the document now - if Cthulhu is controlling the caret. If you would prefer to - have Control Home and Control End exhibit the default FF - behavior, toggle to a Gecko-controlled caret or change the - keybindings in the Cthulhu Preferences dialog for Minefield. - -2008-01-11 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Work on bug #508784 - Cthulhu needs to handle FF hierarchies - that don't match reality. Part of the solution is making - sure the user can navigate to the areas. That is what has - been done. We still need to present the elements and allow - the user to navigate among them according to their spatial - layout (e.g. reverse the list whose elements are ordered - right-to-left). - -2008-01-11 Scott Haeger - - * test/keystrokes/firefox/moz_menu.py: - test/keystrokes/firefox/dojo_tree.py: - test/keystrokes/firefox/moz_progressbar.py: - test/keystrokes/firefox/uiuc_tree.py: - test/keystrokes/firefox/moz_tabpanel.py: - test/keystrokes/firefox/moz_checkbox.py: - Updates to ARIA regression tests. - -2008-01-11 Rich Burridge - - * src/cthulhu/scripts/Evolution.py: - Fix for bug #490317 - Cthulhu echoes the first letter of each new - line when composing a message in Evolution. - - * src/cthulhu/cthulhu_gui_prefs.py: - Fixup a traceback in _setZoomerSpinButtons, if the user was - trying to startup an application specific Cthulhu preferences. - -2008-01-11 Eitan Isaacson - - * configure.in: - Added --with-liblouis option. - - * po/POTFILES.in: - Added src/louis/constants.py. - - * src/Makefile.am: - Conditionally include louis sub-directory. - - * src/louis: - * src/louis/Makefile.am: - * src/louis/__init__.py: - * src/louis/_louis.c: - * src/louis/constants.py: - New liblouis bindings. - - * src/cthulhu/cthulhu-setup.glade: - Added contracted braille frame, not showing by default. - - * src/cthulhu/cthulhu_gui_prefs.py: - Added a callback for toggling contracted braille. - -2008-01-11 Willie Walker - - * src/cthulhu/httpserver.py: - src/cthulhu/settings.py: - test/harness/cthulhu-customizations.py.in: - Fix for bug #508777 - HTTP-based Recording ability should - not be enabled by default - -2008-01-11 Scott Haeger - - * src/cthulhu/Gecko.py: - src/cthulhu/default.py: - Fix for bug #508624, Checkbox tristate not announcing state changes. - -2008-01-11 Willie Walker - - * src/cthulhu/braille.py: - Fix for bug #508679 - The second time to enable the Braille - Monitor, it can not be lauched. - -2008-01-10 Rich Burridge - - * src/cthulhu/default.py: - test/keystrokes/gtk-demo/role_column_header.py: - Fix for bug #486895 - Arrowing down from column header to - table presents wrong column header. - -2008-01-10 Scott Haeger - - * test/keystrokes/firefox/dojo_checkbox.py: - test/keystrokes/firefox/dojo_spinner.py: - test/keystrokes/firefox/dojo_dialog.py: - test/keystrokes/firefox/dojo_tabcontainer.py: - test/keystrokes/firefox/dojo_slider.py: - test/keystrokes/firefox/dojo_tree.py: - Updated Dojo regression tests - -2008-01-10 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #500016 - Reading web pages by line in Firefox - 3 is slow. - -2008-01-09 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #500016 - Reading web pages by line in Firefox - 3 is slow. - -2008-01-08 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #463867 - Source display and Target display should - self-populate in Cthulhu Prefs dialog. - (Tag-team effort with Joanie - thanks!) - - * src/cthulhu/scripts/gaim.py: - Refixed for bug #485522 - Cthulhu should allow the user to specify - the chat messages that get spoken/brailled. - -2008-01-07 Willie Walker - - * test/keystrokes/java/role_check_menu_item.py: - test/keystrokes/java/role_check_box.py: - Add test assertions to tests, also verifying that potential - bugs have been resolved. - -2008-01-07 Willie Walker - - * src/cthulhu/J2SE-access-bridge.py: Fix for bug #507886 - Cthulhu+Space - when in Java application presents script summary debug - -2008-01-07 Rich Burridge - - * src/cthulhu/scripts/Thunderbird.py: - Fix for bug #502084 - Running Cthulhu with Thunderbird v2.0.X with - compose window open generates a stack trace. - -2008-01-04 Rich Burridge - - * src/cthulhu/default.py: - Refixed bug #354462 - SayAll of dialogs (versus just a single - text area). New version works off a double click and doesn't - try to do braille. - -2008-01-02 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #505102 - Pressing Up/Down in FF3 is moving to - spaces at the end of the current line. - - * src/cthulhu/mag.py: - Fix for bug #505293 - Zoomer borders should only be displayed - at source display intersection. - - * src/cthulhu/mag.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #505306 - Cthulhu's color filtering combo box should - be greyed out if the filters are not available. - -2008-01-02 Rich Burridge - - * src/cthulhu/default.py: - Fix for bug #354462 - SayAll of dialogs (versus just a single - text area) - -2007-12-31 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #480881 - Firefox is very slow on pages with forms. - Note that we are still working on some related performance - issues that impact navigation on pages with forms. This fix - just brings us closer to where we want to be. - -2007-12-31 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #500016 - Reading web pages by line in Firefox - 3 is slow. - -2007-12-28 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #500016 - Reading web pages by line in Firefox - 3 is slow. - -2007-12-26 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Tweak for bug #504742 - Gecko.py should not call - getLineContentsAtOffset() twice unnecessarily. - - * test/keystrokes/firefox/line_nav_simple_form.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/keystrokes/firefox/html_role_combo_box.py: - test/keystrokes/firefox/html_struct_nav_large_obj.py: - test/keystrokes/firefox/html_struct_nav_list_item.py: - test/keystrokes/firefox/html_struct_nav_lists.py: - test/keystrokes/firefox/html_role_lists.py: - test/keystrokes/firefox/html_struct_nav_blockquote.py: - test/keystrokes/firefox/html_struct_nav_links.py: - test/keystrokes/firefox/html_role_links.py: - Updating the Firefox regression tests to use assertions. - -2007-12-26 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #504785 - Cthulhu repeats certain lines twice in - Firefox 3. - -2007-12-26 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #505102 - Pressing Up/Down in FF3 is moving to - spaces at the end of the current line. - -2007-12-23 Joanmarie Diggs - - * src/cthulhu/mag.py: - Another tweak for bug #463881 - Evaluate other gnome-mag - feature for inclusion in Cthulhu prefs. Minimize the "jumpiness" - when "live updating" magnification levels. - -2007-12-23 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #500016 - Reading web pages by line in Firefox - 3 is slow. - -2007-12-22 Joanmarie Diggs - - * test/keystrokes/firefox/line_nav_simple_form.py: - test/keystrokes/firefox/line_nav_nested_tables.py: - test/keystrokes/firefox/line_nav_wiki.py: - test/keystrokes/firefox/line_nav_enter_bug.py: - test/html/nested-tables.html: - test/html/enter-bug-form.html: - test/html/cthulhu-wiki.html: - I'm writing a series of regression tests that are specific to - the "performance enhancements" I'm working on and to a recent - build of Firefox 3 in which whitespace is now added (where it - belongs, but where we weren't expecting it). See bug 505102. - -2007-12-21 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #500016 - Reading web pages by line in Firefox - 3 is slow. - -2007-12-20 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #500016 - Reading web pages by line in Firefox 3 - is slow. - -2007-12-20 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #504742 - Gecko.py should not call - getLineContentsAtOffset() twice unnecessarily. - -2007-12-19 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - Fix for bug #504384 - The Cthulhu Preferences dialog is a bit too - "tall". - -2007-12-18 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #504356 - Unchecking "Enable speech" doesn't grey out - all speech items in the Preferences dialog - -2007-12-17 Rich Burridge - - * src/cthulhu/scripts/gaim.py: - Fix for bug #485522 - Cthulhu should allow the user to specify the - chat messages that get spoken/brailled. - -2007-12-17 Willie Walker - - * configure.in: - README: - Mark as Cthulhu v2.21.5pre. - -2007-12-17 Willie Walker - - * configure.in: - NEWS: - README: - Prep for Cthulhu v2.21.4. - -2007-12-17 Willie Walker - - * src/cthulhu/Gecko.py: - test/keystrokes/firefox/page_summary.py: - Relax exception checking so that whereAmI will fall back to the - _iterativePageSummary method if there are any failures in the - _collectionPageSummary method. Without this, some failures in - collection method signature mismatching would cause page summary - to never work. - -2007-12-17 Joanmarie Diggs - - * src/cthulhu/mag.py: - src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #503965 - Cthulhu should provide support for the - pointer following focus and the zoomer. - -2007-12-16 Joanmarie Diggs - - * src/cthulhu/mag.py: - Tweak to the fix for bug #464705 - Provide option to keep caret - in center of magnifier region of interest. We need to wait - until the user's settings have been loaded before assigning - settings.* values in mag.py. My bad. - -2007-12-16 Joanmarie Diggs - - * src/cthulhu/mag.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu_state.py: - Fix for bug #501414 - Cthulhu should have (unbound) keybindings - for quickly changing magnification settings. - -2007-12-15 Joanmarie Diggs - - * src/cthulhu/mag.py: - More work on bug #463881 - Evaluate other gnome-mag features - for inclusion in Cthulhu prefs. Minimize the "jumpiness" when - "live updating" magnification levels. - -2007-12-15 Scott Haeger - - * src/cthulhu/Gecko.py: - Fixed Bug #451988, Firefox: navigation by landmark. - -2007-12-14 Rich Burridge - - * src/cthulhu/braillegenerator.py: - Fix for bug #496846 - When tabbing to an editable combobox, text - selection should be displayed in braille. - -2007-12-14 Willie Walker - - * test/keystrokes/gtk-demo/role_combo_box.py: - test/keystrokes/gtk-demo/role_push_button.py: - test/keystrokes/gtk-demo/role_check_box.py: - test/keystrokes/gtk-demo/role_radio_button.py: - test/keystrokes/gtk-demo/role_combo_box2.py: - test/keystrokes/gtk-demo/role_menu.py: - test/keystrokes/gtk-demo/role_spin_button.py: - test/keystrokes/gtk-demo/role_text_multiline.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braillegenerator.py: - Fix for bug 503527 - Mnemonics are not supported well. - -2007-12-14 Joanmarie Diggs - - * src/cthulhu/cthulhu_gui_prefs.py: - More work on bug #463881 - Evaluate other gnome-mag features - for inclusion in Cthulhu prefs. Fix to restore settings if the - user enters and escapes out of the Advanced Settings dialog - multiple times. Thanks Rich! - -2007-12-14 Joanmarie Diggs - - * src/cthulhu/mag.py: - More work on bug #463881 - Evaluate other gnome-mag features - for inclusion in Cthulhu prefs. Minimize the "jumpiness" when - "live updating" magnification levels. - - * src/cthulhu/cthulhu-setup.glade: - Adjusted the zoom factor page increment to be 1 instead of - 10. - -2007-12-14 Joanmarie Diggs - - * src/cthulhu/mag.py: - Fix for bug #503522 - Enabling full screen magnification - fails miserably in Solaris - - * src/cthulhu/cthulhu.py: - More work on bug #463881 - Evaluate other gnome-mag features - for inclusion in Cthulhu prefs. If you were "live updating" - magnification settings, left the preferences dialog up, and - pressed Cthulhu_Modifier+Q, Cthulhu would quit, but gnome-mag would - not. We need to check if we might be live updating when - "cleaning up." - -2007-12-13 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - Adjusted the Cthulhu Preferences magnifier pane so that the Edge - Margin controls are vertically aligned with the Text cursor - controls. - - * src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_gui_prefs.py: - Slight adjustment to bug ##463881 - Evaluate other gnome-mag - features for inclusion in Cthulhu prefs. - Pressing the Escape key in the Advanced Settings dialog will - now hide it. - - * src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu_gui_prefs.py: - src/cthulhu/cthulhu_state.py: - Fix breakage to CTHULHU_MODIFIER-Control-Space to bring up the - application specific Cthulhu preferences dialog. - -2007-12-12 Willie Walker - - * test/keystrokes/gtk-demo/role_alert.py: - test/keystrokes/gtk-demo/role_combo_box.py: - test/keystrokes/gtk-demo/role_push_button.py: - test/keystrokes/gtk-demo/role_toggle_button.py: - test/keystrokes/gtk-demo/role_label.py: - test/keystrokes/gtk-demo/learn_mode.py: - test/keystrokes/gtk-demo/debug_commands.py: - test/keystrokes/gtk-demo/role_table.py: - test/keystrokes/gtk-demo/role_dialog.py: - test/keystrokes/gtk-demo/role_page_tab.py: - test/keystrokes/gtk-demo/role_toolbar.py: - test/keystrokes/gtk-demo/role_tree_table.py: - Fix regressions introduced by various bug fixes. - NOTE: many of these (but not all) are due to empty - strings being sent to speech. We'll fix those later. - -2007-12-13 Joanmarie Diggs - - * src/cthulhu/cthulhu-setup.glade: - Converted the glade file back to version 2. (Sorry Rich!) - -2007-12-13 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - Slight adjustments to the magnifier pane in the Cthulhu Preferences - dialog. - 1/ Minmum value for the cursor sizes now 24. - 2/ The scale factor, border size, top, bottom, left, and right - spin buttons all now numeric only. - -2007-12-13 Joanmarie Diggs - - * src/cthulhu/settings.py: - src/cthulhu/mag.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/cthulhu_state.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #463881 - Evaluate other gnome-mag features for - inclusion in Cthulhu prefs. - - Note: In order to take advantage of the color filtering - options in the Advanced Settings dialog, you will need to - install libcolorblind and then build gnome-mag. - - Thanks Rich for doing the UI and preferences changes!! - -2007-12-12 Willie Walker - - * run_pylint.sh.in: - Set/use PYTHONPATH to handle installs that go somewhere else - besides --prefix=/usr. - -2007-12-11 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #473009 - Cannot arrow to the end of an HTML entry - if Cthulhu is controlling the caret. - -2007-12-11 Scott Haeger - - * src/cthulhu/liveregions.py: - Additional work for Bug #466251, Support ARIA live regions in - Firefox/Gecko. Added test for LIVE_OFF in handleEvent(). - -2007-12-07 Eitan Isaacson - - * src/cthulhu/Gecko.py: - * src/cthulhu/default.py: - * src/cthulhu/focus_tracking_presenter.py: - * src/cthulhu/scripts/Evolution.py: - * src/cthulhu/scripts/StarOffice.py: - * src/cthulhu/scripts/acroread.py: - * src/cthulhu/scripts/gedit.py: - * src/cthulhu/scripts/gnome-panel.py: - * src/cthulhu/scripts/gnome-search-tool.py: - * src/cthulhu/scripts/metacity.py: - * src/cthulhu/settings.py: - Selectively register for events, specifically state-changed - events. This speeds up Cthulhu since event listening is heavier - because of ref/unrefs (bug #491756). - -2007-12-07 Rich Burridge - - * src/cthulhu/settings.py: - src/cthulhu/mag.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #464705 - Provide option to keep caret in center of - magnifier region of interest. - -2007-12-07 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #501447 - Cthulhu sometimes fails to speak our - location when entering FF3 entries. - -2007-12-06 Scott Haeger - - * src/cthulhu/bookmarks.py: - src/cthulhu/Gecko.py: - src/cthulhu/liveregions.py: - src/cthulhu/Makefile.am: - docs/pydoc/Makefile.am: - po/POTFILES.in: - Bug #466251, Support ARIA live regions in Firefox/Gecko. - -2007-12-06 Rich Burridge - - * src/cthulhu/settings.py: - src/cthulhu/mag.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #452316 - should have a "fullscreen" checkbox. - -2007-12-05 Willie Walker - - * run_pylint.sh.in (added): - run_pylint.sh (deleted): - configure.in: - - Add run_pylint.sh.in, which will turn into run_pylint.sh when - you run configure.in. This will pay attention to the --prefix - you use (or don't use) so you're more likely to pylint the - correct files. By default, it will pylint just the files you've - added or modified in your svn sandbox. If you pass filenames to - it, however, it will pylint them. It only expects Cthulhu Python - modules, however, and only wants filenames of the form "foo.py" - or "src/cthulhu/foo.py". In addition, it converts these filenames - into paths that point to the installation directory. If this - doesn't make sense, well, look at script. :-) - -2007-12-05 Joanmarie Diggs - - * src/cthulhu/where_am_I.py: - test/keystrokes/gtk-demo/role_toolbar.py: - Fix for bug #486970 - Where Am I should let you know you are in - a toolbar. - -2007-12-05 Rich Burridge - - * keystrokes/gtk-demo/role_label.py: - Updated the gtk-demo test cases specific to bug #486912. - -2007-12-04 Rich Burridge - - * src/cthulhu/braillegenerator.py: - Fix for bug #486912 - Labels do not support accessible text very - well. - - * run_pylint.sh: (new) - Added script to run pylint on the Cthulhu source code. - - * src/cthulhu/default.py: - src/cthulhu/speechdispatcherfactory.py: - src/cthulhu/flat_review.py: - src/cthulhu/Gecko.py: - src/cthulhu/cthulhu.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braille.py: - src/cthulhu/scripts/gcalctool.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/scripts/Evolution.py: - pylintrc: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Pylint now gives us a 10.00/10 for default.py, flat_review.py - speechdispatcherfactory.py, Evolution.py and Gecko.py. - -2007-12-03 Willie Walker - - * configure.in: - README: - Mark as Cthulhu 2.21.4pre - -2007-12-03 Willie Walker - - * ChangeLog: - configure.in: - NEWS: - RELEASE-HOWTO: - Prep for Cthulhu v2.21.3. - -2007-12-03 Scott Haeger - - * src/cthulhu/scripts/gnome-mud.py: - src/cthulhu/scripts/gaim.py: - src/cthulhu/default.py: - Fix for bug #500193 - Update keybindings for reviewing previous - messages. The keybindings have been moved from the number keys - to the F1-F9 keys. Bookmarks are still on the number keys. - - NOTE: this effects the Cthulhu learn mode key. Instead of Cthulhu+F1, - it is now Cthulhu+h. - - NOTE: this effects the review of previous messages in gaim and - gnome-mud. Instead of Cthulhu+{1,2,3,...} to read the last nth - message, you now use Cthulhu+{F1,F2,F3,...}. - - NOTE: this also effects the debugging tools. The new bindings - are Cthulhu+Ctrl+Alt+{the following}, where {the_following} is one - of: - - reportScriptInfoHandler - End - printActiveAppHandler - Home - printAncestryHandler - Page_Up (think "look upward in hierarchy") - printHierarchyHandler - Page_Down (think "look down from the top") - -2007-12-03 Scott Haeger - - * src/cthulhu/Gecko.py: - Added sanity check in code done for Bug #462883 - ARIA - tooltips/alerts are not being output. - -2007-12-02 Joanmarie Diggs - - * test/keystrokes/gtk-demo/role_text_multiline.py: - More work on bug #486976 - Basic Where Am I in multiline text - area should only present info for current line. (Updated the - test assertions) - -2007-12-02 Willie Walker - - * test/keystrokes/gtk-demo/role_dialog.py: - test/keystrokes/gtk-demo/role_toolbar.py: - test/keystrokes/gtk-demo/role_tree_table.py: - Work on gtk-demo regression tests, getting them back to no - unexpected failures. - -2007-12-02 Joanmarie Diggs - - * src/cthulhu/where_am_I.py: - Fix for bug #486909 - Where Am I should say "n of m items selected" - and "on item x of y" in layered pane. - -2007-12-02 Joanmarie Diggs - - * src/cthulhu/where_am_I.py: - test/keystrokes/gtk-demo/role_check_box.py: - test/keystrokes/gtk-demo/role_tree_table.py: - Fix for bug #486899 - Where Am I doesn't present checkbox state - in tables. - -2007-12-02 Willie Walker - - * pylintrc: - Add Q_ to "good-names" so we don't have to muck with the regex - of method names. - - * src/cthulhu/default.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - I have no clue why pylint is confused about E1103, so I disabled - it for now. default.py still needs more work, though. - - * src/cthulhu/Gecko.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - I have no clue why pylint is confused about E1103, so I disabled - it for now. With this, we get a 10.00/10 for Gecko.py. - - * src/cthulhu/focus_tracking_presenter.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - focus_tracking_presenter.py is now 10.00/10. - - * src/cthulhu/gnomespeechfactory.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Used "# pylint disable-msg" comment to work around issues with - self._this() and _narrow. Use cthulhu.abort instead of os._exit(). - Used unicode operations instead of string module constants. - Renamed variables so they wouldn't conflict with built in types. - This gives us a 10.00/10 for gnomespeechfactory.py. - - * src/cthulhu/cthulhu.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Turned all calls to os._exit into calls to the cthulhu.abort - method. Added a "# pylint disable-msg" comment to the abort - method. This gives us a 10.00/10 for cthulhu.py. - - * src/cthulhu/brlmon.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Used the magic "# pylint: disable-msg=E1101" comment in the code - to tell pylint we know what we're doing. By putting it in the - method, the disable-msg is directive is only active for the method. - If it is put at the top of the file, however, it will be active - for the whole file. See also this URL: - http://www.iaeste.or.at/doc/python2.3-pylint/html/FAQ.html - Oh yeah, with this commit, brlmon.py is now 10.00/10. :-) - -2007-12-02 Joanmarie Diggs - - * src/cthulhu/where_am_I.py: - test/keystrokes/gtk-demo/role_toggle_button.py: - Fix for bug #486971 - Where Am I doesn't present toggle button - state. - -2007-12-02 Joanmarie Diggs - - * src/cthulhu/where_am_I.py: - Fix for bug #486976 - Basic Where Am I in multiline text areas - should only present info for current line. - -2007-12-02 Willie Walker - - Work on gtk-demo regression tests, getting them back to no - unexpected failures. - - * test/keystrokes/gtk-demo/role_dialog.py: - test/keystrokes/gtk-demo/role_page_tab.py: - test/keystrokes/gtk-demo/role_push_button.py: - test/keystrokes/gtk-demo/role_table.py: - test/keystrokes/gtk-demo/role_toggle_button.py: - Fix test assertion to accommodate new correct behavior where - the application name is part of the context. I suspect this - might have been the result of something in pyatspi doing the - right thing. - - * test/keystrokes/gtk-demo/role_alert.py: - Fix test assertion as a result of new correct behavior from - what was probably the fix for bug #486901 - When tabbing - to a text area for a spinbox or editable combobox, text - selection should be presented. - -2007-11-30 Joanmarie Diggs - - * src/cthulhu/where_am_I.py: - Fix for bug #487189 - Where Am I should present accessible - description if it exists. - -2007-11-30 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - -2007-11-30 Rich Burridge - - * pylintrc: - src/cthulhu/Gecko.py: - src/cthulhu/cthulhu.py: - src/cthulhu/flat_review.py: - src/cthulhu/debug.py: - src/cthulhu/speechserver.py: - src/cthulhu/speechdispatcher.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/scripts/acroread.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/scripts/nautilus.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu_gui_find.py: - src/cthulhu/cthulhu_gui_prefs.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Pylint now gives us a 10.00/10 for cthulhu_i18n.py, acroread.py, - nautilus.py, focus_tracking_presenter.py, speechserver.py, - flat_review.py, debug.py, espeechfactory.py and StarOffice.py - -2007-11-29 Willie Walker - - * src/cthulhu/scripts/gaim.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Change the form of the following: - - sg = speechgenerator.SpeechGenerator - utterances = sg._getSpeechForTableCell(self, obj, already_focused) - - to the following: - - utterances = speechgenerator.SpeechGenerator._getSpeechForTableCell( \ - self, obj, already_focused) - - This prevents pylint from issuing E1101 "Access to a protected - member" errors for this particular kind of code. - -2007-11-30 Scott Haeger - - * src/cthulhu/default.py: - src/cthulhu/Gecko.py: - Bug #462883, ARIA tooltips/alerts are not being output. - -2007-11-30 Joanmarie Diggs - - * src/cthulhu/scripts/gaim.py: - Fix for bug #407647 - Indicate the tree level, expanded state, - and child nodes in the Pidgin buddy list. - -2007-11-29 Scott Haeger - * src/cthulhu/settings.py: - src/cthulhu/flat_review.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/Gecko.py: - src/cthulhu/where_am_I.py: - src/cthulhu/braillegenerator.py: - Bug #468551, Support ARIA checkboxTriState - -2007-11-29 Willie Walker - - * src/cthulhu/httpserver.py: - src/cthulhu/where_am_I.py: - src/cthulhu/scripts/gnome-mud.py: - src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/gaim.py: - src/cthulhu/scripts/liferea.py: - src/cthulhu/J2SE-access-bridge.py: - src/cthulhu/presentation_manager.py: - src/cthulhu/outloud.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Pylint now gives us a 10.00/10 for these files. - -2007-11-29 Willie Walker - - * pylintrc: - - Adjust module-rgx to not moan about some of our module names - (e.g., ones that are based upon the application name we get - from AT-SPI). - - Also add E0611 (No name in module) to the list of things to ignore. - Pylint was giving us too many false positives on this for our - scripts with things of the form "import cthulhu.x as x". - -2007-11-29 Rich Burridge - - * src/cthulhu/cthulhu.py: - src/cthulhu/debug.py: - src/cthulhu/speechserver.py: - src/cthulhu/default.py: - src/cthulhu/flat_review.py: - src/cthulhu/speechdispatchfactory.py: - src/cthulhu/presentation_manager.py: - src/cthulhu/eventsynthesizer.py: - src/cthulhu/espeechfactory.py: - src/cthulhu/Gecko.py: - src/cthulhu/cthulhu.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu_quit.py: - src/cthulhu/cthulhu_gui_prefs.py: - src/cthulhu/cthulhu_gui_find.py: - src/cthulhu/cthulhu_gui_main.py: - src/cthulhu_glade.py: - src/cthulhu/input_event.py: - src/cthulhu/keybindings.py: - src/cthulhu/speech.py: - src/cthulhu/punctuation_settings.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/scripts/gnome-terminal.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Pylint now gives us a 10.00/10 for app_gui_prefs.py, speech.py, - eventsynthesizer.py, focus_tracking_presenter.py, cthulhu_gui_prefs.py, - cthulhu_gui_find.py, cthulhu_quit.py, cthulhu_gui_main.py, - presentation_manager.py, punctuation_settings.py, cthulhu_glade.py, - input_event.py and keybindings.py. - -2007-11-29 Willie Walker - - * src/cthulhu/cthulhu_console_prefs.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/app_prefs.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Pylint now gives us a 10.00/10 for the files above. - -2007-11-29 Willie Walker - - * src/cthulhu/cthulhu/py: - Fix locusOfFocusHistory typo that was causing cthulhu to fail. - -2007-11-29 Willie Walker - - * pylintrc: - Disabled W0612 (Unused variable) warning since eliminating them - seems like it requires us to make the code look uglier. - - * src/cthulhu/braille.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Pylint now gives us a 10.00/10 for braille.py. - -2007-11-28 Willie Walker - - * src/cthulhu/chnames.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Added "# -*- coding: utf-8 -*-" to the top. - Pylint now gives us a 10.00/10 for chnames.py. - -2007-11-28 Rich Burridge - - * pylintrc: - Disabled several other pylint message types so we can concentrate - on the real problems. - - * src/cthulhu/dectalk.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Pylint now gives us a 10.00/10 for dectalk.py. - -2007-11-28 Eitan Isaacson - - * src/cthulhu/settings.py: - * src/cthulhu/cthulhu.py: - * src/cthulhu/cthulhu_state.py: - Added a ring buffer to keep references to accessibles and thus - lengthen the lifetime of cached attributes (bug #491756). - * src/cthulhu/focus_tracking_presenter.py: - Use event.host_application whenever possible, minimize on - getApplication() calls (bug #491756). - -2007-11-27 Willie Walker - - * src/cthulhu/acss.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Pylint now gives us a 10.00/10 for acss.py. - -2007-11-27 Willie Walker - - * src/cthulhu/settings.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Pylint now gives us a 10.00/10 for settings.py. - -2007-11-27 Scott Haeger - - * src/cthulhu/Gecko.py: - Fix for bug #469718, Gecko.inDocumentContent() needs to account - for 'embedded component' - -2007-11-18 Willie Walker - - * test/harness/runone.sh: - test/keystrokes/ooimpress/bug_462239.params: - test/keystrokes/ooimpress/bug_465449.params: - test/keystrokes/java/role_check_menu_item.params: - test/keystrokes/java/role_check_box.params: - test/keystrokes/java/role_table.params: - test/keystrokes/java/role_radio_button.params: - test/keystrokes/java/role_dialog.params: - test/keystrokes/java/role_tree.params: - test/keystrokes/java/role_radio_menu_item.params: - test/keystrokes/java/role_page_tab.params: - test/keystrokes/java/role_menu.params: - test/keystrokes/java/role_accel_label.params: - test/keystrokes/java/role_combo_box.params: - test/keystrokes/java/role_push_button.params: - test/keystrokes/gedit/say-all.params: - test/keystrokes/gedit/say-all-cursor-pos.params: - test/keystrokes/swriter/say-all.params: - test/keystrokes/oocalc/bug_363801.params: - test/keystrokes/oocalc/bug_363802.params: - test/keystrokes/oocalc/bug_435307.params: - test/keystrokes/oocalc/bug_356334.params: - test/keystrokes/oocalc/bug_361167.params: - test/keystrokes/oocalc/bug_363804.params: - test/keystrokes/oocalc/bug_433398.params: - test/keystrokes/oobase/bug_465109.params: - test/keystrokes/oowriter/bug_435226.params: - test/keystrokes/oowriter/bug_382415.params: - test/keystrokes/oowriter/bug_435201.params: - test/keystrokes/oowriter/bug_361624.params: - test/keystrokes/oowriter/bug_382408.params: - test/keystrokes/oowriter/bug_382880.params: - test/keystrokes/oowriter/bug_382888.params: - test/keystrokes/soffice/say-all.params: - Modify params files to define a PARAMS environment - variable. Also modify runone.sh to use the PARAMS - environment variable accordingly and to also provide - some helper environment variables for use in the - *.params files: TEST_DIR is the directory holding the - *.py macaroon script and JDK_DEMO_DIR is the directory - holding the demos that come with the Java development - kit. This change should hopefully allow the tests to - be run from any directory. - -2007-11-16 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #435201 - Cthulhu is too chatty when navigating by - paragraph in OOo Writer. - -2007-11-15 Eitan Isaacson - - * src/cthulhu/cthulhu.py: - Make a full range of 255 masks for registerKeystrokeListener. - -2007-11-14 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #489804 - Problem running test for bug #363801 - - clearing row/column dynamic headers in oocalc. - - * src/cthulhu/cthulhu_gui_prefs.py: - Fix the bug in comment #36 of bug #472665 - Speech Pane - combo boxes mis-populating in Cthulhu Preferences dialog. - - * src/cthulhu/speechgenerator.py: - Fix the bug in comment #21 of bug #486901 - When tabbing - to a text area for a spinbox or editable combobox, text - selection should be presented. - -2007-11-13 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu_state.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix bug #472665 – Speech Pane combo boxes mis-populating in - Cthulhu Preferences dialog. - - * src/cthulhu/speechgenerator.py: - Partial fix for bug #486901 - When tabbing to a text area for - a spinbox or editable combobox, text selection should be presented. - -2007-11-12 Willie Walker - - * configure.in: - README: - Mark as Cthulhu 2.21.3pre - -2007-11-12 Willie Walker - - * ChangeLog: - configure.in: - NEWS: - Final prep for Cthulhu v2.21.2. - -2007-11-12 Joanmarie Diggs - - * src/cthulhu/default.py: - src/cthulhu/Gecko.py: - Fix for bug #469083 - Refactor Gecko.py's getContainingRole() to - take a list. - -2007-11-11 Willie Walker - - * README: - NEWS: - Initial prep for Cthulhu v2.21.2. Will wait until tomorrow - to do the release since I think another bug or two will - be fixed by then. - -2007-11-11 Joanmarie Diggs - - * test/keystrokes/gtk-demo/role_status_bar.py: - src/cthulhu/where_am_I.py: - Fix for bug #486969 - Status bar not being read with Where Am I - -2007-11-11 Joanmarie Diggs - - * src/cthulhu/scripts/StarOffice.py: - One more "fix" for bug #487226 - "/" and the CthulhuKey should not - be hardcoded in default.py:whereAmI. - -2007-11-11 Joanmarie Diggs - - * src/cthulhu/default.py: - src/cthulhu/Gecko.py: - src/cthulhu/where_am_I.py: - Fix for bug #487226 - "/" and the CthulhuKey should not be hardcoded - in default.py:whereAmI. - -2007-11-09 Rich Burridge - - * src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/nautilus.py: - src/cthulhu/scripts/liferea.py: - src/cthulhu/scripts/gnome-search-tool.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/scripts/StarOffice.py: - Fix for bug #494651 - Cthulhu's OBJECT EVENT debug routine not - outputting all information for "object:selection-changed" - menu bar event. - - * test/keystrokes/oocalc/bug_364407.py: - test/keystrokes/oowriter/bug_353268.py: - Slight adjustments to the TypeAction commands to allow a - one second interval between each character. See comment #13 of - bug #489883 for more details. - -2007-11-08 Willie Walker - - * test/harness/runone.sh: - test/harness/runall.sh: - test/harness/utils.py: - test/harness/user-settings.py.in: - test/harness/cthulhu-customizations.py.in: - test/keystrokes/oocalc/bug_363804.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #489913 - Changing preferences from a test causes - tracebacks and spontaneous speech. - -2007-11-08 Eitan Isaacson - - * src/cthulhu/cthulhu.py: - Added pyatspi.setCacheLevel() if settings.cacheValues is True. - -2007-11-08 Willie Walker - - * test/keystrokes/gtk-demo/role_window.py: - test/keystrokes/gtk-demo/role_push_button.py: - test/keystrokes/gtk-demo/role_toggle_button.py: - test/keystrokes/gtk-demo/role_table.py: - test/keystrokes/gtk-demo/role_radio_button.py: - test/keystrokes/gtk-demo/role_combo_box2.py: - test/keystrokes/gtk-demo/role_dialog.py: - test/keystrokes/gtk-demo/role_toolbar.py: - test/keystrokes/gtk-demo/role_tree_table.py: - More fixes for bug #486918 - Page tab role should be presented - in braille. The fix had an impact on these tests as well. - -2007-11-08 Scott Haeger - - * src/cthulhu/Gecko.py: - Fix for bug #490266, Endless loop in navigating ARIA trees. - -2007-11-06 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on the fix for bug #481488 - Implement increased - support for user-customized keybindings. - -2007-11-06 Rich Burridge - - * src/cthulhu/braillegenerator.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - Need to add/remove "import math" because of a recent refactor. - - * src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #487514 - Keys for navigation purposes should not be - echoed. - -2007-11-06 Joanmarie Diggs - - * src/cthulhu/cthulhu_prefs.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu.py: - src/cthulhu/default.py: - src/cthulhu/keybindings.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #481488 - Implement increased support for user- - customized keybindings - -2007-11-06 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration typo caught by pyflakes. - -2007-11-06 Scott Haeger - - * src/cthulhu/Gecko.py: - Bug #490568, Implement Firefox page summary using Collections. - -2007-11-05 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - From Eitan Isaacson - Fix for 489490 - Test for OOo Writer bug #413909 not producing - the correct output. - Fix for 491885 - Cthulhu "goes funky" when opening this oocalc - spreadsheet. - Insert-F8 for outputing the component hierarchy is also much faster. - - * src/cthulhu/speechgenerator.py: - Fix for bug #486972 - Expanding/collapsing tree nodes in a table - should not speak nodename again. - -2007-11-05 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #485903 - Cthulhu doesn't read message list in gmail - -2007-11-05 Rich Burridge - - * test/keystrokes/oowriter/bug_361747.py: - test/keystrokes/oowriter/bug_362979.py: - Fix for bug #489875 - Some Cthulhu macaroon oowriter and oocalc - tests have timeout problems. - -2007-11-02 Rich Burridge - - * src/cthulhu/cthulhu.py: - Fix for bug #487585 - Cthulhu Usage message should be localized. - -2007-11-02 David Csercsics - - * src/cthulhu/cthulhu.in: - Fix for bug #491417 - Cthulhu script should inherit PATH and - PYTHONPATH from environment. (Thanks David!!!) - -2007-10-30 Rich Burridge - - * test/keystrokes/gtk-demo/role_spin_button.py: - Removed several "BUG?" lines from test as bug #486919 - - "ColorChooser repeated twice in braille", is not a bug. - - * test/keystrokes/oocalc/bug_363804.py: - Fix for bug #489928 - Cthulhu oocalc macaroon test for bug #363804 - doesn't completely restore initial state. - - * src/cthulhu/speechgenerator.py: - src/cthulhu/default.py: - src/cthulhu/Gecko.py: - src/cthulhu/braillegenerator.py: - Fix for bug #486926 - Changes to splitpane value not being spoken. - -2007-10-29 Eitan Isaacson - - * src/cthulhu/cthulhu.py: - Fixed event name "object:children-changed" - -2007-10-29 Rich Burridge - - * src/cthulhu/braillegenerator.py: - test/keystrokes/gtk-demo/role_page_tab.py: - Fix for bug #486918 - Page tab role should be presented in braille. - -2007-10-28 Willie Walker - - * configure.in: - README: - Mark as Cthulhu 2.21.2pre - -2007-10-28 Willie Walker - - * configure.in: - docs/pydoc/Makefile.am: - README: - NEWS: - Prep for Cthulhu v2.21.1. - -2007-10-28 Willie Walker - - * test/harness/runone.sh: - test/harness/runall.sh: - test/harness/utils.py: - Be a little less verbose in output. - - * test/keystrokes/gtk-demo/role_window.py: - test/keystrokes/gtk-demo/role_status_bar.py: - test/keystrokes/gtk-demo/role_alert.py: - test/keystrokes/gtk-demo/role_combo_box.py: - test/keystrokes/gtk-demo/role_push_button.py: - test/keystrokes/gtk-demo/role_toggle_button.py: - test/keystrokes/gtk-demo/role_check_menu_item.py: - test/keystrokes/gtk-demo/role_label.py: - test/keystrokes/gtk-demo/role_check_box.py: - test/keystrokes/gtk-demo/role_tear_off_menu_item.py: - test/keystrokes/gtk-demo/role_table.py: - test/keystrokes/gtk-demo/role_icon.py: - test/keystrokes/gtk-demo/role_radio_button.py: - test/keystrokes/gtk-demo/role_combo_box2.py: - test/keystrokes/gtk-demo/role_tooltip.py: - test/keystrokes/gtk-demo/role_split_pane.py: - test/keystrokes/gtk-demo/role_dialog.py: - test/keystrokes/gtk-demo/role_radio_menu_item.py: - test/keystrokes/gtk-demo/role_page_tab.py: - test/keystrokes/gtk-demo/role_toolbar.py: - test/keystrokes/gtk-demo/role_spin_button.py: - test/keystrokes/gtk-demo/role_menu.py: - test/keystrokes/gtk-demo/role_column_header.py: - test/keystrokes/gtk-demo/role_accel_label.py: - test/keystrokes/gtk-demo/role_text_multiline.py: - test/keystrokes/gtk-demo/role_tree_table.py: - Add utils.AssertionSummaryAction() calls to end of test. - -2007-10-26 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #489490 - Test for OOo Writer bug #413909 not - producing the correct output (fix from Eitan - thanks). - -2007-10-26 Eitan Isaacson - - * src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/cthulhu.py: - Got rid of _non_existent() calls, they were a bad idea. - Put try/except handlers instead. - -2007-10-26 Scott Haeger - - * test/keystrokes/firefox/uiuc_button.py: - test/keystrokes/firefox/uiuc_radiobutton.py: - removed uiuc_button.py due to obsolete example. Updated - uiuc_radiobutton.py. - -2007-10-26 Scott Haeger - - * src/cthulhu/flat_review.py: - Fix for bug #490623, work around for flat_review __cmp__ issue for - OpenOffice. - -2007-10-26 Willie Walker - - * src/cthulhu/default.py: src/cthulhu/debug.py: - Fix for bug #489986 - printAncestry() and printHierarchy() - don't provide all the useful information that they used to. - Renamed debug._accToString to getAccessibleDetails and - used it in the two given methods. - -2007-10-26 Willie Walker - - * test/keystrokes/gnome-appearance-properties/font-preferences.py: - New test script based upon work from Tim Miao (Thanks Tim!) - -2007-10-26 Joanmarie Diggs - - * src/cthulhu/scripts/Evolution.py: - pyatspi migration: removed two instances of .accessible in - textlines(). - -2007-10-25 Joanmarie Diggs - - * src/cthulhu/default.py: - moved a queryTable() into a try/except in getChildNodes(). - -2007-10-25 Willie Walker - - * test/harness/runall.sh: - test/harness/bin/progressbar: - test/keystrokes/progressbar/progress_updates.py: - Add test for GTK+ progress bars. - -2007-10-25 Eitan Isaacson - - * src/cthulhu/focus_tracking_presenter.py: - Removed unwrapping of accessible in _restoreAppStates. - - * src/cthulhu/scripts/notification-daemon.py: - Ported to pyatspi. - -2007-10-25 Willie Walker - - * test/keystrokes/gtk-demo/learn_mode.py: - test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - test/keystrokes/gtk-demo/debug_commands.py: - Increase overall test coverage. - -2007-10-25 Joanmarie Diggs - - * src/cthulhu/default.py: - Moved null check in isDesiredFocusItem() to the top of the - loop. - -2007-10-25 Eitan Isaacson - - * test/harness/utils.py: - Fixed another issue with disabling asserts. - -2007-10-25 Willie Walker - - * src/cthulhu/default.py: - Add comment to onTextDeleted regarding async vs. sync mode - behavior that we really cannot avoid. - - * test/harness/utils.py: - Add AssertionSummaryAction to provide us with a summary of - assertion results at the end of test. - - * test/keystrokes/gtk-demo/role_text_multiline_navigation.py: - New test for navigating text via caret navigation and flat - review. - -2007-10-25 Scott Haeger - - * src/cthulhu/default.py: - pyatspi migration related, changed getValue() to queryValue() in - default.handleProgressBarUpdate(). - -2007-10-25 Joanmarie Diggs - - * src/cthulhu/where_am_I.py: - Fix for bug #489797 - _speakListItem defined twice in - where_am_i.py - -2007-10-24 Willie Walker - - * src/cthulhu/scripts/gnome-mud.py: - pyatspi migration. - -2007-10-24 Eitan Isaacson - - * src/cthulhu/speechgenerator.py - Check menu items now get spoken as items and not as boxes. - - * src/cthulhu/default.py: - In isDesiredFocusedItem() allow the list of roles to be a hybrid - of role names and role enums. - * src/cthulhu/rolenames.py: - In the different getSpeech/getBraille look for a string role as - a fallback. - * src/cthulhu/scripts/Evolution.py: - On Evolution specific roles use getRoleName() - -2007-10-24 Scott Haeger - - * src/cthulhu/flat_review.py: - pyatspi migration related, wrapped queryAction() in try/except. - -2007-10-24 Willie Walker - - * test/harness/quit.py: - Eliminate deprecation warnings. - -2007-10-24 Willie Walker - - * src/cthulhu/cthulhu.py: - src/cthulhu/default.py: - Fix for bug #489801 - Remove record keystrokes option. - It's been obsolete by macaroon. - This also accidentally included a fix for bug #489781 - - Ctrl+D in terminal to delete text doesn't echo character. - -2007-10-23 Eitan Isaacson - - * test/harness/utils.py: - Fixed boolean evaluation of HARNESS_ASSERT - -2007-10-23 Joanmarie Diggs - - * src/cthulhu/braille.py: - Fix for bug #489604 - Enabling the attribute indicator but - disabling all attributes results in traceback. - -2007-10-23 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - pyatspi migration related; fixed a traceback in getTableRow(). - -2007-10-23 Joanmarie Diggs - - * src/cthulhu/braillegenerator.py: - pyatspi migration related, fixed a traceback resulting from a - variable name change in _getBrailleRegionsForTableCell(). - -2007-10-23 Eitan Isaacson - - * test/harness/runall.sh: - test/harness/utils.py: - Add environment variable HARNESS_ASSERT. When set to zero, don't - waste time on assertions. HARNESS_ASSERT is zero in profile and - coverage mode. - -2007-10-23 Scott Haeger - - * src/cthulhu/scripts/gnome-mud.py: - pyatspi migration related, fixed split string at line 116 in - gnome-mud.py. - -2007-10-23 Scott Haeger - - * src/cthulhu/braillegenerator.py: - pyatspi migration related, added additional exception handling - (AttributeError) to braillegenerator.getBrailleContext(). - -2007-10-23 Scott Haeger - - * src/cthulhu/Gecko.py: - pyatspi migration related, fixed bug #489405, Address _acc issue - in Gecko. - -2007-10-22 Eitan Isaacson - - * src/tools/*: - remove since these have been obsoleted due to our migration - to Macaroon and pyatspi. - -2007-10-22 Willie Walker - - * src/cthulhu/Gecko.py: - src/cthulhu/J2SE-access-bridge.py: - src/cthulhu/Makefile.am: - src/cthulhu/atspi.py: - src/cthulhu/braillegenerator.py: - src/cthulhu/debug.py: - src/cthulhu/default.py: - src/cthulhu/eventsynthesizer.py: - src/cthulhu/flat_review.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/cthulhu.py: - src/cthulhu/rolenames.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/scripts/Thunderbird.py: - src/cthulhu/scripts/acroread.py: - src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/gnome-mud.py: - src/cthulhu/scripts/gnome-search-tool.py: - src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/scripts/liferea.py: - src/cthulhu/scripts/nautilus.py: - src/cthulhu/speechgenerator.py - src/cthulhu/where_am_I.py: - Finally taking out all usage of atspi.py. Removed atspi.py. - -2007-10-22 Scott Haeger - - * src/cthulhu/bookmarks.py: - pylint motivated fix in bookmarks.py. Change _reviewCurrentItem() to - reviewCurrentItem(). - -2007-10-22 Willie Walker - - * src/cthulhu/default.py: - pyatspi migration - several checkins for this. - -2007-10-22 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: found a couple of obj.attributes. - -2007-10-22 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Work on bug 489028 - Remove annotations of accessible objects - in Gecko.py. - -2007-10-22 Scott Haeger - - * src/cthulhu/Gecko.py: - pyatspi migration: Gecko.bookmarks getRole() change. - -2007-10-22 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: stop using obj.unicodeText. - -2007-10-21 Willie Walker - - * src/cthulhu/default.py: - Fix several messages supplied by pylint. - -2007-10-20 Willie Walker - - * src/cthulhu/cthulhu.py: - src/cthulhu/flat_review.py: - Fix several messages supplied by pylint. Can't let Rich - have all the fun. :-) - -2007-10-20 Willie Walker - - * pylintrc: - Add commented out attempt to set init-hook. I discovered - that if I add --init-hook="import pyatspi" to the command - line, I can avoid all of those annoying warnings such as: - E1101: 4: Module 'pyatspi' has no 'XXX' member - BUT...I cannot figure out how to set this value in the - pylintrc file. I also added W0603 (Using the global - statement) to the list of messages to disable. - -2007-10-19 Eitan Isaacson - - * src/cthulhu/default.py: - more migration! - -2007-10-19 Willie Walker - - * src/cthulhu/braille.py: - pyatspi migration. - -2007-10-19 Eitan Isaacson - - * src/cthulhu/braillegenerator.py: - src/cthulhu/default.py: - src/cthulhu/eventsynthesizer.py: - src/cthulhu/speechgenerator.py: - pyatspi migration - -2007-10-19 Joanmarie Diggs - - * src/cthulhu/braillegenerator.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/Gecko.py: - src/cthulhu/where_am_I.py: - src/cthulhu/scripts/acroread.py: - src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/Thunderbird.py: - src/cthulhu/scripts/gnome-mud.py: - src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/scripts/gnome-system-monitor.py: - src/cthulhu/scripts/StarOffice.py: - pyatspi migration - finding the "little things" we missed. - -2007-10-19 Joanmarie Diggs - - * src/cthulhu/scripts/gedit.py: - pyatspi migration along with fix for bug 488391 -Cthulhu doesn't - announce finds in Gedit if combo box has focus. - -2007-10-19 Willie Walker - - * pylintrc: - Add pylintrc file that matches our naming style and - also eliminates some nuisance warnings (see the - disable-msg=C0111,W0403,W0613,W0702,W0704 line). - -2007-10-19 Willie Walker - - * src/cthulhu/gnomespeech.py: - pyatspi migration. - -2007-10-19 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/J2SE-access-bridge.py: - pyatspi migration. - - * src/cthulhu/scripts/gnome_segv2.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/default.py: - src/cthulhu/braillegenerator.py: - Fixup up various warnings from pychecker. - - * src/cthulhu/eventsynthesizer.py: - src/cthulhu/scripts/gnome_segv2.py: - src/cthulhu/scripts/StarOffice.py: - Fixup various warnings from pyflakes. - -2007-10-19 Joanmarie Diggs - - * src/cthulhu/eventsynthesizer.py: - pyatspi migration. Minor change for flat review clicking. - -2007-10-18 Eitan Isaacson - - * src/cthulhu/braillegenerator.py: - src/cthulhu/default.py: - src/cthulhu/eventsynthesizer.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/where_am_I.py: - pyatspi migration. - -2007-10-18 Joanmarie Diggs - - * src/cthulhu/find.py: - src/cthulhu/Gecko.py: - src/cthulhu/scripts/gedit.py: - pyatspi migration. - -2007-10-18 Joanmarie Diggs - - * src/cthulhu/scripts/gaim.py: - pyatspi migration. - -2007-10-18 Joanmarie Diggs - - * src/cthulhu/find.py: - pyatspi migration. - -2007-10-18 Joanmarie Diggs - - * src/cthulhu/scripts/Thunderbird.py: - pyatspi migration. - -2007-10-18 Scott Haeger - - * src/cthulhu/input_event.py: - pyatspi migration. - -2007-10-18 Eitan Isaacson - - * src/cthulhu/braillegenerator.py: - src/cthulhu/flat_review.py: - src/cthulhu/rolenames.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/where_am_I.py: - Fix for bug #487230 - - get{Speech,ShortBraille,LongBraille,Braille}ForRoleName should - allow role to be overridden. - -2007-10-18 Scott Haeger - - * src/cthulhu/scripts/gcalctool.py: - pyatspi migration. - -2007-10-18 Willie Walker - - * src/cthulhu/mag.py: - pyatspi migration. - -2007-10-18 Rich Burridge - - * src/cthulhu/default.py: - Fix for bug #487960 - [pyatspi] default.py: findActiveWindow - DEPRECATED: warning. - - * src/cthulhu/default.py: - Work on bug #487968 - [pyatspi] Numerous DEPRECATED: ... - Instead of role, use getRole() warnings. - - * src/cthulhu/scripts/StarOffice.py: - src/cthulhu/default.py: - src/cthulhu/braillegenerator.py: - More work on bug #487968 - [pyatspi] Numerous DEPRECATED: ... - Instead of role, use getRole() warnings. - - * src/cthulhu/default.py: - src/cthulhu/J2SE-access-bridge.py: - src/cthulhu/where_am_I.py: - Convert various occurances of .role -> .getRole() - and rolenames. to pyatspi.. - - * src/cthulhu/default.py: - src/cthulhu/scripts/StarOffice.py: - Convert various occurances of .index -> .getIndexInParent() - - * src/cthulhu/default.py: - src/cthulhu/scripts/StarOffice.py: - Convert various occurances of .state -> .getState() - -2007-10-18 Scott Haeger - - * src/cthulhu/scripts/metacity.py: - src/cthulhu/scripts/liferea.py: - pyatspi migration including changes to liferea.py involving - switching ROLE_STATUSBAR to ROLE_STATUS_BAR. - -2007-10-18 Scott Haeger - - * src/cthulhu/keybindings.py: - pyatspi migration. - -2007-10-18 Scott Haeger - - * src/cthulhu/scripts/liferea.py: - src/cthulhu/scripts/gnome-panel.py: - src/cthulhu/scripts/gnome-search-tool.py: - src/cthulhu/scripts/planner.py: - src/cthulhu/scripts/nautilus.py: - pyatspi migration of various application specific scripts - including changes in default.isDesiredFocusedItem() and - default.findByRole() to support the migration. - -2007-10-18 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Removed a few unnecessary "additional" variables that pylint - was complaining about. - -2007-10-17 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: Stop using obj.text. Also added a number of - docstrings to eliminate pylint warnings/errors. - -2007-10-17 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: added queryNonEmptyText(). Also cleaned up - some for loops. - -2007-10-17 Eitan Isaacson - - * src/cthulhu/flat_review.py: - Fixed some interface retrieval issues. - -2007-10-17 Scott Haeger - - * src/cthulhu/flat_review.py: - src/cthulhu/atspi.py: - Additional work for pyatspi migration of flat_review.py including - changes to __cmp__ in atspi.py. - -2007-10-17 Rich Burridge - - * src/cthulhu/flat_review.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/braillegenerator.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - - * src/cthulhu/brlmon.py: - src/cthulhu/scripts/gnome-mud.py: - src/cthulhu/scripts/gaim.py: - src/cthulhu/scripts/acroread.py: - src/cthulhu/mag.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu.py: - src/cthulhu/speechdispatcherfactory.py: - src/cthulhu/Gecko.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - - * src/cthulhu/bookmarks.py: - src/cthulhu/scripts/gnome-mud.py: - src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/planner.py: - src/cthulhu/scripts/gdmlogin.py: - src/cthulhu/scripts/gnome-panel.py: - src/cthulhu/scripts/nautilus.py: - src/cthulhu/scripts/liferea.py: - src/cthulhu/scripts/gcalctool.py: - src/cthulhu/scripts/Thunderbird.py: - src/cthulhu/scripts/gnome-system-monitor.py: - src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/scripts/metacity.py: - src/cthulhu/scripts/gnome-search-tool.py: - src/cthulhu/scripts/gnome-keyring-ask.py: - src/cthulhu/scripts/notification-daemon.py: - src/cthulhu/mag.py: - src/cthulhu/cthulhu_console_prefs.py: - src/cthulhu/flat_review.py: - src/cthulhu/find.py: - src/cthulhu/atspi.py: - src/cthulhu/cthulhu_glade.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu.py: - src/cthulhu/cthulhu_quit.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/Gecko.py: - src/cthulhu/cthulhu_gui_find.py: - src/cthulhu/pronunciation_dict.py: - src/cthulhu/J2SE-access-bridge.py: - src/cthulhu/cthulhu_gui_main.py: - src/cthulhu/braille.py: - src/cthulhu/app_prefs.py: - src/cthulhu/cthulhu_gui_prefs.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - This eliminates all the warnings from pyflakes for the Python - files "owned" by the Cthulhu module. Pyflakes still generates - warnings for gnome-power-manager.py, gnome_segv2.py and ubiquity.py. - - * src/cthulhu/Gecko.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Fixed up the pylint "Line too long" and "Bad indentation" warnings. - - * src/cthulhu/bookmarks.py: - src/cthulhu/atspi.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/J2SE-access-bridge.py: - src/cthulhu/braille.py: - src/cthulhu/app_prefs.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Fixed up more pylint "Line too long" and "Bad indentation" warnings. - - * src/cthulhu/flat_review.py: - src/cthulhu/atspi.py: - src/cthulhu/find.py: - src/cthulhu/default.py: - src/cthulhu/espeechfactory.py: - src/cthulhu/debug.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Fixed up more pylint "Line too long" and "Bad indentation" warnings. - - * src/cthulhu/mag.py: - src/cthulhu/cthulhu_console_prefs.py: - src/cthulhu/cthulhu.py: - src/cthulhu/rolenames.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/input_event.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Fixed up more pylint "Line too long" and "Bad indentation" warnings. - - * src/cthulhu/acss.py: - src/cthulhu/punctuation_settings.py: - src/cthulhu/scripts/gnome-mud.py: - src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/planner.py: - src/cthulhu/scripts/gnome-window-properties.py: - src/cthulhu/scripts/liferea.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/settings.py: - src/cthulhu/dectalk.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/atspi.py: - src/cthulhu/find.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/default.py: - src/cthulhu/Gecko.py: - src/cthulhu/outloud.py: - src/cthulhu/J2SE-access-bridge.py: - src/cthulhu/where_am_I.py: - src/cthulhu/espeechfactory.py: - src/cthulhu/braille.py: - src/cthulhu/cthulhu_gui_prefs.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Fixed up more pylint "Line too long" and "Bad indentation" warnings, - plus numerous "Operator not preceded by a space" warnings. - - * src/cthulhu/braillegenerator.py: - src/cthulhu/speechgenerator.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - Adjustments to use enumerate() to get index into list (thanks - Eitan). - -2007-10-16 Scott Haeger - - * src/cthulhu/flat_review.py: - src/cthulhu/default.py: - Additional work for pyatspi migration including migration of - default.pursueForFlatReview(). - -2007-10-16 Rich Burridge - - * src/cthulhu/Gecko.py: - src/cthulhu/where_am_I.py: - src/cthulhu/app_prefs.py: - src/cthulhu/gnomespeechfactory.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - - * src/cthulhu/scripts/gnome-mud.py: - src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/Gecko.py: - src/cthulhu/speechdispatcherfactory.py: - src/cthulhu/app_prefs.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - -2007-10-16 Scott Haeger - - * src/cthulhu/flat_review.py: - Additional work for pyatspi migration. - -2007-10-16 Scott Haeger - - * src/cthulhu/debug.py: - pyatspi migration, fixed relation string output. - -2007-10-15 Willie Walker - - * test/keystrokes/gtk-demo/role_text_multiline.py - test/keystrokes/gtk-demo/role_tree_table.py: - Finish test assertions for gtk-demo tests. - There are now 155 assertions. Not all of them - succeed due to existing bugs. The fun part now - begins (fixing the bugs), and I'm happy to have - help with this. :-) - -2007-10-15 Willie Walker - - * keystrokes/gtk-demo/role_toggle_button.py - keystrokes/gtk-demo/role_tear_off_menu_item.py - keystrokes/gtk-demo/role_table.py - keystrokes/gtk-demo/role_toolbar.py - keystrokes/gtk-demo/role_menu.py - keystrokes/gtk-demo/role_text_multiline.py: - More work on test assertions. 2 more files to go - under gtk-demos. - -2007-10-15 Willie Walker - - * test/keystrokes/gtk-demo/role_window.py: - More work on test assertions. - -2007-10-15 Willie Walker - - * test/keystrokes/gtk-demo/role_status_bar.py - test/keystrokes/gtk-demo/role_split_pane.py - test/keystrokes/gtk-demo/role_spin_button.py: - More work on test assertions. - -2007-10-15 Willie Walker - - * src/cthulhu/outloud.py: - Work on bug #486726 - Eliminate pychecker warnings/errors. - Make 'kit' and 'child' use the child average pitch instead - of the female average pitch. - -2007-10-15 Scott Haeger - - * src/cthulhu/flat_review.py: - pyatspi migration. - -2007-10-15 Scott Haeger - - * src/cthulhu/debug.py: - pyatspi migration. - -2007-10-15 Rich Burridge - - * src/cthulhu/bookmarks.py: - src/cthulhu/flat_review.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/cthulhu_gui_prefs.py: - Work on bug #486726 - Eliminate pychecker warnings/errors. - - * src/cthulhu/cthulhu_glade.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/cthulhu_quit.py: - src/cthulhu/cthulhu_gui_find.py: - src/cthulhu/cthulhu_gui_main.py: - src/cthulhu/speechdispatcherfactory.py: - src/cthulhu/cthulhu_gui_prefs.py: - More work on bug #486726 - Eliminate pychecker warnings/errors. - -2007-10-15 Scott Haeger - - * src/cthulhu/where_am_I.py: - pyatspi migration: additional review - -2007-10-13 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: use obj.queryComponent().getExtents(0) - instead of obj.extents. - -2007-10-13 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: use obj.queryComponent() instead of - obj.component. More use acc[i] instead of acc.child(i). - -2007-10-13 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: use obj.queryAction() instead of obj.action - and obj.querySelection() instead of obj.selection. - -2007-10-13 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: use obj.queryTable() instead of obj.table - and obj.queryHyperlink() instead of obj.hyperlink. - -2007-10-13 Willie Walker - - * test/keystrokes/gtk-demo/role_push_button.py: - test/keystrokes/gtk-demo/role_radio_button.py: - test/keystrokes/gtk-demo/role_radio_menu_item.py: - test/keystrokes/gtk-demo/role_page_tab.py: - test/keystrokes/gtk-demo/role_menu.py: - More work on test assertions. 102 assertions in 16 files - so far. 10 more files to go for the gtk-demo tests. - -2007-10-13 Willie Walker - - * src/cthulhu/default.py: - Pull helpHandler (Insert+h) support. - - * src/cthulhu/cthulhu-mainwin.glade: - Use padding values instead of string to space help button. - -2007-10-12 Willie Walker - - * harness/utils.py: - keystrokes/gtk-demo/role_combo_box.py: - keystrokes/gtk-demo/role_label.py: - keystrokes/gtk-demo/role_icon.py: - keystrokes/gtk-demo/role_dialog.py: - keystrokes/gtk-demo/role_column_header.py: - More work on assertions. Also try to flag possible bugs in - a way to make them easier to identify. Also make the actual - output something that can be easily cut/pasted into a test - file (helps with creating assertions). - -2007-10-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: use obj.getIndexInParent() instead of - obj.index - -2007-10-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: use obj[i] instead of obj.child(i) - -2007-10-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: use obj.getState() instead of - obj.state. Also use pyatspi.STATE_WHATEVER instead of - atspi.Accessibility.STATE_WHATEVER. - -2007-10-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: use obj.getRelationSet() instead of - obj.relations. use obj.getAttributes() instead of - obj.attributes. - -2007-10-12 Willie Walker - - * test/keystrokes/gtk-demo/role_combo_box.py - test/keystrokes/gtk-demo/role_check_menu_item.py - test/keystrokes/gtk-demo/role_check_box.py - test/keystrokes/gtk-demo/role_combo_box2.py - test/keystrokes/gtk-demo/role_column_header.py: - Add test assertions. Things that are possibly bugs are - flagged in the expected output as BUG?. This guarantees - the assertion fails so we don't overlook these things. - -2007-10-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: converted all role testing. - -2007-10-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - pyatspi migration: use obj.getRelationSet() instead of - obj.relations. use obj.getAttributes() instead of - obj.attributes. - -2007-10-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - Fix for bug #486084 - [pyatspi] Cthulhu doesn't work in Firefox 3. - -2007-10-12 Eitan Isaacson - - * src/cthulhu/atspi.py: - Added a couple of writable attribute names. - * src/cthulhu/focus_tracking_presenter.py: - Wrap application accessibles before we pass them to the scripts. - -2007-10-12 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu-mainwin.glade: - src/cthulhu/cthulhu.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu_gui_main.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #474958 - Cthulhu has no onboard help. - -2007-10-11 Eitan Isaacson - - * src/cthulhu/atspi.py: - src/cthulhu/braille.py: - src/cthulhu/braillegenerator.py: - src/cthulhu/debug.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/input_event.py: - src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu.py: - src/cthulhu/rolenames.py: - src/cthulhu/settings.py: - src/cthulhu/speechgenerator.py: - src/cthulhu/where_am_I.py: - Merged pyatspi branch. - Start picking up the pieces and putting it together! - -2007-10-11 Willie Walker - - * test/keystrokes/gtk-demo/role_tooltip.py: - Added test assertions to GTK+ tooltip test. - -2007-10-11 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - src/cthulhu/where_am_I.py: - Fix for bug #480501 - readPageSummary() prevents access to FF - status bar contents. - -2007-10-11 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - src/cthulhu/cthulhu-mainwin.glade: - src/cthulhu/cthulhu.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu_gui_main.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #474958 - Cthulhu has no onboard help. - -2007-10-11 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - Fix for bug #473699 - Adjust Cthulhu Preferences dialog to - speak/braille three components that are multiply labelled. - -2007-10-11 Willie Walker - - * test/harness/utils.py - test/keystrokes/gtk-demo/role_alert.py - test/keystrokes/gtk-demo/role_accel_label.py - src/cthulhu/httpserver.py - src/cthulhu/speechserver.py - src/cthulhu/speech.py - src/cthulhu/braille.py - src/cthulhu/gnomespeechfactory.py: - Fix for bug #485059 - Test harness should support assertions. - Add assertions to test harness and make the log output match the - speech and braille debug output. All add example assertion usage - to role_alert.py and role_accel_label.py. - -2007-10-11 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - More work on bug #472345 - Cannot arrow out of entries in FF3 - if text is inserted via javascript. - -2007-10-11 Scott Haeger - - * src/cthulhu/Gecko.py: - src/cthulhu/default.py: - Fix for bug #480264 - ARIA sliders not outputting Braille/ - childCount:embed defense. - -2007-10-10 Eitan Isaacson - - * src/cthulhu/default.py: - Removed activeDescendantInfo accessible object annotation (bug #476639). - * test/harness/runall.sh: - Make it easier to run tests from alternative directories. - Specifically in coverage mode. - * test/harness/user-settings.py.in: - Set asynchronous to False. - * test/keystrokes/java/role_check_box.py: - * test/keystrokes/java/role_check_menu_item.py: - * test/keystrokes/java/role_combo_box.py: - * test/keystrokes/java/role_dialog.py: - * test/keystrokes/java/role_menu.py: - * test/keystrokes/java/role_table.params: - * test/keystrokes/java/role_table.py: - * test/keystrokes/java/role_tree.params: - * test/keystrokes/java/role_tree.py: - Added new tests and referenced bug numbers in existing ones. - -2007-10-10 Joanmarie Diggs - - * src/cthulhu/braillegenerator.py: - Fix for bug #484499 - Cthulhu should not braille the node level - for every cell in row. - -2007-10-10 Joanmarie Diggs - - * src/cthulhu/mag.py: - Fix for bug #467664 - unmagnified area becomes too small to use. - -2007-10-10 Rich Burridge - - * src/cthulhu/default.py: - Fix for bug #483018 - We should remove (or redefine) the cthulhu - speech change hotkeys. - - * src/cthulhu/speechgenerator.py: - Refixed bug #435852 - Cthulhu and OpenOffice Calc have a memory - lovefest. Applied the same fix that had previously been applied - to the StarOffice script, to the default speech generator. - -2007-10-09 Rich Burridge - - * test/keystrokes/oobase/bug_465109.odb: - test/keystrokes/oobase/bug_465109.params: - test/keystrokes/oobase/bug_465109.py: - Macaroon test file for bug #465109 - OOo sbase application - crashes when entering a database record. - - * test/keystrokes/oobase/bug_465109.params: - test/keystrokes/ooimpress/bug_465449.py: - Macaroon test file for bug #365449 - OOo simpress crashes when - trying to change view modes. - - * src/cthulhu/where_am_I.py: - Fix for bug #480278 - where-am-I ("double click") for StarOffice.py - smushs the output. - - * test/keystrokes/oowriter/bug_435226.py: - Now that bug #480278 has been fixed, the SPEECH OUTPUT line in - step #8 for this test has been adjusted to reflect the correct - output. - -2007-10-08 Joanmarie Diggs - - * src/cthulhu/cthulhu_gui_prefs.py: Fix for bug #462984 - Cthulhu failed to - detect the resolution of second screen. - -2007-10-07 Scott Haeger - - * src/cthulhu/Gecko.py: Additional work for bug 478204, Cthulhu should handle - navigation around HTML focusable lists better - -2007-10-07 Joanmarie Diggs - - * src/cthulhu/speechgenerator.py: Fix for bug #484428 - Cthulhu should not - speak role for list items when navigating. - -2007-10-04 Rich Burridge - - * test/harness/runone.sh: - Added "sbase" and "oobase" to the list of applications that - need to be adjusted to SOFFICE. - - * test/keystrokes/oobase/bug_463172.py: (new) - Macaroon test file for bug #463172 - OpenOffice sbase application - crashes when Cthulhu is running. - - * src/cthulhu/default.py: - Fix for bug #376517 - Cthulhu does not report indentation in OOo - Writer documents correctly. - -2007-10-03 Willie Walker - - * test/keystrokes/gtk-demo/role_tooltip.py: add test for tooltips. - -2007-10-03 Rich Burridge - - * test/keystrokes/ooimpress/bug_462239.py: (new) - test/keystrokes/ooimpress/bug_462239.py: (new) - test/keystrokes/ooimpress/subtlewaves.odp: (new) - Macaroon test file for bug #462239 - OpenOffice OOo-dev 2.3.0 - Presentation application crashes when trying to open an existing - presentation. - - * test/harness/runone.sh: - Added "simpress" and "ooimpress" to the list of applications that - need to be adjusted to SOFFICE. - - * test/keystrokes/ooimpress/bug_462256.py: (new) - Macaroon test file for bug #462256 - Cthulhu doesn't speak/braille - anything when going to the 2nd screen in the OOo Presentation - startup wizard. - - * test/keystrokes/ooimpress/bug_462547.py: (new) - Macaroon test file for bug #462547 - OOo-dev 2.3.0 simpress - application startup wizard hangs the desktop. - -2007-10-03 Willie Walker - - * configure.in, README: Mark as Cthulhu 2.21.1pre - -2007-10-03 Willie Walker - - * src/cthulhu/Gecko.py: add import of math module (flagged by running - pychecker) - -2007-10-03 Willie Walker - - * configure.in, README, NEWS, RELEASE-HOWTO, src/cthulhu/Makefile.am, - docs/pydoc/Makefile.am: prep for v2.21.0 - -2007-10-02 Scott Haeger - - * src/cthulhu/Gecko.py: Fix for bug 478204 - Cthulhu should handle - navigation around HTML focusable lists better - -2007-10-02 Willie Walker - - * src/cthulhu/cthulhu_gui_prefs.py: Fix for bug 481398 - Absence of a - defined speech server causes Cthulhu to fail to display its - Preferences dialog - -2007-10-02 Scott Haeger - - * Added navigate to large object test - test/keystrokes/firefox/html_struct_nav_large_obj.py - -2007-10-02 Rich Burridge - - * test/keystrokes/oocalc/bug_435852.py: (new) - Macaroon test file for bug #435852 - Cthulhu and OpenOffice Calc - have a memory lovefest. - - * test/keystrokes/oocalc/bug_435307.py: (new) - test/keystrokes/oocalc/bug_435307.params: (new) - Macaroon test file for bug #435307 - OOo Calc output traceback - for UnboundLocalError: local variable 'focusRegion' referenced - before assignment. - -2007-10-02 Scott Haeger - - * Added page summary and Cthulhu bookmarks tests - test/keystrokes/firefox/page_summary.py - test/keystrokes/firefox/cthulhu_bookmarks.py - -2007-10-01 Rich Burridge - - * src/cthulhu/speechgenerator.py: - src/cthulhu/braillegenerator.py: - Work on bug #465989 - Adding panel applets. - Implemented the suggested fix in comment #25 of this bug. - If there is no displayed text, check to see if this table cell - contains an icon (image). If yes: - 1/ Try to get a description for it and speak that. - 2/ Treat the object of role type ROLE_IMAGE and speak/braille - the role name. - -2007-10-01 Willie Walker - - * src/cthulhu/braillegenerator.py, - test/keystrokes/gtk-demo/role_push_button.py: fix for - bug 480746 - Labels for panels should not be repeated in braille - -2007-10-01 Joanmarie Diggs - - * src/cthulhu/Gecko.py, - src/cthulhu/speechgenerator.py, - src/cthulhu/default.py, - src/cthulhu/where_am_I.py: - Fix for bug 480021 - Need to handle list items in whereAmI and - better address XUL list items. - -2007-10-01 Willie Walker - - * src/cthulhu/braillegenerator.py, - test/keystrokes/gtk-demo/role_tree_table.py: - src/cthulhu/role_column_header.py: fix for bug 480331 - tree table - headers should not be repeated in braille - -2007-10-01 Willie Walker - - * src/cthulhu/cthulhu.py: fix for bug 457198 - Cthulhu shouldn't exit if - user-settings import fails. With this fix, Cthulhu now logs - non-ImportError exceptions at the SEVERE level. - -2007-10-01 Joanmarie Diggs - - * test/harness/user-settings.py.in: Added the line - "# -*- coding: utf-8 -*-" to deal with unicode chars that appear - in tests. - -2007-10-01 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 481907 - Traceback in - Gecko.locusOfFocusChanged() - -2007-09-30 Joanmarie Diggs - - * test/keystrokes/firefox/html_role_combo_box.py, (new) - test/keystrokes/firefox/html_role_lists.py, (new) - test/keystrokes/firefox/html_role_links.py, (new) - test/keystrokes/firefox/html_struct_nav_list_item.py, (new) - test/keystrokes/firefox/html_struct_nav_lists.py, (new) - test/keystrokes/firefox/html_struct_nav_blockquote.py, (new) - test/keystrokes/firefox/html_struct_nav_links.py: (new) - More tests. - - * test/html/anchors2.html, (new) - test/html/blockquotes.html, (new) - test/html/combobox.html: - New and modified test cases - - * test/html/FirefoxProfile/prefs.js: - increased browser.history_expire_days to 1 so that we can have - a history for the purpose of testing visited links. - -2007-09-30 Joanmarie Diggs - - * test/keystrokes/firefox/xul_role_entry.py, (new) - test/keystrokes/firefox/xul_role_tree.py, (new) - test/keystrokes/firefox/xul_role_tree_table.py: (new) - More tests. - -2007-09-28 Willie Walker - - * src/cthulhu/cthulhu_gui_prefs.py: fix for bug 481343 - Initial - top/left/bottom/right zoomer position settings don't match screen - size. - -2007-09-28 Rich Burridge - - * test/keystrokes/oocalc/bug_363804.py: (new) - test/keystrokes/oocalc/bug_363804.params: (new) - Macaroon test file for bug #363804 - Add ability to turn off - coordinate announcement when navigating in Calc. - - * test/keystrokes/oocalc/bug_364407.py: (new) - Macaroon test file for bug #364407 - Shift+Ctrl+T in OOCalc - results in very verbose output. - -2007-09-28 Willie Walker - - * src/cthulhu/mag.py: fix for bug 477683 - Cthulhu failed to bring full - screen mag up. While there were some changes to gnome-mag that - may have an impact on it crashing, we also made changes to Cthulhu - to prevent it from using the magnifier if the user tries to do - full screen magnification when full screen magnification is not - supported by gnome-mag. - -2007-09-28 Joanmarie Diggs - - * src/cthulhu/default.py: Fix for bug 481101 - getClickCount() - sometimes returns bogus values. - -2007-09-27 Eitan Isaacson - - * src/cthulhu/braillegenerator.py: - * src/cthulhu/default.py: - * src/cthulhu/script.py: - * src/cthulhu/scripts/StarOffice.py: - * src/cthulhu/speechgenerator.py: Got rid of accessible annotations - (bug #476639). - -2007-09-27 Rich Burridge - - * test/keystrokes/oocalc/bug_356334.py: (new) - test/keystrokes/oocalc/bug_356334.params: (new) - Macaroon test file for bug #356334 - readCharAttributes crashes - OOo Calc 2.0.4 RC1. - - * test/keystrokes/oocalc/bug_363801.py: (new) - test/keystrokes/oocalc/bug_363801.params: (new) - Macaroon test file for bug #363801 - Provide confirmation when - the user presses Insert R/C in Calc. - - * test/keystrokes/oocalc/bug_433398.py: (new) - test/keystrokes/oocalc/bug_433398.params: (new) - Macaroon test file for bug #433398 - Cthulhu does not provide access - to the state of checked menu items in OOo. - -2007-09-26 Scott Haeger - * Updated user_setting.py.in for progressbars - test/harness/user_setting.py.in - -2007-09-26 Scott Haeger - * Updated ARIA test scripts to include output comments and whereami - test/keystrokes/firefox/moz_slider.py - test/keystrokes/firefox/moz_progressbar.py - test/keystrokes/firefox/dojo_slider.py - test/keystrokes/firefox/uiuc_button.py - -2007-09-26 Rich Burridge - - * test/keystrokes/oocalc/bug_361167.py: (new) - test/keystrokes/oocalc/bug_361167.params: (new) - test/keystrokes/oocalc/fruit.ods: (new) - Macaroon test file for bug #361167 - Add dynamic row and column - header support in Cthulhu for StarOffice/OpenOffice calc. - - * test/keystrokes/oocalc/bug_363802.py: (new) - test/keystrokes/oocalc/bug_363802.params: (new) - Macaroon test file for bug #363802 - When navigating in Calc - from cell to cell, Cthulhu should not say "cell". - - * test/keystrokes/oocalc/bug_364086.py: (new) - Macaroon test file for bug #364086 - Cthulhu reports "paragraph 0 - paragraph" when you begin typing in a Calc cell. - -2007-09-26 Joanmarie Diggs - - * test/html/FirefoxProfile/prefs.js: set - dom.disable_window_status_change to false so that we can test - the changing contents of the status bar in Firefox. - - * test/html/status-bar.html: (new) Test case for use in regression - testing of status bar access in Firefox. - - * test/harness/utils.py: Add htmlURLPrefix so that we can work - out the location of the local html test cases (i.e. the ones - in test/html). - - * test/keystrokes/firefox/xul_where_am_i_status_bar.py: (new) - Another test. - -2007-09-26 Joanmarie Diggs - - * test/keystrokes/firefox/xul_role_accel_label.py, - test/keystrokes/firefox/xul_role_check_menu_item.py, - test/keystrokes/firefox/xul_role_check_box.py, - test/keystrokes/firefox/xul_role_page_tab.py, - test/keystrokes/firefox/xul_role_push_button.py, - test/keystrokes/firefox/xul_role_radio_button.py, - test/keystrokes/firefox/xul_role_radio_menu_item.py: - The above have new names so that we can more readily identify - the various widget groups. In addition, I added quite some - grep-able "bug" comments. - - * test/keystrokes/firefox/xul_role_alert.py, (new) - test/keystrokes/firefox/xul_role_combo_box.py, (new) - test/keystrokes/firefox/xul_role_list_item.py, (new) - test/keystrokes/firefox/xul_role_menu_bar.py, (new) - test/keystrokes/firefox/xul_where_am_i_dialog.py: (new) - More tests, more grep-able "bug" comments. - - * test/html/FirefoxProfile/prefs.js: - set browser.startup.homepage_override.mstone to "ignore". This - should solve the issue of each new milestone release (e.g. from - 3.0a8 to 3.0a9) insisting upon displaying the what's new stuff - rather than about:blank. Okay, Will, so you were right and I - was wrong. ;-) ;-) ;-) - - * test/html/FirefoxProfile/bookmarks.html: (new) - Added some hierarchically-arranged bookmarks for the purpose of - being able to test XUL trees, tree tables, and possibly multi- - line textboxes. - - * test/harness/runone.sh: - Added bookmarks.html as one of the FirefoxProfile files to be - copied to /tmp during the testing. - -2007-09-25 Scott Haeger - * Bug #468633, No output when tabbing to ARIA slider - src/cthulhu/Gecko.py - src/cthulhu/speechgenerator.py - -2007-09-25 Rich Burridge - - * test/keystrokes/oowriter/bug_435201.py: - test/keystrokes/oowriter/bug_435201.params: (new) - test/keystrokes/oowriter/spanish.odt: (new) - Adjusted test to open spanish.odt instead of creating its - contents. spanish.odt is going to be needed by another test. - - * test/keystrokes/oowriter/bug_435226.py: (new) - test/keystrokes/oowriter/bug_435226.params: (new) - Macaroon test file for bug #435226 - Where-am-I doesn't correctly - handle multiple selected paragraphs in OOo Writer and Evolution. - - * test/keystrokes/oowriter/bug_450210.py: (new) - Macaroon test file for bug #450210 - StarOffice.py needs - null-check for self.getFrame(event.source). - - * test/keystrokes/oowriter/bug_361624.py: (new) - test/keystrokes/oowriter/bug_361624.params: (new) - test/keystrokes/oowriter/column-example.odt: (new) - Macaroon test file for bug #361624 - Flat review sometimes fails - to move to second column of text in OOo Writer documents. - -2007-09-24 Eitan Isaacson - - * test/keystrokes/java/role_accel_label.py: - * test/keystrokes/java/role_check_box.py: - * test/keystrokes/java/role_check_menu_item.py: - * test/keystrokes/java/role_combo_box.py: - * test/keystrokes/java/role_dialog.py: Put proper header comments. - * test/keystrokes/java/role_menu.(py|params): - * test/keystrokes/java/role_page_tab.(py|params): - * test/keystrokes/java/role_radio_button.(py|params): - * test/keystrokes/java/role_radio_menu_item.(py|params): - New role tests. - -2007-09-24 Scott Haeger - * Updated ARIA test scripts to include output comments and whereami - test/keystrokes/firefox/dojo_checkbox.py - test/keystrokes/firefox/dojo_tabcontainer.py - test/keystrokes/firefox/dojo_spinner.py - test/keystrokes/firefox/dojo_dialog.py - test/keystrokes/firefox/dojo_tree.py - test/keystrokes/firefox/moz_checkbox.py - test/keystrokes/firefox/moz_tabpanel.py - test/keystrokes/firefox/moz_menu.py - test/keystrokes/firefox/uiuc_radiobutton.py - test/keystrokes/firefox/uiuc_tree.py - -2007-09-24 Rich Burridge - - * test/keystrokes/oowriter/bug_430402.py: - test/keystrokes/oowriter/bug_435201.py: - test/keystrokes/oowriter/bug_342602.py: - test/keystrokes/oowriter/bug_350219.py: - test/keystrokes/oowriter/bug_413909.py: - test/keystrokes/oowriter/bug_382418.py: - test/keystrokes/oowriter/bug_355733.py: - test/keystrokes/oowriter/bug_353268.py: - test/keystrokes/oowriter/bug_361747.py: - test/keystrokes/oowriter/bug_364765.py: - test/keystrokes/oowriter/bug_385828.py: - test/keystrokes/oowriter/bug_384893.py: - test/keystrokes/oowriter/bug_469367.py: - test/keystrokes/oowriter/bug_362979.py: - Scripts adjusted to use "sequence.append(PauseAction(3000))". - - * test/keystrokes/oowriter/bug_382408.py: (new) - test/keystrokes/oowriter/bug_382408.params: (new) - Macaroon test file for bug #382408 - Significant sluggishness - when navigating in OOo Writer tables. - - * test/keystrokes/oowriter/bug_382880.py: (new) - test/keystrokes/oowriter/bug_382880.params: (new) - Macaroon test file for bug #382880 - No speech output when - tabbing among cells in OOo Writer tables. - - * test/keystrokes/oowriter/bug_382888.py: (new) - test/keystrokes/oowriter/bug_382888.params: (new) - Macaroon test file for bug #382888 - Cthulhu should announce when - you cross a cell boundary in OOo Writer tables. - -2007-09-21 Eitan Isaacson - - * test/keystrokes/java: Added Java Swing testing. - * test/keystrokes/java/role_accel_label.params: - * test/keystrokes/java/role_accel_label.py: Added new role test. - * test/keystrokes/java/role_check_box.params: - * test/keystrokes/java/role_check_box.py: Added new role test. - * test/keystrokes/java/role_check_menu_item.params: - * test/keystrokes/java/role_check_menu_item.py: Added new role test. - * test/keystrokes/java/role_combo_box.params: - * test/keystrokes/java/role_combo_box.py: Added new role test. - * test/keystrokes/java/role_dialog.params: - * test/keystrokes/java/role_dialog.py: Added new role test. - * test/keystrokes/java/role_push_button.params: - * test/keystrokes/java/role_push_button.py: Added new role test. - -2007-09-21 Joanmarie Diggs - - * test/html/FirefoxProfile/localstore.rdf: Changed last - selected pane in the Preferences dialog from Advanced - to Main. - -2007-09-21 Scott Haeger - * Added partially finished ARIA test scripts - test/keystrokes/firefox/dojo_checkbox.py - test/keystrokes/firefox/dojo_tabcontainer.py - test/keystrokes/firefox/dojo_spinner.py - test/keystrokes/firefox/dojo_dialog.py - test/keystrokes/firefox/moz_progressbar.py - test/keystrokes/firefox/moz_slider.py - test/keystrokes/firefox/moz_checkbox.py - test/keystrokes/firefox/moz_tabpanel.py - test/keystrokes/firefox/moz_menu.py - test/keystrokes/firefox/uiuc_button.py - test/keystrokes/firefox/uiuc_radiobutton.py - test/keystrokes/firefox/uiuc_tree.py - -2007-09-21 Rich Burridge - - * test/keystrokes/oowriter/bug_435201.py: (new) - Macaroon test file for bug #435201 - Cthulhu is too chatty when - navigating by paragraph in OOo Writer. - - * test/keystrokes/oowriter/bug_382415.py: (new) - test/keystrokes/oowriter/bug_382415.params: (new) - test/keystrokes/oowriter/table-sample.odt: (new) - Macaroon test file for bug #382415 - Speak cell/row setting - ignored in OOo Writer tables. - -2007-09-20 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #465087 - Cthulhu speaks "Available fields panel" too - many times with OOo sbase Tables wizard. - -2007-09-20 Willie Walker - - * test/harness/runone.sh: copy FirefoxProfile stuff to - /tmp and use it from there rather than pointing to our - copy from SVN. This prevents Firefox from modifying - our SVN copy. - -2007-09-20 Willie Walker - - * test/keystrokes/firefox/dojo_slider.py, - test/harness/utils.py: add use of utils.py to define the - URL prefix for finding Dojo tests. Also bring dojo_slider.py - up to the latest Macaroon API. - -2007-09-20 Rich Burridge - - * test/keystrokes/oowriter/bug_430402.py: (new) - Macaroon test file for bug #430402 - Cthulhu unable to speak last - character of each "sentence" when doing a sayAll in OOo Writer. - - * test/keystrokes/oowriter/bug_413909.py: (new) - Macaroon test file for bug #413909 - Cthulhu can no longer provide - "smarts" for spell checking in OOo Writer v2.1 (or later). - - * test/keystrokes/oowriter/bug_385828.py: (new) - Macaroon test file for bug #385828 - Can not use agenda wizard - in OpenOffice.org. - -2007-09-20 Willie Walker - - * test/keystrokes/gtk-demo/role_column_header.py: actually do - a "Where Am I" instead of just saying we'll be doing it. - - * test/keystrokes/firefox/dojo_slider.py: make sure acc_role - is used in WaitForFocus actions. - -2007-09-20 Willie Walker - - * test/harness/runone.sh: add harness directory to PYTHONPATH - so we can easily import Python files into our macaroon test - scripts. - -2007-09-20 Willie Walker - - * test/keystrokes/gtk-demo/role_table.py, - test/keystrokes/gtk-demo/role_icon.py, - test/keystrokes/gtk-demo/role_column_header.py, - test/keystrokes/gtk-demo/role_tree_table.py: add wait actions for - state-changed:expanded events when expanding/collapsing elements - in the list of GTK+ demos. - -2007-09-19 Joanmarie Diggs - - * test/keystrokes/firefox/role_push_button.py, - test/keystrokes/firefox/role_check_menu_item.py, - test/keystrokes/firefox/role_check_box.py, - test/keystrokes/firefox/role_radio_button.py, - test/keystrokes/firefox/role_radio_menu_item.py, - test/keystrokes/firefox/role_page_tab.py, - test/keystrokes/firefox/role_accel_label.py: - Adjusted Macaroon Gecko tests to include comments with speech - and braille output. Rolled the Where Am I tests into the role - tests. Switched the wait at the end to the new PauseAction(). - And finally: Caught a dumb mistake that was causing some timeouts. - Now we are only timing out when Firefox lies to us and says a menu - is really a menu item when it's really not. :-) - -2007-09-19 Willie Walker - - * test/keystrokes/gtk-demo/*.py: roll Where Am I tests - into the role-by-role tests. Upgrade to latest macaroon API. - Use PauseAction's. Roll in speech and braille output. - -2007-09-19 Rich Burridge - - * test/keystrokes/oowriter/bug_342602.py: - test/keystrokes/oowriter/bug_350219.py: - test/keystrokes/oowriter/bug_353268.py: - test/keystrokes/oowriter/bug_355733.py: - test/keystrokes/oowriter/bug_361747.py: - test/keystrokes/oowriter/bug_364765.py: - test/keystrokes/oowriter/bug_382418.py: - test/keystrokes/oowriter/bug_469367.py: - Adjusted Macaroon OOo Writer tests to include comments giving the - interesting braille lines and speech outputs (removed from the - wiki entries). - - * test/keystrokes/oowriter/bug_362979.py: (new) - Macaroon test file for bug #362979 - In OOo, cannot read first - character on line with bullets. - - * test/keystrokes/oowriter/bug_384893.py: (new) - Macaroon test file for bug #384893 - Cthulhu no longer reports bold - or underline in OOo Writer when Insert F is pressed. - -2007-09-19 Willie Walker - - * test/keystrokes/gtk-demo/role_combo_box.py, - test/keystrokes/gtk-demo/role_alert.py, - test/keystrokes/gtk-demo/role_check_menu_item.py, - test/keystrokes/gtk-demo/role_check_box.py, - test/keystrokes/gtk-demo/role_column_header.py: - begin rolling Where Am I tests into GTK+ tests. - Also start including expected speech and braille - output into the *.py files so they are somewhat - self contained. Furthermore, as I encountered - what *might* be bugs, I just flagged them as - [[[BUG?: blah blah blah]]] in the test file. Will - go back later and re-evaluate these once the - Where Am I stuff is integrated. - -2007-09-18 Rich Burridge - - * test/keystrokes/oowriter/bug_361747.py: (new) - Macaroon test file for bug #361747 - Cthulhu should use weight to - determine if text is bolded in OO writer and calc. - - * test/keystrokes/oowriter/bug_364765.py: (new) - Macaroon test file for bug #364765 - Escaping out of Wizards - submenu in OOo Writer causes Cthulhu to report "Format menu". - - * test/keystrokes/oowriter/bug_382418.py: (new) - Macaroon test file for bug #382418 - Cthulhu should announce when - you enter/leave a table in OOo Writer documents. - -2007-09-17 Rich Burridge - - * test/keystrokes/oowriter/bug_353268.py: (new) - Macaroon test file for bug #3353268 - Cthulhu is double reading - lines in openoffice with latest Ubuntu live CD. - - * test/keystrokes/oowriter/bug_355733.py: (new) - Macaroon test file for bug #355733 - Function "Say all" doesn't - work correctly in Openoffice writer. - -2007-09-16 Joanmarie Diggs - - * test/keystrokes/firefox/role_radio_button.py, - test/keystrokes/firefox/role_radio_menu_item.py: - Make consistent with a change Will had made in the other - Firefox tests. - - * test/keystrokes/firefox/role_push_button.py, (new) - test/keystrokes/firefox/role_page_tab.py, (new) - test/keystrokes/firefox/where_am_i_accel_label.py, (new) - test/keystrokes/firefox/where_am_i_check_box.py, (new) - test/keystrokes/firefox/where_am_i_check_menu_item.py, (new) - test/keystrokes/firefox/where_am_i_page_tab.py, (new) - test/keystrokes/firefox/where_am_i_push_button.py, (new) - test/keystrokes/firefox/where_am_i_radio_button.py, (new) - test/keystrokes/firefox/where_am_i_radio_menu_item.py: (new) - More keystroke files. - -2007-09-15 Willie Walker - - * test/harness/runone.sh, test/harness/harness.sh: delay - the determination of OpenOffice PIDs until it is time to - kill OpenOffice. Doing it earlier might miss some spawned - processes. Also add in knowledge of oowriter, oocalc, and - ooffice. - - * test/keystrokes/oowriter/bug_342602.py, - test/keystrokes/oowriter/bug_469367.py, - test/keystrokes/oowriter/bug_350219.py: remove paths from - Wait actions, play a little with what to wait for (focus - on object versus focus on window), and wait at end to try - to ensure OpenOffice is in the same state it was when the - test was started. - -2007-09-14 Willie Walker - - * text/keystrokes/firefox/dojo_slider.py: use new macaroon - support to wait for document load and also type in the - URL instead of obtaining it from the *.params file. - -2007-09-14 Willie Walker - - * text/keystrokes/firefox/dojo_slider.py: press Ctrl+Home - to guarantee we start at the top of the page. - -2007-09-14 Willie Walker - - * test/harness/harness.sh: adjust a little bit for running - command and waiting. - - * test/harness/user-settings.py.in: disable automatic say - all when loading a page in Gecko. - - * text/keystrokes/firefox/dojo_slider.py: adjust a little bit - to test additional slider on page. - -2007-09-14 Willie Walker - - * test/harness/runall.sh, test/harness/harness.sh: add "-a" option - to allow you to specify the name of an application directory to - use so you can restrict the running of tests to just one - application. - - * test/keystrokes/firefox/*: experimenting with repeatability - issues. - -2007-09-14 Rich Burridge - - * test/keystrokes/oowriter/bug_469367.py: (new) - Macaroon test file for bug #342602 - StarOffice Writer - order - of speaking information of table cells is incorrect. - - * test/keystrokes/oowriter/bug_350219.py: (new) - Macaroon test file for bug #350219 - In OOo, no announcement - when you create a new document. - -2007-09-14 Joanmarie Diggs - - * src/cthulhu/where_am_I.py: Fix for bug 476786 - whereAmI fails in - Firefox menus. - -2007-09-13 Joanmarie Diggs - - * test/keystrokes/firefox/role_radio_button.py, (new) - test/keystrokes/firefox/role_radio_menu_item.py: (new) - Macaroon test files for Firefox. - -2007-09-13 Willie Walker - - * test/harness/user-settings.py.in: set commFailureAttemptLimit - to 0 so Cthulhu will actually process events when testing (D'Oh!). - -2007-09-13 Joanmarie Diggs - - * test/keystrokes/firefox/role_accel_label.py, - test/keystrokes/firefox/role_check_box.py, - test/keystrokes/firefox/role_check_menu_item.py: - In the "third time's charm" department: It's the DOCUMENT_FRAME - that issues the focus: event; not the FRAME. - -2007-09-13 Joanmarie Diggs - - * test/keystrokes/firefox/role_accel_label.py, - test/keystrokes/firefox/role_check_box.py, - test/keystrokes/firefox/role_check_menu_item.py: - Wait for the main FF window to get focus again and - add a pause at the end. - -2007-09-13 Joanmarie Diggs - - * test/keystrokes/firefox/role_check_box.py, (new) - test/keystrokes/firefox/role_check_menu_item.py: (new) - Macaroon test files for Firefox. - -2007-09-13 Willie Walker - - * test/harness/runone.sh, test/harness/harness.sh, - test/html/FirefoxProfile/localstore.rdf - test/html/FirefoxProfile/prefs.js: add support for - starting Firefox from a known profile. - -2007-09-13 Rich Burridge - - * test/keystrokes/oowriter/bug_469367.py: - Removed spurious white space and uncommented various - WaitForFocus lines. - -2007-09-13 Willie Walker - - * test/harness/runone.sh, test/harness/runall.sh: add special - knowledge for killing firefox - -2007-09-13 Rich Burridge - - * test/keystrokes/oowriter/bug_469367.py: (new) - Macaroon test file for bug #469367 - Cthulhu StarOffice script - not properly announcing (potential) indentation in OOo Writer. - -2007-09-13 Willie Walker - - * test/harness/runone.sh: open log files for overwriting, not - appending. - - * test/harness/user-settings.py.in: disable attempting to - connect to BrlTTY to eliminate a Traceback in the debug file. - This will allow us to look for Tracebacks in the debug files - as a means to catch other problems (e.g., badness in the Cthulhu - code). - -2007-09-12 Willie Walker - - * test/keystrokes/role_accel_label.py: add example - test for firefox. - -2007-09-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 475956 - Cthulhu sometimes "guesses" - index.htm* as the base name for a link in FF3. - -2007-09-12 Scott Haeger - Willie Walker - - * src/cthulhu/scripts/gedit.py, - src/cthulhu/scripts/gnome-panel.py, - src/cthulhu/scripts/gaim.py, - src/cthulhu/scripts/metacity.py, - src/cthulhu/scripts/acroread.py, - src/cthulhu/scripts/StarOffice.py, - src/cthulhu/mag.py, - src/cthulhu/atspi.py, - src/cthulhu/default.py, - src/cthulhu/focus_tracking_presenter.py, - src/cthulhu/Gecko.py, - src/cthulhu/J2SE-access-bridge.py: - fix for bug 475177 - Support new AT-SPI event name format - -2007-09-12 Willie Walker - - * src/cthulhu/script.py: make sure to return pronunciations - in overridePronunciations. - -2007-09-12 Willie Walker - - * test/harness/runone.sh: also use -norestore when running - soffice. - -2007-09-12 Willie Walker - - * src/cthulhu/scripts/nautilus.py: fix problem where the util.xxx - module methods were still being referenced rather than using - the self.xxx stuff. - -2007-09-07 Willie Walker - - * test/harness/user-settings.py.in, src/cthulhu/settings.py, - src/cthulhu/script.py: allow default commFailure settings to be - customzable in user-settings. - - * test/keystrokes/gtk-demo/where_am_i_tree_table.py: use Ctrl+Right - instead of just Right to navigate tree. - - * test/harness/harness.sh: a bit more mucking to allow things like - soffice, gedit, and nautilus to be run with command line parameters. - - * test/keystrokes/soffice/role_alert.py, - test/keystrokes/soffice/say-all.params, - test/keystrokes/soffice/say-all.py, - test/keystrokes/soffice/role_accel_label.py: beginning of keystrokes - to work with soffice. - -2007-09-10 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - Open and save Glade file in glade-2 so that the hand-edited - translation changes don't keep appearing in other Glade patches. - -2007-09-07 Willie Walker - - * src/cthulhu/httpserver.py: add support to allow log file and - debug file switching via HTTP POST requests. - - * test/harness/harness.sh: a new file to work on the idea of - only running the target application once for an entire set of - test files. If this works, it will be a replacement for - runall.sh and runone.sh. - -2007-09-07 Willie Walker - - * src/cthulhu/rolenames.py: fix for bug 472978 - Short Braille and - spoken word for "dial" should be different messages. Used - Q_("shortbraille|dial") for the short braille word. Also did - the same for "form" since it had the same problem. - -2007-09-07 Willie Walker - - * src/cthulhu/chnames.py: fix for bug 472907 - Characters "°" and "º" - shouldn't have the same description. Made the "º" character be - "ordinal" instead of "degrees". - -2007-09-06 Joanmarie Diggs - - * src/cthulhu/scripts/gaim.py: Tweaked the fix for bug 473991 - - Cthulhu doesn't announce autocompleted user names in Pidgin. - Needed to handle a spurious text-changed:insert event when - switching to a private conversation. - -2007-09-06 Rich Burridge - - * src/cthulhu/default.py: - src/cthulhu/scripts/StarOffice.py: - Fix for bug #469367 - Cthulhu StarOffice script not properly - announcing (potential) indentation in OOo Writer. - -2007-09-05 Willie Walker - - * docs/doc-set/cthulhu.sgml, docs/doc-set/testing.sgml, - docs/doc-set/gtk_testing.sgml, docs/doc-set/cthulhu.html, - docs/doc-set/cthulhu.pdf: begin writing up GTK+ testing - section. - -2007-09-05 Joanmarie Diggs - - * src/cthulhu/scripts/gaim.py: Fix for bug 473991 - Cthulhu doesn't announce - autocompleted user names in Pidgin. - -2007-09-05 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Incorrect import line for importing Q_ from cthulhu_i18n - -2007-09-05 Rich Burridge - - * src/cthulhu/speechgenerator.py: - Fix bug #473422 - Cthulhu has traceback when giving focus to the - pidgin application. - -2007-09-05 Scott Haeger - * src/cthulhu/Gecko.py: Fix for bug #471878, ARIA widgets should not - echo characters during traversal using arrows - - * src/cthulhu/Gecko.py: Fix for bug #473585, Caret not being set to ARIA - listbox when navigating to it - -2007-09-04 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - Fix bug #473420 - Cthulhu speaking an extra "seconds" for - the Preferences dialog. - -2007-09-04 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 472345 - Cannot arrow out of - entries in FF3 if text is inserted via javascript. - -2007-09-04 Willie Walker - - * src/cthulhu/cthulhu_console_prefs.py: fix for bug 472962 - Trailing - space at end of message/string. - -2007-09-01 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Work on bug 472377 - Need to fix braille - for radio buttons and checkboxes in HTML content. There are - two issues: 1) repetition of labels with radio buttons and - 2) The label and name of radio buttons and checkboxes needs to - be reversed. 1) is easy and now done. 2) will take some thought. - -2007-09-01 Joanmarie Diggs - - * src/cthulhu/speechgenerator.py, - * src/cthulhu/default.py: - Fix for bug 456970 - Cthulhu says "0 items" for tree tables that - use NODE_CHILD_OF relationship. - - * src/cthulhu/Gecko.py: Work on bug 472029 - Cannot arrow into - autocompletes in HTML forms if Cthulhu is controlling the caret - -2007-09-01 Joanmarie Diggs - - * src/cthulhu/scripts/gaim.py, - * src/cthulhu/default.py: - Fix for bug 472407 - Cthulhu doesn't always announce new messages - in unfocused tabs in Pidgin - -2007-08-31 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 471955 - Cthulhu does not provide - access to state changes in HTML radio buttons in FF3 - -2007-08-31 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 471537 - We need to find a way - to identify truly "focusable" elements in FF3. - -2007-08-30 Scott Haeger - * src/cthulhu/Gecko.py: Fix for bug #468633, No output when tabbing - to ARIA slider - -2007-08-30 Scott Haeger - * src/cthulhu/Gecko.py: Fix for bug #469686, Sanity check needed in - gecko.getHeadingLevel/getNodeLevel - -2007-08-30 Scott Haeger - * src/cthulhu/speechgenerator.py: Fix for bug #471885, ARIA trees - should output only state change if item is unchanged. - -2007-08-28 Joanmarie Diggs - - * src/cthulhu/scripts/gaim.py: Fix for bug 471220 - Gaim's - prefixChatMessage setting should have option to only prefix - non-focused tabs. Now if you enable the app-specific setting - to speak chatroom name, it will only speak it when the message - is not in your current room. - -2007-08-27 Joanmarie Diggs - - * src/cthulhu/Gecko.py: One more "check" related to the fix for - bug 470332 - Can no longer arrow to push buttons in FF3. The - original fix exposed a Mozilla bug which was causing Cthulhu to - hang when it encountered (un)ordered lists. See bug #470853. - This update should prevent the hang while we're waiting for the - fix. - -2007-08-26 Joanmarie Diggs - - * src/cthulhu/atspi.py, - * src/cthulhu/Gecko.py, - * src/cthulhu/where_am_I.py: - Work on bug 468098 - The whereAmI implementation doesn't always - match the whereAmI spec and bug 356068 - Provide a command for - identifying the default button within a dialog. On the latter - front, double-clicking Cthulhu_Modifier + KP_Enter (desktop layout) - or Cthulhu_Modifier + / (laptop layout) should cause the default - button to be announced if there is a default button. Please - note that this functionality requires the latest gail from svn - trunk. If you're using Feisty, your mileage may vary. This is - intended for GNOME 2.20 and beyond. - -2007-08-26 Joanmarie Diggs - - * src/cthulhu/scripts/StarOffice.py, - * src/cthulhu/cthulhu-setup.glade, - * src/cthulhu/flat_review.py, - * src/cthulhu/speechgenerator.py, - * src/cthulhu/default.py, - * src/cthulhu/Gecko.py, - * src/cthulhu/cthulhu_i18n.py.in, - * src/cthulhu/J2SE-access-bridge.py, - * src/cthulhu/where_am_I.py, - * src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug 469615 - A few lingering i18n issues - -2007-08-26 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 470332 - Can no longer arrow to - push buttons in FF3 - - * src/cthulhu/default.py: Fix for bug 468765 - Cthulhu does not provide - access to shortcuts for FF3 or Thunderbird menu items - -2007-08-24 Eitan Isaacson - - * src/cthulhu/braillegenerator.py: Reset the braille verbosity setting - outsite a conditional block. This assures that we reset it all the - time. Bug #469786 - -2007-08-24 Rich Burridge - - * src/cthulhu/scripts/gaim.py: - Continued to fix bug #469098 - Cthulhu should indicate when a new chat - window/tab has appeared in Pidgin. Added extra checks to prevent it - speaking "bogus" new chat tabs (like for the Preferences dialog). - -2007-08-23 Rich Burridge - - * src/cthulhu/scripts/gaim.py: - Fix for bug #469098 - Cthulhu should indicate when a new chat - window/tab has appeared in Pidgin. - -2007-08-23 Rich Burridge - - * src/cthulhu/braillegenerator.py: - src/cthulhu/speechgenerator.py: - Work on bug #465989 - Adding panel applets. - In _getBrailleRegionsForTableCell() and _getSpeechForTableCell(), - check to see if this table cell contains an icon (image). - If yes: - 1/ Try to get a description for it and speak that. - 2/ Treat the object of role type ROLE_IMAGE and speak - the role name. - -2007-08-22 Mike Pedersen - - * docs/doc-set/ue_requirements.sgml, - * docs/doc-set/cthulhu.html, - * docs/doc-set/cthulhu.pdf: - Update to the braille specs - -2007-08-22 Rich Burridge - - * src/cthulhu/default.py: - Fix for bug #467425 - Cthulhu causes pygtk application to generate - GtkWarning messages (thanks LiYan Zhang, Yi Jin and Will). - -2007-08-21 Mike Pedersen - - * docs/doc-set/ue_requirements.sgml, - * docs/doc-set/cthulhu.html, - * docs/doc-set/cthulhu.pdf: - Update to the specs - -2007-08-20 Tomas Cerha - - * Fix for bug 467563 - Speech Dispatcher backend crashes in text - setup (Thanks Tomas!) - -2007-08-17 Rich Burridge - - * src/cthulhu/pronunciation_dict.py: - Fix for bug #467425 - Cthulhu should default to an empty pronunciation - dictionary. - -2007-08-17 Willie Walker - - * test/harness/runone.sh, test/harness/runall.sh, test/harness/quit.py, - test/harness/runprofiler.py: fix for bug 467082 - Need to add profiling - to the test harness. This adds a "-p" option to the runall.sh script - and creates profile information in the test/profile directory. It - requires the python-profiler package to be installed. To run, type - "./runall.sh -p" in the test/harness directory. (The harness also - requires that macaroon be installed. You can get macaroon from the - macaroon subdirectory of the accerciser module.) - -2007-08-15 Rich Burridge - - * src/cthulhu/cthulhu_prefs.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/default.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/pronunciation_dict.py: - src/cthulhu/app_prefs.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #464754 - Pronunciation dictionary checks should be - case insensitive. - -2007-08-15 Rich Burridge - - * src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/Evolution.py: - Fix for bug #466725 - Traceback when using SayAll in Gedit when - text lacks sentence punctuation. - -2007-08-15 Mike Pedersen - - * docs/doc-set/ue_requirements.sgml, - * docs/doc-set/cthulhu.html, - * docs/doc-set/cthulhu.pdf: - Update to the braille specs - -2007-08-15 Scott Haeger - - * src/cthulhu/Gecko.py - src/cthulhu/braillegenerator.py - src/cthulhu/default.py - src/cthulhu/speechgenerator.py: Bug #462156, No announcements for - ARIA trees - -2007-08-15 Lynn MonSanto - * src/cthulhu/flat_review.py: fix for Bug 464855 - cthulhu speaks/brailles - scroll bar arrows as anonymous "push buttons" - - Change requested by Mike Pedersen. Cthulhu speaks and brailles - Java slider and scroll bar orientation before the role. - -2007-08-15 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 466764 - Cthulhu doesn't provide - access to alerts that appear when page is loading in FF3. - -2007-08-15 Lynn MonSanto - * src/cthulhu/flat_review.py: fix for Bug 464855 - cthulhu speaks/brailles - scroll bar arrows as anonymous "push buttons" - -2007-08-14 Rich Burridge - - * src/cthulhu/default.py: - Fix for a traceback error in getFrame() in default.py. - See bug #465087 for more details. - -2007-08-14 Tomas Cerha - - * Fix for bug 466500 - Speech Dispatcher backend crashes with - older SD versions - -2007-08-13 Lynn MonSanto - * src/cthulhu/flat_review.py: fix for Bug 458150 - flat-review - should present slider orientation - -2007-08-13 Tomas Cerha - - Fix for bug 455308 - Output module and voice selection with Speech - Dispatcher backend. The changes also involve some minor cleanup - and one major improvement - automatic reconnection after losing - Speech Dispatcher connection (for example after SD is restarted). - - * src/cthulhu/speechdispatcherfactory.py: Try to import the `speechd' - module globally and set the variables `_speechd_available' and - `_speechd_version_ok' accordingly. - (SpeechServer.list_output_modules): New method. - (SpeechServer._getActiveServers): Method removed. - (SpeechServer.getSpeechServers): Create one default server and one - separate server for each available output module. - (SpeechServer._getSpeechServer): New method. - (getSpeechServer): Return the default server if `info' is not - specified. - (SpeechServer.__init__): Argument `lang' removed. Rely on - globally imported `speechd' module and the related variables. If - client initialization fails, log the error. Initialize mapping - constants here, not in `_init()'. - (SpeechServer._init): Rely on globally imported `speechd' module. - Don't set the default language, rely on language setting according - to voice properties. Don't initialize default voice properties, - let them be initialized on the first speak command. - (SpeechServer._send_command): New method allowing automatic - reconnection after Speech Dispatcher restart. - (SpeechServer._set_family): - (SpeechServer._set_rate, SpeechServer._set_pitch) - (SpeechServer._set_volume, SpeechServer._speak) - (SpeechServer._cancel, SpeechServer.speakCharacter): Use - `_send_command()' instead of calling the method directly. - (SpeechServer.getVoiceFamilies): Set the locale of the default - voice according to the current locale. List snthesizer's voices. - -2007-08-13 Willie Walker - - * src/cthulhu/Gecko.py: fix for bug 464714 - translations. Edit - docs to reduce confusion. - -2007-08-11 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 460284 - Cthulhu should not allow - the user to arrow into the FF3 status bar. - -2007-08-09 Mike Pedersen - - * docs/doc-set/ue_requirements.sgml, - * docs/doc-set/cthulhu.html, - * docs/doc-set/cthulhu.pdf: - Update to the braille specs - -2007-08-09 Willie Walker - - * MAINTAINERS: update to include names, e-mail, and userid per - discussion on desktop-devel-list. - -2007-08-08 Scott Haeger - - * src/cthulhu/Gecko.py: - src/cthulhu/braille.py: - Fix for bug #462509, ARIA dialogs are not being announced - -2007-08-02 Eitan Isaacson - - * test/keystrokes/gtk-demo/where_am_i_accel_label.py: Updated - header comment. - * test/keystrokes/gtk-demo/where_am_i_check_box.py: Updated - header comment. - * test/keystrokes/gtk-demo/where_am_i_check_menu_item.py: Updated - header comment. - - * test/keystrokes/gtk-demo/where_am_i_combo_box.py: Added. - * test/keystrokes/gtk-demo/where_am_i_combo_box2.py: Added. - * test/keystrokes/gtk-demo/where_am_i_icon.py: Added. - * test/keystrokes/gtk-demo/where_am_i_label.py: Added. - * test/keystrokes/gtk-demo/where_am_i_page_tab.py: Added. - * test/keystrokes/gtk-demo/where_am_i_push_button.py: Added. - * test/keystrokes/gtk-demo/where_am_i_radio_button.py: Added. - * test/keystrokes/gtk-demo/where_am_i_spin_button.py: Added. - * test/keystrokes/gtk-demo/where_am_i_table.py: Added. - * test/keystrokes/gtk-demo/where_am_i_text_multiline.py: Added. - * test/keystrokes/gtk-demo/where_am_i_toggle_button.py: Added. - * test/keystrokes/gtk-demo/where_am_i_tree_table.py: Added. - -2007-08-07 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #462256 - Cthulhu doesn't speak/braille anything when going - to the 2nd screen in the OOo Presentation startup wizard. - -2007-08-07 Lynn MonSanto - - * docs/doc-set/testing.sgml, docs/doc-set/cthulhu.html - - Added Java Platform Testing. - -2007-08-05 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 457988 - Firefox SSL Dialogs - are not read. - -2007-08-03 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 461620 - Cthulhu doesn't speak find - results in FF3 when focus is on Next/Previous buttons. - - * src/cthulhu/scripts/Evolution.py: Fix for bug 462650 - Traceback - when using whereAmI in Evolution New Contact dialog. - -2007-08-02 Rich Burridge - - * src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/app_prefs.py: (New) - src/cthulhu/Makefile.am: - Fix for bug #462627 - Refactor cthulhu_prefs.py. - -2007-08-02 Eitan Isaacson - - * test/keystrokes/gtk-demo/where_am_i_accel_label.py: Initial - commit. Might not need the KP_Insert+KP_Enter that is there right now. - - * test/keystrokes/gtk-demo/where_am_i_check_box.py: Initial - commit. Doesn't actually give the correct result. After the - checkbutton is checked, it's state is not uttered in "where am I". - - * test/keystrokes/gtk-demo/where_am_i_check_menu_item.py: Initial - commit. - -2007-08-01 Willie Walker - - Work on bug 415061 - regression test results should be repeatable. - - * test/harness/runall.sh: a little work on the code coverage - analysis. - - * test/keystrokes/gtk-demo/role_combo_box.py: tweak initial wait - - * test/keystrokes/gtk-demo/role_push_button.py, - test/keystrokes/gtk-demo/role_table.py, - test/keystrokes/gtk-demo/role_tear_off_menu_item.py, - test/keystrokes/gtk-demo/role_radio_button.py, - test/keystrokes/gtk-demo/role_combo_box2.py, - test/keystrokes/gtk-demo/role_spin_button.py, - test/keystrokes/gtk-demo/role_text_multiline.py, - test/keystrokes/gtk-demo/role_tree_table.py, - test/keystrokes/gtk-demo/role_label.py, - test/keystrokes/gtk-demo/role_split_pane.py, - test/keystrokes/gtk-demo/role_toolbar.py, - test/keystrokes/gtk-demo/role_page_tab.py, - test/keystrokes/gtk-demo/role_menu.py: new tests - -2007-08-01 Rich Burridge - - * src/cthulhu/cthulhu_prefs.py: - Fix for bug #462475 - crash due Non-ASCII characters in - .cthulhu/user-settings.py file. Added the line: - # -*- coding: utf-8 -*- - to the beginning of the ~/.cthulhu/user-settings.py file (also to the - beginning of any application specific settings files written out). - -2007-08-01 Rich Burridge - - * src/cthulhu/settings.py: - With OOo-dev 2.3.0, the accessible application name has changed - (again) to "soffice". We needed to add a line that maps this to - the StarOffice.py script. - -2007-08-01 Willie Walker - - * src/cthulhu/bookmarks.html: make sure there is a newline at - the end of the file. The absence of newlines wreaks havoc - on the coverage testing. - -2007-08-01 Willie Walker - - Work on bug 415061 - regression test results should be repeatable. - With these changes, I've had 6 simultaneous repeatable runs of - the new test harness. It's starting to look promising. - - * src/cthulhu/focus_tracking_presenter.py, src/cthulhu/settings.py: - add asyncMode setting (default=True). If True, we run in our - normal mode of operation of queueing events and processing - them on the gidle thread. If False, we process events - immediately -- very helpful for testing repeatability. - - * test/harness/runone.sh: add cthulhu.settings.asyncMode = False - - * test/keystrokes/gtk-demo/*.py: tweak timings a little bit to - prevent event compression. - -2007-07-31 Willie Walker - - * src/cthulhu/Gecko.py: fix for bug 459584 - ARIA widget labels - not read correctly - -2007-07-31 Willie Walker - - * test/harness/runall.sh, test/harness/runone.sh: modify to - use *.py files instead of *.keys files. - - * test/keystrokes/gtk-demo/*.py: new files that represent a - stab at the new testing model. Requires that macaroon be - installed. You can get/install macaroon from the macaroon - subdirectory of the accerciser module. - -2007-07-30 Rich Burridge - - * src/cthulhu/settings.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/default.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/pronunciation_dict.py: - src/cthulhu/script.py: - More work on bug #364518 - Create a GUI interface to the - pronunciation dictionary. Added in proper support for application - specific pronunciations. - -2007-07-30 Javier Dorado Martínez - - * src/cthulhu/scripts/gnome-mud.py: Fix for bug 461719 - gnome-mud - script failed at import - -2007-07-29 Willie Walker - - * configure.in, README: Mark as Cthulhu 2.21.0pre - -2007-07-29 Willie Walker - - * configure.in, README, NEWS, RELEASE-HOWTO, docs/pydoc/Makefile.am: - prep for v2.19.6 - -2007-07-27 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug #460774 - Cthulhu doesn't provide - access to message being composed in Thunderbird. - -2007-07-27 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - More work on bug #364518. Changed label and mnemonic for the - "Add" button in the pronunciation pane to "New entry" and Alt-n. - -2007-07-27 Rich Burridge - - * src/cthulhu/cthulhu-setup.glade: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/default.py: - src/cthulhu/cthulhu_state.py: - src/cthulhu/gnomespeechfactory.py: - src/cthulhu/cthulhu_gui_prefs.py: - Work on bug #364518 - Create a GUI interface to the pronunciation - dictionary. - -2007-07-27 Rich Burridge - - * src/cthulhu/gnomespeechfactory.py: - Fixed problem found when testing bug #364518. If you deleted - an entry from the pronunciated dictionary with the shortcut - Alt-d, then you'd get a traceback and a COMM_FAILURE. Fix was - in the say() routine in gnomespeechfactory.py, and was to check - to see if we were being passed in a unicode string, and if so, - then to convert to UTF-8. - -2007-07-25 Willie Walker - - * autogen.sh: up automake requirement from 1.7.2 to 1.9 - -2007-07-25 Lynn MonSanto - - * src/cthulhu/J2SE-access-bridge.py: Bug 458142 - flat-review does - not review Swing panels with titled borders - -2007-07-25 Scott Haeger - - * src/cthulhu/Gecko.py: ARIA widgets should not consume navigation keys, - bug 459618. - -2007-07-25 Stephen Brandt - - * icons/*, configure.in, Makefile.am, cthulhu.png (remove): fix - for bug 460215 - Include new Tango icons - -2007-07-24 Rich Burridge - - * src/cthulhu/default.py: - src/cthulhu/focus_tracking_presenter.py: - Fix for bug #409731 - Cthulhu should speak text selected by the mouse. - -2007-07-22 Willie Walker - - Work on bug 415061 - regression test results should be repeatable - - * test/harness/runall.sh: add filtering for "Desktop Frame" to - help eliminate differences that really shouldn't be there. - - * test/keystrokes/scalc/F6-navigation.keys, - test/keystrokes/scalc/menu-items.keys, - test/keystrokes/gedit/text-attributes.keys: adjust timings and - test procedure to help reduce differences between runs. - - * test/keystrokes/gedit/alphanum-modifiers.keys: remove this file - since it really wasn't testing what it was supposed to be testing - and it was causing differences between test runs. - -2007-07-21 Willie Walker - - * po/POTFILES.in: fix for bug 459080 - Some files missing from - POTFILES.in. - -2007-07-21 Willie Walker - - * src/cthulhu/speech.py, src/cthulhu/speechserver.py, - src/cthulhu/scripts/StarOffice.py: add some missing i18n notes for - translators. - -2007-07-17 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 456446 - Gecko autocompletes - not always spoken. - -2007-07-13 Willie Walker - - Work on regression testing. There's still a ways to go, with - the major problems being non-deterministic event ordering from: - - gnome-terminal: variable compressing of text-inserted events - from text resulting from the output of a command - - gedit: differing event ordering between text inserted - events and name changed events for window title - going from "Unsaved" to "*Unsaved" - - OOo: providing different user behavior for the same - keystrokes (e.g., down arrow in the Open Files - dialog sometimes takes you to the file list - header, sometimes it takes you to the file) - - I'm still working on the above, either trying to fix them or - test around them. One step at a time, though, and I want to - get my work checked in just in case someone decides to steal - my laptop. - - * src/tools/play_keystrokes.py, src/tools/record_keystrokes.py: - use delta times instead of absolute times (makes for much easier - editing of keystroke files). Also simplify play_keystrokes.py - and let it use delta times when playing back files. - - * test/harness/runone.sh: turn off gnome-terminal's dynamic - title setting. Also improve shutdown of OOo binaries. Add - ability to pass parameters to a command via the *.params file. - Also move logic for logging output from the settings file to - runone.sh. Make the output log use the Python logging - facility instead of debug.py, and save the output for speech - and braille to separate files (makes the output easier to - read and helps us also understand where differences lie). - - * test/harness/runall.sh: account for the fact that output - is now logged to separate files. - - * test/keystrokes/*: migrate to delta times, also tweak all - the tests to improve the timing of the keystrokes a bit. Also - make sure the tests actually tested *something*. :-) - -2007-07-13 Rich Burridge - - * src/cthulhu/speechgenerator.py: - src/cthulhu/braillegenerator.py: - src/cthulhu/cthulhu_gui_prefs.py: - Fix for bug #455230 - Read table cell row should insert column - headers for non-text cells. - -2007-07-12 Joanmarie Diggs - - * src/cthulhu/braille.py: Fix for bug 456296 - Traceback in - braille.py when doing a "Select All" in gedit. - -2007-07-11 Willie Walker - - * src/cthulhu/default.py: remove "self.whereAmI(None)" line. This is - an error (self.whereAmI is an object and not a method) and is - probably left over from some earlier revision of the whereAmI - code. - -2007-07-11 Willie Walker - - * src/cthulhu/speech.py: Add debug/log output for speakKeyEvent, - {increase,decrease}Speech{Pitch,Rate} even if a speechserver - is not being used. - -2007-07-09 Willie Walker - - * src/cthulhu/speechserver.py, src/cthulhu/speech.py, - src/cthulhu/braille.py, src/cthulhu/gnomespeechfactory.py, - src/cthulhu/debug.py: as potential work for bug 415061 - (regression test results should be repeatable), make - better use of the logging module. To enable the logging, - you can do something like this in your cthulhu-customizations.py - or user-settings.py file: - - import logging - handler = logging.FileHandler("log.out") - formatter = logging.Formatter('%(name)s.%(message)s') - handler.setFormatter(formatter) - for logger in ["braille", "speech"]: - log = logging.getLogger(logger) - log.addHandler(handler) - log.setLevel(logging.INFO) - -2007-07-09 Willie Walker - - * configure.in, README: flag as v2.19.6pre - -2007-07-09 Rich Burridge - - * src/cthulhu/gnomespeechfactory.py: - Correct fix for bug #439191 - sayAll by sentence can position the - text cursor in the wrong place when interrupted. - -2007-07-09 Lynn MonSanto - - * test/keystrokes/gedit/say-all-cursor-pos.settings, - test/keystrokes/gedit/say-all-dialog.setting, - test/keystrokes/gedit/say-all.settings, - test/keystrokes/gnome-terminal/swriter-say-all.settings - - New settings files for SayAll tests. These settings files - have the line 'cthulhu.settings.speechServerFactory = None' - commented out. - -2007-07-09 Willie Walker - - * NEWS: final prep for v2.19.5 - -2007-07-09 Willie Walker - - * docs/pydoc/Makefile.am, src/cthulhu/Makefile.am: get rid of - cruft and realphabetize. - - * src/cthulhu/cthulhu.py: remove import of string module since it - is not used. - -2007-07-09 Tomas Cerha - - Fix for bug 449964 - Pass the key event information to the speech - system to allow more advanced key echo handling - - * src/cthulhu/cthulhu.py (KeyEventType): New class. - (_keyEcho): Speak using `speech.speakKeyEvent()' instead of - `speech.speak()' to allow the speech server accessing the original - key event information (before key name verbalization). - - * src/cthulhu/speech.py (speakKeyEvent): New function. - - * src/cthulhu/speechserver.py (SpeechServer): Derive from `object'. - (SpeechServer.speakKeyEvent): Implement a generic key echo - handling using the `speak' command. - - * src/cthulhu/speechdispatcherfactory.py: Added support for key echo - using Speech Dispatcher's KEY command. - -2007-07-08 Willie Walker - - * NEWS, README, configure.in: initial prep for v2.19.5 - -2007-07-08 Joanmarie Diggs - - * src/cthulhu/cthulhu_gui_prefs.py: Added translation docs to dialog - for the new text selection and attribute indication features - (bugs 382601 and 400720). - -2007-07-03 Scott Haeger - - * src/cthulhu/Gecko.py: Added translation docs to read page summary - code, bug #447191. - -2007-07-06 Mike Pedersen - - * src/cthulhu/settings.py: Adjusted the uppercase pitch setting so - that it is still noticable but not quite so high. - -2007-07-06 Joanmarie Diggs - - * src/cthulhu/brlmon.py, src/cthulhu/braille.py, src/cthulhu/default.py, - src/cthulhu/settings.py, src/cthulhu/cthulhu_prefs.py, - src/cthulhu/cthulhu_gui_prefs.py, src/cthulhu/cthulhu-setup.glade, - src/cthulhu/scripts/Evolution.py: Fix for bugs 382601 - Cthulhu should - indicate selected text on the braille display and 400720 - Support - accurate presentation of text attributes on the braille display. - Much thanks to Rich for all of his help implementing these new - features! - -2007-07-03 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 453229 - Cthulhu should honor the - repeated character count setting in Firefox. Thanks much Rich!! - -2007-07-03 Rich Burridge - - * src/cthulhu/gnomespeechfactory.py: Fix for bug #439191 - sayAll by - sentence can position the text cursor in the wrong place when - interrupted. - -2007-07-03 Lynn MonSanto - - * test/harness/runone.sh: Kills both soffice processes. - - * test/keystrokes/general-cthulhu/yelp.keys, - test/keystrokes/yelp/yelp.keys: Moved yelp.keys to - test/keystrokes/yelp so the yelp application is started first - instead of being started from gnome-terminal - - * test/keystrokes/swriter/menus.keys, - test/keystrokes/scalc/whereAmI-calc.keys, - test/keystrokes/scalc/menu-items.keys, - test/keystrokes/gtk-demo/trees.keys, - test/keystrokes/gedit/lock-key-echo.keys: Minor keystroke file - improvements. - -2007-07-03 Joanmarie Diggs - - * src/cthulhu/scripts/gaim.py: Adjustment to the gaim/pidgin script - so that the chat history commands work with the new bookmarked - objects feature. - -2007-07-03 Scott Haeger - - * src/cthulhu/Gecko.py, src/cthulhu/default.py, src/cthulhu/bookmarks.py, - src/cthulhu/Makefile.am, src/cthulhu/script.py, src/cthulhu/where_am_I.py: - Fix for bug #354468 - Bookmarked Objects. - Also included removal - of whereamI relative to current key bindings and trimming down - number of bookmarks to 6 - - * docs/doc-set/ue_requirements.sgml, - docs/doc-set/ue_input_style.sgml: Documentation updates for - whereamI and bookmarks. - -2007-06-30 Joanmarie Diggs - - * src/cthulhu/cthulhu_gui_prefs.py: Tweak for the fix for Bug #376515 - - Add GUI support for the new customizable text-attribute feature. - Use default.Script rather than cthulhu_state.activeScript to avoid - errors when ~/.cthulhu is not present. - -2007-06-28 Scott Haeger - - * src/cthulhu/Gecko.py Fix for bug #449232, Firefox move to next - large object additional tweak - -2007-06-27 Rich Burridge - - * src/cthulhu/cthulhu_gui_prefs.py: Fix for bug #442069 - Unneeded - gnome-speech drivers not stopped when GUI setup window is - dismissed. - -2007-06-27 Willie Walker - - * src/cthulhu/mag.py: fix for bug 375396 - Cthulhu failed to exit after - stopping the full screen mag. - -2007-06-27 Willie Walker - - * src/cthulhu/settings.py: fix for bug 451531 - Cthulhu failed to report - the conversation message of pidgin. This was solved by simply - mapping the gaim script to pidgin. - -2007-06-26 Eitan Isaacson - - * src/cthulhu/default.py: Removed "object:bounds-changed" listener. - * src/cthulhu/scripts/Makefile.am: Removed gnome-power-manager.py, - added notification-daemon.py. - * src/cthulhu/scripts/gnome-power-manager.py: Removed in favor of - more generic notification daemon script. - * src/cthulhu/scripts/notification-daemon.py: Automatic presentation - of libnotify notifications, bug #354479. - -2007-06-26 Lynn MonSanto - - * src/cthulhu/atspi.py: fix for bug #450213 - should - acc._narrow(Accessibility.Accessible) be a SEVERE error? - -2007-06-25 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: Fix for bug #450210 - - StarOffice.py needs null-check for self.getFrame(event.source) - - * src/cthulhu/settings.py: src/cthulhu/httpserver.py: Work on bug - #395146 - Crash at start. Try to start an HTTP server on - settings.httpServerPort. If this fails, retry - settings.maxHttpServerRetries times, each time incrementing the - server port number by 1. If we are still unable to start a server, - just fail gracefully. - -2007-06-25 Willie Walker - - * src/cthulhu/atspi.py: Fix for bug 450037 Password field for gdm - speaks characters you type instead of "star star star star". - The problem was that we were not listening for - object:property-change:accessible-role events to handle the - case where gdm changes the role of the text entry area from - "text" (for username) to "password text" (for password). - -2007-06-25 Willie Walker - - * src/cthulhu/flat-review.py, src/cthulhu/default.py: - Fix for bug 436888 - Include widget status information in speech - and braille for flat review. - -2007-06-25 Joanmarie Diggs - - * src/cthulhu/Gecko.py, src/cthulhu/default.py: Fix for bug 448096 - - Cthulhu does not provide access to progress bars for FF3 downloads - -2007-06-23 Joanmarie Diggs - - * src/cthulhu/scripts/Thunderbird.py: Fix for bug 449152 - - Cannot create a new message in thunderbird while using Cthulhu - -2007-06-22 Mike Pedersen - - * docs/doc-set/ue_requirements.sgml, * docs/doc-set/cthulhu.html, * - docs/doc-set/cthulhu.pdf: Update to the bookmarked object specs - -2007-06-22 Rich Burridge - - * src/cthulhu/cthulhu.py: Fix for bug #449978 - Punctuation keys not - echoed (thanks Tomas Cerha!) - -2007-06-21 Lynn MonSanto - - * test/keystrokes/swriter/text-attributes.keys, - test/keystrokes/gedit/say-all.keys, - test/keystrokes/gedit/say-all-cursor-pos.keys, - test/keystrokes/gnome-terminal/gnome-terminal.keys, - test/keystrokes/gnome-terminal/swriter-say-all.keys: Fixed minor - keystroke file problems. - - * src/tools/play_keystrokes.py, src/tools/sanity_check.py: Modified - play_keystrokes,py to sleep for fixed times after keystrokes - Modified sanity_check.py to test for a previous key not being - released before the current key is released. - -2007-06-21 Rich Burridge - - * src/cthulhu/default.py: Fix for bug #446881 - Cthulhu braillegenerator - code assumes that what's in a table is a table cell. Don't try to - get row description if we are passed a row number < 0. - -2007-06-21 Mike Pedersen - - * docs/doc-set/ue_requirements.sgml, docs/doc-set/cthulhu.html, - docs/doc-set/README, docs/doc-set/cthulhu.pdf: Update to the - bookmarked object specs as well as README doc for generating docs - -2007-06-21 Scott Haeger - - * src/cthulhu/Gecko.py: Fix for bug #449232 - Firefox move to next - large object tweak - -2007-06-19 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 409728 - Cthulhu repeats mouse- - selected text numerous times in Gecko. (Thanks Rich!) - -2007-06-19 Rich Burridge - - * src/cthulhu/default.py, src/cthulhu/speechgenerator.py, - src/cthulhu/Gecko.py, src/cthulhu/settings.py, - src/cthulhu/cthulhu-setup.glade, src/cthulhu/cthulhu_gui_prefs.py: Work on bug - #438333 - Need to present progress bar activity. Implementation - of speech support for progress bars as outlined by Mike in comment - #6, plus the following changes (per email from Will): - - - Adjust the GUI for this particular feature to have a checkbox - and a separate label/spin button. ie.: - - [ ] Speak Progress Bar Updates Update Interval: ( 10 ) - - where the label/spin button pair would be inactivate/grayed if - the checkbox wasn't checked, and the interval spin button went - from 1 upwards in intervals of 1 with a default value of 10. - - - When progress bar is at 100%, we should present it, regardless - of the interval. - - - There may be cases when more than one progress bar is updating - at the same time in a window. If this is the case, then speak - the index of this progress bar in the dictionary of known - progress bars, as well as the value. - - Note that the progress bar currentValue isn't always a value in - the range 0-100. You need to look at the minimumValue and the - maximumValue to determine the range. Also fixed - speechgenerator._getSpeechForProgressBar to reflect this. - -2007-06-19 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Additional fix for bug 449171 - Cthulhu gets - stuck in endless loops on woot.com - -2007-06-19 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 449171 - Cthulhu gets stuck in - endless loops on woot.com - -2007-06-19 Scott Haeger - - * src/cthulhu/Gecko.py Fix for bug #447191 - Firefox read page summary - - * src/cthulhu/Gecko.py Fix for bug #447191 - Firefox read page summary, - make announcements only when items > 0 - -2007-06-18 Willie Walker - - * configure.in, README: mark as v2.19.5pre. - -2007-06-17 Willie Walker - - * NEWS, README, RELEASE_HOWTO, configure.in: prep for v2.19.4 - - * docs/pydoc/Makefile.am, src/cthulhu/Makefile.am: sort and make - sure files are listed in both places. - -2007-06-17 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 442709 - Need to do "combo - box cleanup"/refactor for Firefox. - -2007-06-15 Scott Haeger - - * src/cthulhu/where_am_I.py: Fix for bug #445578, more link preview - i18n/translator fixes - -2007-06-14 Scott Haeger - - * src/cthulhu/where_am_I.py: Fix for bug #445578, i18n support for link - preview - -2007-06-13 Willie Walker - - * src/cthulhu/focus_tracking_presenter.py: fix for bug 435199 - to break self-reference cycle of Accessible instances that - are applications. - -2007-06-13 Scott Haeger - - * src/cthulhu/atspi.py, src/cthulhu/default.py, src/cthulhu/Gecko.py, - src/cthulhu/where_am_I.py: Fix for bug #445578, Link preview - information would be desirable for Firefox - -2007-06-12 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py, src/cthulhu/settings.py, - src/cthulhu/cthulhu-setup.glade, src/cthulhu/cthulhu_prefs.py, - src/cthulhu/cthulhu_gui_prefs.py: Fix for bug #376515 - Add GUI support - for the new customizable text-attribute feature. There is a new - "Text Attributes" pane in the Cthulhu preferences dialog for - this. It can also be set on an individual app-specific basis. - - (Thanks to Joanie for her extensive help with this new feature). - -2007-06-11 Willie Walker - - * src/cthulhu/atspi.py, src/cthulhu/cthulhu.py, - src/cthulhu/focus_tracking_presenter.py, src/cthulhu/default.py: more - work on bug 435199 to try to detect object reference cycles and - what is causing things to not be collected by the garbage - collector. No brilliant insight yet. Not even insight that - could illuminate the home of a plague carrying flea. :-( - Things do not seem horribly bad, though. - -2007-06-11 Willie Walker - - * src/cthulhu/settings.py, src/cthulhu/cthulhu.py, src/cthulhu/default.py: As - part of bug 435199, add settings.debugMemoryUsage property and - keystrokes for debugging memory usage if settings.debugMemoryUsage - is True. Cthulhu+Ctrl+F8 prints out a brief message to the console - whereas Cthulhu+Shift+Ctrl+F8 prints out detailed information. - -2007-06-06 Lynn MonSanto - - * src/cthulhu/flat-review.py: fix for Bug 435553 - KeyError: - 'startOffset' during Java Control Panel flat-review - -2007-06-06 Joanmarie Diggs - - * src/cthulhu/Gecko.py: check for obj before checking children. - This is in response to one of the stack traces Rich saw in - comment #16 of bug 435199. - -2007-06-06 Willie Walker - - * src/cthulhu/script.py, src/cthulhu/focus_tracking_presenter.py, - src/cthulhu/Gecko.py, src/cthulhu/scripts/gaim.py, - src/cthulhu/scripts/StarOffice.py: fix for bug 433951 - making - changes in the Cthulhu Preferences dialog causes loss of script - state. - -2007-06-06 Rich Burridge - - * src/cthulhu/scripts/gnome-system-monitor.py (new), - src/cthulhu/scripts/Makefile.am: Fix for bug #433818 - Messages on - system tab of gnome-system-monitor are not reported by Cthulhu. - -2007-06-05 Rich Burridge - - * src/cthulhu/focus_tracking_presenter.py: Work on bug #435199 - Cthulhu - is bloating the swap partition, so the system is no more usable - after a short time. Added in a _cleanupCache() routine that gets - called in _processObjectEvent() if we've just received a - "object:children-changed:remove" event for the desktop. - -2007-06-04 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug 444148 - Cthulhu doesn't speak form - fields at landsend.com - -2007-06-04 Joanmarie Diggs - - * src/cthulhu/Gecko.py: check for obj before checking obj.text. - This is in response to one of the stack traces Rich saw in - comment #9 of bug 435199. - -2007-06-04 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Adjustment to the fix for Bug 443337 - Cthulhu - should not use the alt text if it is empty to infer a link name. - -2007-06-04 Willie Walker - - * src/cthulhu/Gecko.py: address problem where documentFrame might be - None in {set,get}CaretContext. This is in response to one of the - stack traces Rich saw in comment #9 of bug 435199. - -2007-06-04 Lynn MonSanto - - * src/cthulhu/flat-review.py: fix for Bug 436658 - flat-review speaks - "filler" for SwingSet2 demo/source tabs - -2007-06-04 Lynn MonSanto - - * src/cthulhu/J2SE-access-bridge.py: fix for Bug 437226 - Cthulhu should - handle Java labels and text where LABEL_FOR is not set - -2007-06-04 Lynn MonSanto - - * src/cthulhu/flat_review.py: fix for Bug 436658 - flat-review speaks - "filler" for SwingSet2 demo/source tabs - -2007-06-04 Lynn MonSanto - - * src/cthulhu/flat_review.py: fix for Bug 436661 - flat-review speaks - SwingSet2 toolbar image paths instead of item names - -2007-06-04 Willie Walker - - * README, configure.in: mark as 2.19.4pre - -2007-06-04 Willie Walker - - * NEWS, README, RELEASE_HOWTO, configure.in: final prep for - v2.19.3 - -2007-06-04 Willie Walker - - * po/POTFILES.in, docs/pydoc/Makefile.am: remove reference to - users-admin.py, which was removed as part of work on bug 376015 - - [a11y] time-admin time servers table is not accessible - -2007-06-03 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - 1. Fix for Bug 442083 - Cthulhu skips over empty entries with Up/Down - Arrow in Firefox - 2. Fix for Bug 443337 - Cthulhu should not use the alt text if it is - empty to infer a link name - -2007-06-03 Willie Walker - - * NEWS: initial prep for v2.19.3 - -2007-06-03 Joanmarie Diggs - - * src/cthulhu/Gecko.py: fix for bug 443650 - Cthulhu "loops" on - certain pages in Firefox - -2007-06-03 Willie Walker - - * src/cthulhu/Gecko.py: more work on bug 437753 to make the - "Automatic SayAll on document load" an optional feature. Added - the option under the "Page Navigation" panel of the Minefield - preferences tab of the Cthulhu preferences GUI. - -2007-06-02 Willie Walker - - * src/cthulhu/Gecko.py: more work on bug 437753 to implement the new - proposal for speaking/brailling when a page is loaded. - -2007-06-02 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - 1. Fix for Bug 407941 - Infer labels for objects in HTML content - 2. Fix for Bug 443067 - sayAll by sentence skips content that is - in HTML tables in Firefox - -2007-06-01 Willie Walker - - * src/cthulhu/atspi.py: fix for bug 443012 - - atspi.py:_onParentChanged upsets atspi.py:_cache in a bad way - -2007-05-31 Joanmarie Diggs - - * src/cthulhu/Gecko.py: fix for bug 442691 - Form field structural - navigation is slow to and in large lists. - -2007-05-31 Willie Walker - - * src/cthulhu/atspi.py: in deleteAccessible, convert object to - the CORBA object if someone accidentally passed in one of - our atspi.py:Accessible objects. - -2007-05-31 Willie Walker - - * src/cthulhu/Gecko.py: fix for bug 437753 - Cthulhu should speak and - braille the current locus of focus after a page is loaded in - firefox and then start reading the page. - -2007-05-31 Mario Lang - - * src/cthulhu/input_event.py, src/cthulhu/script.py, - src/cthulhu/default.py: fix for bug 441673 - Define - InputEventHandler.__eq__ (Thanks Mario!) - -2007-05-29 Lynn MonSanto - - * Fix for bug 412837 - Need a single number to summarize - test code coverage: - test/harness/trace2html-coverage-patch.txt - test/keystrokes/general-cthulhu/yelp.keys, - test/keystrokes/swriter/text-attributes.keys, - test/keystrokes/scalc/F6-navigation.keys, - test/keystrokes/scalc/whereAmI-calc.keys, - test/keystrokes/gtk-demo/whereAmI-checkbox.keys, - test/keystrokes/gtk-demo/whereAmI-treetable.keys, - test/keystrokes/gtk-demo/whereAmI-combobox.keys, - test/keystrokes/gtk-demo/whereAmI-radiobuttons.keys, - test/keystrokes/gtk-demo/whereAmI-tablist.keys, - test/keystrokes/gtk-demo/whereAmI-menu.keys, - test/keystrokes/gtk-demo/whereAmI-tabbedpane.keys, - test/keystrokes/gedit/whereAmI-text.keys, - test/keystrokes/gedit/alphanum-modifiers.keys, - test/keystrokes/gedit/whereAmI-menus.keys, - test/keystrokes/gedit/lock-key-echo.keys, - test/keystrokes/gedit/say-all-dialog.keys, - test/keystrokes/gedit/action-key-delete.keys, - test/keystrokes/gnome-terminal/whereAmI-checkbox.keys, - test/keystrokes/gnome-terminal/whereAmI-combobox.keys, - test/keystrokes/gnome-terminal/whereAmI-radiobutton.keys, - test/keystrokes/gnome-terminal/whereAmI-pushbutton.keys, - test/keystrokes/gnome-terminal/swriter-say-all.keys, - test/keystrokes/gnome-terminal/whereAmI-slider.keys, - test/keystrokes/gnome-terminal/whereAmI.keys - - Added Will's patch for trace2html which generates a single - number to summarize test code coverage. - - Fixed miscilaneous keystroke file problems. - -2007-05-29 Willie Walker - - * src/cthulhu/Gecko.py: fix for bug 423435 - Cthulhu is too chatty when - loading a page in Firefox. The Gecko developers changed the - behavior on us and we needed to adapt. - -2007-05-29 Rich Burridge - - * src/cthulhu/speechgenerator.py: - src/cthulhu/braillegenerator.py: - src/cthulhu/settings.py: - src/cthulhu/scripts/Makefile.am: - src/cthulhu/scripts/users-admin.py: (removed) - More work on bug #376015 - [a11y] time-admin time servers table - is not accessible. Changes to _getSpeechForTableCell() and - _getBrailleRegionsForTableCell(). - If this table cell has 2 children and one of them has a - 'toggle' action and the other does not, then present this - as a checkbox where: - 1) we get the checked state from the cell with the 'toggle' action - 2) we get the label from the other cell. - -2007-05-29 Rich Burridge - - * src/cthulhu/chnames.py: - More work on bug #345399 (comment #22). chnames entry for "." - changed from "period" back to "dot". - -2007-05-28 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for Bug 440079 - Cthulhu cannot arrow past - certain combo boxes in Firefox - -2007-05-28 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Better solution for Bug 441484 - Need to - adjust FF form field navigation to accommodate FF changes. - -2007-05-27 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - 1. More work on Bug 441484 - Need to adjust FF form field - navigation to accommodate FF changes. - 2. Fix for Bug 441610 - Cthulhu should identify bogus/redundant - checkbox labels in Firefox. - -2007-05-27 Joanmarie Diggs - - * src/cthulhu/chnames.py: Bug 441723 - Cthulhu should not speak - "double prime" for the number 3 - -2007-05-27 Mario Lang - - * src/cthulhu/braille.py: fix for bug 441640 - Rename - processCursorKey to processRoutingKey (Thanks Mario!). - -2007-05-27 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - 1. Fix for Bug 441476 Cthulhu should attempt to detect erroneously- - marked list labels in Firefox. - 2. Fix for Bug 441484 - Need to adjust FF form field navigation - to accommodate FF changes. - -2007-05-25 Rich Burridge - - * src/cthulhu/default.py: - src/cthulhu/chnames.py: - More work on bug #345399 - Key echo missing alpha numeric and - punctuation keys. Included extended chnames dictionary entries - (thanks Joanie). - - Testing for uppercase in sayCharacter() in default.py - now does "character.decode("UTF-8").isupper()" (thanks Will). - - The sayCharacter() method now also calls - chnames.getCharacterName(character) rather than - just passing "character" to speech.speak() (thanks Will). - -2007-05-24 Tomas Cerha - - * src/cthulhu/speechdispatcherfactory.py: fix for bug 440294 - Voice - Properties in Speech Dispatcher backend. - -2007-05-23 Rich Burridge - - * src/cthulhu/where_am_I.py: - src/cthulhu/scripts/Evolution.py: - More work on bug #435226 - Where-am-I doesn't correctly handle - multiple selected paragraphs in OOo Writer and Evolution. Cthulhu - should hopefully now handle speaking selections that start or - include blank lines/paragraphs. - -2007-05-23 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for Bug 440529 - Cthulhu bounces out of - Firefox Help Contents tree and into the document frame. - -2007-05-23 Rich Burridge - - * src/cthulhu/where_am_I.py: - Fix the translation problem mentioned in comment #51 of - bug #412200. - -2007-05-22 Rich Burridge - - * src/cthulhu/scripts/gcalctool.py: - Fix for bug #440592 - Cthulhu doesn't speak gcalctool's status bar - correctly. - -2007-05-22 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for Bug 439286 - Gecko.py's - find{Next,Previous}Object fails when object is document_frame. - -2007-05-21 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - The patch from Comment 13 of bug #435201 - http://bugzilla.gnome.org/show_bug.cgi?id=435201#c13 - was causing selected lines not to be spoken properly in OOo Writer. - It's not been removed. Fix found by Joanie (thanks!) - -2007-05-21 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for Bug 433655 - Cthulhu's structural - navigation should wrap at the end of a page. - -2007-05-21 Mario Lang - - * src/cthulhu/braillegenerator.py: fix for bug 439509 - Run - Application Dialog prints entered text twice in braille. - -2007-05-21 Rich Burridge - - * src/cthulhu/cthulhu.py: - Potential fix for bug #345399 - Key echo missing alpha numeric - and punctuation keys. - -2007-05-19 Joanmarie Diggs - - * src/cthulhu/Gecko.py: More work on Bug 420540 - Firefox keyboard - control wish list. Q/Shift+Q can now be used to navigate among - blockquotes. I also added a new method, getLastObject(), which - I need for a couple of other RFE's I'm working on. - -2007-05-18 Willie Walker - - * src/cthulhu/braillegenerator.py: fix for bug 439487 - Combobox role - not shown in braille in 'brief' verbosity mode - -2007-05-18 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for Bug 414657 - Linked headings should - be announced as both heading and link. - -2007-05-17 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #435852 - Cthulhu and OpenOffice Calc have a memory - lovefest, found by Will (thanks!). We now override the - _getSpeechForTable() method in the subclassed SpeechGenerator - class in the StarOffice.py script, and just check against - "not obj.childCount" - -2007-05-17 Willie Walker - - * src/cthulhu/scripts/gcalctool.py: fix for bug 439155 - Flat review - is broken in gcalctool - -2007-05-17 Joanmarie Diggs - - * src/cthulhu/Gecko.py, src/cthulhu/default.py: Fix for Bug 437986 - - Cthulhu should not first speak page and frame title when opening a - menu in firefox. - -2007-05-16 Willie Walker - - * src/cthulhu/braille.py: additional fix for bug 434600 to handle - case where last line of file in gedit is blank. The cursor - was ending up at the wrong spot. - -2007-05-16 Mario Lang - - * src/cthulhu/settings.py: Configurable checkbox/radio button indicator - strings for braille output. - - * src/cthulhu/braillegenerator.py, src/cthulhu/Gecko.py: Use new - braille{CheckBox,RadioButton}Indicators from settings.py. - - * src/braillegenerator.py, src/Gecko,py, - src/cthulhu/scripts/planner.py: Present checkbox and radio button - indicators before label/name in braille. - -2007-05-16 Rich Burridge - - * src/cthulhu/where_am_I.py: - src/cthulhu/scripts/Evolution.py: - Fix for bug #435226 - Where-am-I doesn't correctly handle multiple - selected paragraphs in OOo Writer and Evolution. - -2007-05-16 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - src/cthulhu/focus_tracking_presenter.py: - Work on bug #435199 - Cthulhu is bloating the swap partition, so - the system is no more usable after a short time. - - Adjusted the StarOffice script to use the new activate() and - deactivate() script methods to initially set the value of the - readTableCellRow setting to False when OOo is running, and - restoring it to its previous value when that application is no - longer active. - -2007-05-16 Willie Walker - - * src/cthulhu/Gecko.py: fix typos from 434600. :-( - -2007-05-15 Willie Walker - - * src/cthulhu/braille.py, src/cthulhu/braillegenerator.py, - src/cthulhu/Gecko.py: fix for bug 434600 to allow cursor - routing keys to position caret at end of line. - -2007-05-14 Willie Walker - - * src/cthulhu/speechdispatcherfactory.py: fix for bug 349394 - to make Speech Dispatcher Factory work better with Cthulhu - GUI preferences. - -2007-05-13 Willie Walker - - * configure.in, NEWS: prep for v2.19.2 - -2007-05-12 Willie Walker - - * README, NEWS: initial prep for v2.19.2 - -2007-05-12 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for Bug 412677 - Navigation to links - with { overflow:hidden } stylesheet results in bad behavior. - -2007-05-11 Joanmarie Diggs - - * src/cthulhu/Gecko.py: Fix for bug #407663 - Support the "Find" - operation in Firefox better. There are several new behaviors - and features which will be announced on the Cthulhu list soon. - If you can't wait, be sure that you have at least the 9th May - build of Firefox and give the Find toolbar a try. Also be - sure to check out the additional settings on the Minefield - pane of the Firefox app-specific settings dialog. Hopefully - you should be able to customize things to get however much - or however little information you want spoken. :-) - -2007-05-11 Lynn MonSanto - - * src/cthulhu/flat-review.py: Fix for Bug 436674 flat-review - only visits right-most tree nodes in SwingSet2 JTree demo - -2007-05-11 Rich Burridge - - * src/cthulhu/scripts/gaim.py: - src/cthulhu/scripts/StarOffice.py: - Add comments for translators for the new strings in the - getAppPreferencesGUI() methods in these two scripts. - -2007-05-11 Willie Walker - - * src/cthulhu/Gecko.py: add docs for translators. Also avoid - embedding markup (e.g., ...) in strings marked for - translation as described in the pitfalls section of: - http://developer.gnome.org/doc/tutorials/gnome-i18n/developer.html - -2007-05-11 Rich Burridge - - * src/cthulhu/scripts/Evolution.py: - Fix for the Evolution sayAll problem reported in comment #54 - of bug #400716. - -2007-05-11 Willie Walker - - * src/cthulhu/focus_tracking_presenter.py: lower debug level of - event queuing and dequeing messages to ALL from FINEST. - -2007-05-11 Rich Burridge - - * src/cthulhu/scripts/Evolution.py: - Fix for the Evolution sayAll problem reported in comment #51 - of bug #400716. - -2007-05-11 Willie Walker - - * src/cthulhu/Gecko.py: fix for bug 423435 to reduce the chattiness - of Cthulhu when loading a new page in Firefox. - -2007-05-11 Rich Burridge - - * src/cthulhu/scripts/gedit.py: - src/cthulhu/scripts/gcalctool.py: - src/cthulhu/scripts/gnome-terminal.py: - src/cthulhu/scripts/acroread.py: - src/cthulhu/scripts/Evolution.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/cthulhu.py: - src/cthulhu/default.py: - src/cthulhu/focus_tracking_presenter.py: - src/cthulhu/Gecko.py: - src/cthulhu/cthulhu_state.py: - Hopefully fixed the "no speech" problem related to bug #435201, - because we were getting the key events in a different order. - We now save a handle to the last non-modifier key event in - cthulhu_state.lastNonModifierKeyEvent, and use that in - _presentTextAtNewCaretPosition() to check what type of modified - key event we currently have. - - Note that there were numerous other places where a similar - problem could have existed. - -2007-05-10 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Implement the suggestion from Will in comment #25 of bug #435852. - We now use the extents of the parent table to find a range of - spread sheet cells in the current row, that the current cell is in, - when we are speaking/brailling "by row". - -2007-05-10 Rich Burridge - - * src/cthulhu/scripts/Evolution.py: - Fix for the Evolution sayAll problem reported in comment #48 - of bug #400716. - -2007-05-09 Joanmarie Diggs - - * src/cthulhu/Gecko.py: More work on bug #423427 - Need to add - form field structural navigation in Firefox. The a11y guys - at Firefox have been hard at work fixing the bugs we needed - fixed to have more reliable form field structural navigation. - Thanks guys! We needed to update and adjust Gecko.py to work - correctly with their new changes. - -2007-05-09 Rich Burridge - - * src/cthulhu/cthulhu_gui_prefs.py: - src/cthulhu/settings.py: - src/cthulhu/cthulhu-setup.glade: - Fix for bug #368640 - Allow user to optionally ignore or be - notified of tool tips. There is now a "Present Tooltips" - checkbox available on the General pane of the Cthulhu Preferences - dialog that allows the user to un/set this feature. - - Mouse move events don't update cthulhu_state.lastInputEvent so - it's possible the user accidentally nudged the mouse and - generated another tooltip event. If the current time minus - the last keyboard event time is greater than 0.2 seconds, - than just ignore this tooltip event. - -2007-05-09 Rich Burridge - - * src/cthulhu/script.py: - src/cthulhu/focus_tracking_presenter.py: - Fix for bug #437004 - Add in hooks for allowing - activation/deactivation script methods. - Added two new methods to the Script class in script.py: - - def activate(self): - def deactivate(self): - - Added a new setActiveScript(self, newScript): - - method in focus_tracking_presenter.py, and replaced all - occurances of "cthulhu_state.activeScript = ..." with a call - to self.setActiveScript(). - - * src/cthulhu/where_am_I.py: - Fix for bug #435223 - Where-am-I doesn't correctly identify - multiple selected objects in Nautilus. - -2007-05-09 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #363804 - Add ability to turn off coordinate - announcement when navigating in Calc. - Added a new "Speak spread sheet cell coordinates" checkbox to - the app-specific GUI settings for StarOffice/OpenOffice. - -2007-05-08 Lynn MonSanto - - * test/harness/runall.sh: removed a minor change that was - accidently putback. A line was commented out that - removes the temporary files after a run. - -2007-05-08 Lynn MonSanto - - * src/cthulhu/J2SE-access-bridge.py, src/cthulhu/rolenames.py, - Bug 437049 Cthulhu does not speak Java Control Panel spinbox changes. - Added rolenames.ROLE_SPIN_BOX. Also included a potential workaround - for bogus text events where the text object is null. The - J2SE-access-bridge script discards the events. - -2007-05-08 Willie Walker - - * src/cthulhu/scripts/gnome-panel.py, src/cthulhu/rolenames.py, - src/cthulhu/focus_tracking_presenter.py: typo fixes from - delYsid (Mario Lang). - -2007-05-08 Joanmarie Diggs - - * src/cthulhu/scripts/gnome-panel.py: More work on bug 435577 - - Cthulhu does not speak labels of embedded components in gnome-panel. - -2007-05-08 Mike Pedersen - - * docs/doc-set/ue_requirements.sgml, - * docs/doc-set/cthulhu.html, - * docs/doc-set/ue_input_style.sgml, - * docs/doc-set/cthulhu.pdf - - yet more Updates to the specs - -2007-05-08 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #435201 - Cthulhu is too chatty when navigating by - paragraph in OOo Writer. - Ignore "object:text-caret-moved" events when moving my paragraph - in OOo Writer using Control-Up/Down, if event.detail1 is -1. - -2007-05-07 Joanmarie Diggs - - * src/cthulhu/Gecko.py: - 1. Fix for bug #436718: Navigating in focusable lists in - Firefox's 7-May build hangs Cthulhu. In this afternoon's Firefox, - the children of lists in forms stopped being menu items and - started being list items. The goal of this fix is to stop the - hanging and re-enable list navigation under these new - conditions. Note that Cthulhu might declare items in form lists - as "greyed." As soon as I hear back from the Firefox guys as - to whether this change was intentional or is a new bug, I'll - adjust accordingly. - * src/cthulhu/Gecko.py, src/cthulhu/default.py: - 2. Fix for bug #428114: Cthulhu should attempt to detect erroneously- - marked combo box labels in Firefox. If a combo box's label - consists of the entire contents of the combo box, the label - is bogus and should be ignored. - -2007-05-07 Willie Walker - - * src/cthulhu/keybindings.py: add __str__ function for KeyBindings - class. - -2007-05-07 Rich Burridge - - * src/cthulhu/focus_tracking_presenter.py: - Hopefully the last fix for bug #433146 - Add ability to - configure app-unique settings via GUI. New app-specific - keybindings are now automatically working (once they've - been set), without having to Alt-Tab away and back or - reloading Cthulhu. - - * src/cthulhu/settings.py: - Part of the fallout of working on bug #435852 - Cthulhu and - OpenOffice Calc have a memory lovefest. The default setting - for "readTableCellRow" is now False rather than True. This - improves memory performance in OOo Calc spreadsheets which, - by default, contain 256 cells per row. - - Note that as we now have application specific settings, it's - possible to set "readTableCellRow" to True for individual - applications (such as Evolution), easily overriding the default. - - * src/cthulhu/settings.py: - Boing said Zeppedee! The change setting "readTableCellRow" ito - False has been removed. It's now back to True per comment #34 - from Mike in bug #435852. - -2007-05-07 Mike Pedersen - - * docs/doc-set/ue_requirements.sgml, - * docs/doc-set/cthulhu.html, - * docs/doc-set/cthulhu.pdf - - yet more Updates to the specs - -2007-05-07 Rich Burridge - - * test/keystrokes/gnome-terminal/swriter-say-all.keys - Fix for bug with swriter opening docs/doc-set/cthulhu.html - -2007-05-04 Rich Burridge - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #435852 - Cthulhu and OpenOffice Calc have a memory - lovefest. (Fix from Will and Joanie - thanks). - -2007-05-04 Willie Walker - - * src/cthulhu/cthulhu.py, src/cthulhu/cthulhu.in, src/cthulhu/keybindings.py: - more work on bug 434948 to allow Cthulhu modifier key to work on keys - that use multiple keysyms. - -2007-05-03 Rich Burridge - - * src/cthulhu/braillegenerator.py: - src/cthulhu/speechgenerator.py: - Provided an adequate workaround for the problem in bug - #433398 - Cthulhu does not provide access to the state of - checked menu items in OOo. - - * src/cthulhu/scripts/StarOffice.py: - Fix for bug #435307 - OOo Calc output traceback for - UnboundLocalError: local variable 'focusRegion' - referenced before assignment. Just needed to initialize - focusRegion to None need the beginning of the - _getBrailleRegionsForTableCellRow() method in the - StarOffice script. - -2007-05-03 Joanmarie Diggs - - * src/cthulhu/default.py: Fix for bug 435577 - Cthulhu does not speak - labels of embedded components in gnome-panel. - -2007-05-02 Mike Pedersen - - * docs/doc-set/ue_requirements.sgml, - * docs/doc-set/cthulhu.html, - * docs/doc-set/cthulhu.pdf - - yet more Updates to the specs - -2007-05-02 Willie Walker - - * src/cthulhu/braille.py: fix for bug 432685 to prevent use of - BrlTTY 3.8 from consuming large amounts of the available CPU. - The fix was to add an IO watch on the BrlAPI file descriptor - instead of polling BrlAPI in a gidle handler. - -2007-05-02 Willie Walker - - * src/cthulhu/cthulhu.py, src/cthulhu/J2SE-access-bridge.py, - src/cthulhu/keybindings.py: fix for bug 434948 to allow - Cthulhu modifier key to work on keys that use multiple - keysyms. - -2007-05-02 Rich Burridge - - * src/cthulhu/app_gui_prefs.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/focus_tracking_presenter.py: - Hopefully the final fixes for bug #433146 - Add ability to - configure app-unique settings via GUI. - - There were three problems: - - 1/ In loadAppsettings() in focus_tracking_presenter.py, there - was a bogus space in a call to self._knownAppSettings.has_key(). - - 2/ In _writeAppPreferencesPostamble() in cthulhu_prefs.py, the import - line that was written out for the -customizations - file needed to have an initial "app-settings.". - - 3/ In writeUserPreferences() in app_gui_prefs.py, we needed to - call the loadAppsettings() method in FocusTrackingPresenter to - get the new key bindings to kick in for the currently running - application. - -2007-05-01 Rich Burridge - - * src/cthulhu/script.py: - Slight fixup for bug #433146. Needed to define a "skeleton" - def overrideAppKeyBindings(self, script, keyBindings) routine - to prevent a traceback if there were no custom key bindings - found. - - Also needed to check in loadAppSettings if the specified - module name has an "overrideAppKeyBindings" attribute. - -2007-05-01 Rich Burridge - - * src/cthulhu/scripts/gaim.py: - src/cthulhu/scripts/StarOffice.py: - src/cthulhu/Gecko.py: - src/cthulhu/cthulhu_prefs.py: - src/cthulhu/app_gui_prefs.py: - src/cthulhu/script.py: - Work on bug #433146 - Add ability to configure app-unique - settings via GUI. - - Added two new methods to the Script class: - def getAppPreferencesGUI(self): - Returns a GtkVBox contain the application unique configuration - GUI items for the current application. - - def setAppPreferences(self, prefs): - Write out the application specific preferences lines and - set the new values. - - Any application that has application unique settings need to - overridge those methods any implement them. - - If