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

List:       kde-commits
Subject:    branches/KDE/3.5/kdepim
From:       Pradeepto Bhattacharya <pradeepto () kde ! org>
Date:       2008-07-23 5:02:14
Message-ID: 1216789334.789895.546.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 836826 by pradeepto:

Merged revisions 780251 via svnmerge from 
svn+ssh://pradeepto@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim

........
  r780251 | ervin | 2008-02-28 19:39:13 +0530 (Thu, 28 Feb 2008) | 3 lines
  
  Allow to set the state of several thread at a time.
  Fixes Intevation issue 2413.
........


 _M            . (directory)  
 M  +30 -1     kmail/kmheaders.cpp  
 M  +1 -6      kmail/kmmainwidget.cpp  


** branches/KDE/3.5/kdepim #property svnmerge-integrated
   - /branches/kdepim/enterprise/kdepim:1-767022,767033,767233-767554,767556,767558-76 \
7946,767948-769318,769320-769354,769356-771105,771107-771251,771253-772311,772313-7723 \
16,772318-775194,775196-775202,775204,775207-775211,775213-778001,778003-778004,778007 \
,778010-778011,778013-778029,778031-778727,778729-779448,779450-779482,779484-779505,7 \
79507-779852,779854-779994,780211,782647-783127,783129-783243,783245,783248-783477,783 \
479-783847,784547,787827,817568,817604,817710-818288,818312-819076,819078-820073,82007 \
5-821035,821037-821124,821126-821378,821380-821648,821650-821813,821815-821835,821837- \
822268,822270-823864,823866-824217,824219-824277,824279-824285,824287-824288,824290-824805,824807-825075,825077-825083,825085-826354,826356-827491,830100,830443
  + /branches/kdepim/enterprise/kdepim:1-767022,767033,767233-767554,767556,767558-767 \
946,767948-769318,769320-769354,769356-771105,771107-771251,771253-772311,772313-77231 \
6,772318-775194,775196-775202,775204,775207-775211,775213-778001,778003-778004,778007, \
778010-778011,778013-778029,778031-778727,778729-779448,779450-779482,779484-779505,77 \
9507-779852,779854-779994,780211,780251,782647-783127,783129-783243,783245,783248-7834 \
77,783479-783847,784547,787827,817568,817604,817710-818288,818312-819076,819078-820073 \
,820075-821035,821037-821124,821126-821378,821380-821648,821650-821813,821815-821835,8 \
21837-822268,822270-823864,823866-824217,824219-824277,824279-824285,824287-824288,824290-824805,824807-825075,825077-825083,825085-826354,826356-827491,830100,830443
                
--- branches/KDE/3.5/kdepim/kmail/kmheaders.cpp #836825:836826
@@ -1218,7 +1218,36 @@
 
 void KMHeaders::setThreadStatus(KMMsgStatus status, bool toggle)
 {
-  QPtrList<QListViewItem> curThread = currentThread();
+  QPtrList<QListViewItem> curThread;
+
+  if (mFolder) {
+    QPtrList<QListViewItem> topOfThreads;
+
+    // for each selected item...
+    for (QListViewItem *item = firstChild(); item; item = item->itemBelow())
+      if (item->isSelected() ) {
+        // ...find the top-level item:
+        QListViewItem *top = item;
+        while ( top->parent() )
+          top = top->parent();
+        if (!topOfThreads.contains(top)) {
+          topOfThreads.append(top);
+        }
+      }
+
+    // for each thread found...
+    for ( QPtrListIterator<QListViewItem> it( topOfThreads ) ;
+          it.current() ; ++ it ) {
+        QListViewItem *top = *it;
+
+        // collect the items in this thread:
+        QListViewItem *topOfNextThread = top->nextSibling();
+        for ( QListViewItemIterator it( top ) ;
+              it.current() && it.current() != topOfNextThread ; ++it )
+          curThread.append( it.current() );
+    }
+  }
+
   QPtrListIterator<QListViewItem> it( curThread );
   SerNumList serNums;
 
--- branches/KDE/3.5/kdepim/kmail/kmmainwidget.cpp #836825:836826
@@ -3306,15 +3306,10 @@
     bool allSelectedInCommonThread = false;
     if ( mHeaders->isThreaded() && count > 1 ) {
       allSelectedInCommonThread = true;
-      QListViewItem * curItemParent = mHeaders->currentItem();
-      while ( curItemParent->parent() )
-        curItemParent = curItemParent->parent();
       for ( QPtrListIterator<QListViewItem> it( selectedItems ) ;
             it.current() ; ++ it ) {
         QListViewItem * item = *it;
-        while ( item->parent() )
-          item = item->parent();
-        if ( item != curItemParent ) {
+        if ( item->parent()==0 && item->childCount()==0 ) {
           allSelectedInCommonThread = false;
           break;
         }


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

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