I suspect the easiest UI to explain to our target user -- the church
secretary -- is to stick to app-wide settings for spelling.
For example, when there's only one default custom dictionary, you always
know where that Add popup is going to stick things. Likewise, if you turn
off squiggles, you want them off, period.
Finally, even if for some reason we wanted to do the extra work to support
per-document settings, we'd still need to have some way to (temporarily)
shut down spell-checking across the entire app.
Here's why. The simplest, most powerful UI I've seen for editing custom
dictionaries is to:
1. if autospell is on, warn the user that spelling is getting shut off
2. shut it off
3. use the UTF8 importer to load custom.dic into a new frame
4. use the full power of AbiWord to scroll and edit that file
5. block saves to the same document unless they're UTF8
6. when that frame gets closed, restart spell checking (if relevant)
To implement this feature, you'll need to touch code in a variety of
different places, but it shouldn't be too bad. All it needs is:
- a frame-specific setting so you know it's editing a dictionary
- an app-wide setting that the views honor
- a similar check in the dlgSpell() edit method which, instead of
raising the dialog, pops up a message reminding the user that
spell checking is disabled until they finish editing the
dictionary, and offers to take them to that window (yes/no)
- a little glue code to pull it all together
Pretty sweet, huh?