Last modified 15 years ago
Last modified on 05/21/10 14:19:10
Analysis
Overview
Support for spell-checking needs to be added to Sophie. At this revision, actual implementation should be done.
Task requirements
According to the results from the first revision of the task, the following things should be supported in Sophie spell check:
- The Tools tab will contain a spell-check palette. It will contain the following elements:
- A language selection drop-down - will list the languages with dictionaries available (will search for them in a pre-defined folder, no need for user browsing yet).
- Spell-check button - will run a spell check on all the text in the book against the currently selected language.
- Should be dimmed if no languages are available.
- Toggle underline button - will turn on/off underlining of misspelled words (they will be underlined with a dotted line as in Trac).
- Replace/Ignore buttons - will replace/ignore the currently selected misspelled word.
- Replace all/Ignore all - will replace/ignore all occurrences of the currently selected misspelled word.
- At this revision words are ignored for the current session only.
- Add to dictionary - will add the word to the dictionary for the currently selected language.
- A list of misspelled words - it will contain the currently found misspelled words.
- Clicking on a misspelled word will highlight it (select it) in the text (and go to the page it is on if necessary).
- A list of suggestions for correction - it will contain possible corrections for the selected misspelled word.
- Double-clicking on a suggestion will replace the misspelled word.
- When a word is replaced/ignored, the next misspelled word is selected.
Task result
Source code
Implementation idea
Use the demo from the previous revision of the task as a starting point for the implementation.
Related
How to demo
Demonstrate the use of spell-check:
- Type some text in a text frame in Sophie.
- Open the spell check palette and run the check.
- Show the various controls in the palette.
Design
Describe your design here.
Implementation
Describe and link the implementation results here (from the wiki or the repository).
Testing
Place the testing results here.
Comments
Write comments for this or later revisions here.