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

List:       kde-commits
Subject:    KDE_3_3_BRANCH: kdepim/kmail
From:       Till Adam <adam () kde ! org>
Date:       2004-11-19 11:46:04
Message-ID: 20041119114604.8948616DB7 () office ! kde ! org
[Download RAW message or body]

CVS commit by tilladam: 

Backport speed and crash fix from HEAD, since reactions there were 
positive.


  M +8 -36     kmheaders.cpp   1.658.2.8


--- kdepim/kmail/kmheaders.cpp  #1.658.2.7:1.658.2.8
@@ -1561,25 +1561,15 @@ void KMHeaders::applyFiltersOnMsg()
     scheduler->execFilters( msg );
 #else
-  emit maybeDeleting();
+  int contentX, contentY;
+  KMHeaderItem *nextItem = prepareMove( &contentX, &contentY );
 
-  disconnect(this,SIGNAL(currentChanged(QListViewItem*)),
-             this,SLOT(highlightMessage(QListViewItem*)));
   KMMessageList* msgList = selectedMsgs();
-  int topX = contentsX();
-  int topY = contentsY();
-
   if (msgList->isEmpty())
     return;
-  QListViewItem *qlvi = currentItem();
-  QListViewItem *next = qlvi;
-  while (next && next->isSelected())
-    next = next->itemBelow();
-  if (!next || (next && next->isSelected())) {
-    next = qlvi;
-    while (next && next->isSelected())
-      next = next->itemAbove();
-  }
+  finalizeMove( nextItem, contentX, contentY );
+
+  CREATE_TIMER(filter);
+  START_TIMER(filter);
 
-  clearSelection();
   for (KMMsgBase* msgBase=msgList->first(); msgBase; msgBase=msgList->next()) {
     int idx = msgBase->parent()->find(msgBase);
@@ -1598,24 +1588,6 @@ void KMHeaders::applyFiltersOnMsg()
     }
   }
-
-  setContentsPos( topX, topY );
-  emit selected( 0 );
-  if (next) {
-    setCurrentItem( next );
-    setSelected( next, true );
-    setSelectionAnchor( currentItem() );
-    highlightMessage( next );
-  }
-  else if (currentItem()) {
-    setSelected( currentItem(), true );
-    setSelectionAnchor( currentItem() );
-    highlightMessage( currentItem() );
-  }
-  else
-    emit selected( 0 );
-
-  makeHeaderVisible();
-  connect(this,SIGNAL(currentChanged(QListViewItem*)),
-          this,SLOT(highlightMessage(QListViewItem*)));
+  END_TIMER(filter);
+  SHOW_TIMER(filter);
 #endif
 }


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

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