[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/kate/spellcheck
From:       Christoph Cullmann <cullmann () kde ! org>
Date:       2010-05-09 11:31:40
Message-ID: 20100509113140.786A6AC8B1 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1124551 by cullmann:

mludwig:
    - There is no need to call ‘performSpellCheck()' in ‘freeDocument' at all as \
                the document will be freed anyway.
    - Remove 'm_installedMovingRangeList' as it isn't really needed.


 M  +6 -16     ontheflycheck.cpp  
 M  +3 -6      ontheflycheck.h  


--- trunk/KDE/kdelibs/kate/spellcheck/ontheflycheck.cpp #1124550:1124551
@@ -68,7 +68,7 @@
 
 KateOnTheFlyChecker::~KateOnTheFlyChecker()
 {
-  freeDocument(true);
+  freeDocument();
 }
 
 int KateOnTheFlyChecker::debugArea()
@@ -341,10 +341,11 @@
   }
 }
 
-void KateOnTheFlyChecker::freeDocument(bool onDestruction)
+void KateOnTheFlyChecker::freeDocument()
 {
   ON_THE_FLY_DEBUG;
 
+  // empty the spell check queue
   for(QList<SpellCheckItem>::iterator i = m_spellCheckQueue.begin();
                                       i != m_spellCheckQueue.end();) {
       ON_THE_FLY_DEBUG << "erasing range " << *i;
@@ -358,18 +359,15 @@
   }
   stopCurrentSpellCheck();
 
+  m_myranges.clear();
+  
   MisspelledList misspelledList = m_misspelledList; // make a copy!
   foreach(const MisspelledItem &i, misspelledList) {
     deleteMovingRange(i.first);
   }
   m_misspelledList.clear();
   clearModificationList();
-  
-  // only fire timer if we are not destructed atm
-  if(!onDestruction && !m_spellCheckQueue.isEmpty()) {
-    QTimer::singleShot(0, this, SLOT(performSpellCheck()));
   }
-}
 
 void KateOnTheFlyChecker::performSpellCheck()
 {
@@ -433,8 +431,6 @@
 
   m_myranges.removeAll(movingRange);
 
-  m_installedMovingRangeList.removeAll(movingRange);
-
   for(MisspelledList::iterator i = m_misspelledList.begin(); i != \
m_misspelledList.end();) {  if((*i).first == movingRange) {
       i = m_misspelledList.erase(i);
@@ -629,12 +625,11 @@
   attribute->setUnderlineStyle(QTextCharFormat::SpellCheckUnderline);
   attribute->setUnderlineColor(KateRendererConfig::global()->spellingMistakeLineColor());
  
-  // don'T print this range
+  // don't print this range
   movingRange->setAttributeOnlyForViews (true);
 
   movingRange->setAttribute(KTextEditor::Attribute::Ptr(attribute));
   m_misspelledList.push_back(MisspelledItem(movingRange, \
                m_currentlyCheckedItem.second));
-  installMovingRange(movingRange);
 
   if(m_backgroundChecker) {
     m_backgroundChecker->continueChecking();
@@ -669,11 +664,6 @@
   return toReturn;
 }
 
-void KateOnTheFlyChecker::installMovingRange(KTextEditor::MovingRange *movingRange)
-{
-  m_installedMovingRangeList.push_back(movingRange);
-}
-
 void KateOnTheFlyChecker::updateConfig()
 {
   ON_THE_FLY_DEBUG;
--- trunk/KDE/kdelibs/kate/spellcheck/ontheflycheck.h #1124550:1124551
@@ -78,16 +78,15 @@
     SpellCheckItem m_currentlyCheckedItem;
     static const SpellCheckItem invalidSpellCheckQueueItem;
     MisspelledList m_misspelledList;
-    MovingRangeList m_installedMovingRangeList;
     ModificationList m_modificationList;
     KateDocument::OffsetList m_currentDecToEncOffsetList;
+    QList<KTextEditor::MovingRange*> m_myranges;
+    QMap<KTextEditor::View*, KTextEditor::Range> m_displayRangeMap;
 
-    void freeDocument(bool onDestruction = false);
+    void freeDocument();
 
     MovingRangeList installedMovingRanges(const KTextEditor::Range& range);
 
-    void installMovingRange(KTextEditor::MovingRange *movingRange);
-
     void queueLineSpellCheck(KateDocument *document, int line);
     /**
      * 'range' must be on a single line
@@ -112,8 +111,6 @@
     virtual void caretEnteredRange(KTextEditor::MovingRange *range, \
                KTextEditor::View *view);
     virtual void caretExitedRange(KTextEditor::MovingRange *range, KTextEditor::View \
*view);  
-    QMap<KTextEditor::View*, KTextEditor::Range> m_displayRangeMap;
-    QList<KTextEditor::MovingRange*> m_myranges;
     KTextEditor::Range findWordBoundaries(const KTextEditor::Cursor& begin,
                                           const KTextEditor::Cursor& end);
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic