]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.cpp
Add outline-in/out/up/down to the outline context menu.
[lyx.git] / src / Paragraph.cpp
index 3371afaf3e63609ce06b41a6e03380a8dd2c4139..2bd646e0833c874f39ce88b6173da932a3320ae0 100644 (file)
@@ -2352,7 +2352,12 @@ bool Paragraph::isLetter(pos_type pos) const
        if (Inset const * inset = getInset(pos))
                return inset->isLetter();
        char_type const c = d->text_[pos];
-       return isLetterChar(c) || isDigit(c);
+    // We want to pass the ' and escape chars to the spellchecker
+       static docstring const quote = from_utf8(lyxrc.spellchecker_esc_chars + '\'');
+       return (isLetterChar(c) || isDigit(c) || contains(quote, c))
+               && (!d->inset_owner_ || d->inset_owner_->allowSpellCheck())
+               && pos != size()
+               && !isDeleted(pos);
 }
 
 
@@ -2905,15 +2910,13 @@ void Paragraph::locateWord(pos_type & from, pos_type & to,
 }
 
 
-void Paragraph::collectWords(CursorSlice const & sl)
+void Paragraph::collectWords()
 {
        SpellChecker * speller = theSpellChecker();
 
        //lyxerr << "Words: ";
        pos_type n = size();
        for (pos_type pos = 0; pos < n; ++pos) {
-               if (isDeleted(pos))
-                       continue;
                if (!isLetter(pos))
                        continue;
                pos_type from = pos;
@@ -2955,11 +2958,10 @@ void Paragraph::registerWords()
 }
 
 
-void Paragraph::updateWords(CursorSlice const & sl)
+void Paragraph::updateWords()
 {
-       LASSERT(&sl.paragraph() == this, /**/);
        deregisterWords();
-       collectWords(sl);
+       collectWords();
        registerWords();
 }