Ok, I'll make the XAP_Spell object, and then add a protected XAP_Spell *
to XAP_App, along with a getSpell() method to XAP_App. The XAP_Spell
pointer will be initialized in "initialize" which will load any relevant
dictionary information (according to prefs).
> 2. By contrast, I'm pretty sure "ignore all" only makes sense as
> per-document functionality. If you never want a particular word flagged in
> any document, add it to your dictionary. If you don't want it flagged in
> *this* document, ignore all.
Ok, as I said before, we just need a hash table, so I propose adding a
protected UT_HashTable to AD_Document, along with with two functions:
UT_Bool isSpellIgnore(UT_UCSChar * word);
UT_Bool addSpellIgnore(UT_UCSChar * word);
If this sounds ok, I'll add the "ignore all" stuff to AD_Document, make
the spelling dialog use it, and add the single line to fl_BlockLayout
necessary to make the squiggles follow it, too.
Once I do part 1, if that also sounds like a good place to put
xap_Spell to you, I'll look at context menu spelling suggestions (which
ought to be very simple at that point).
Justin