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

List:       kde-commits
Subject:    KDE_3_3_BRANCH: kdepim/kmail
From:       Ingo Klöcker <kloecker () kde ! org>
Date:       2004-11-07 16:39:45
Message-ID: 20041107163945.6F84016BE4 () office ! kde ! org
[Download RAW message or body]

CVS commit by kloecker: 

Fix broken order of folders in the folder combobox. Since we now allow subfolders \
below the system folders we can't simply move the system folders to the begin of the \
list. Therefore we now leave the system folders where they are. Additionally, the \
local folders are now listed before the IMAP folders which should have always been \
the case. BUG:92710


  M +15 -21    kmfoldercombobox.cpp   1.18.2.1


--- kdepim/kmail/kmfoldercombobox.cpp  #1.18:1.18.2.1
@@ -66,29 +66,23 @@ void KMFolderComboBox::createFolderList(
                                         QValueList<QGuardedPtr<KMFolder> > *folders)
 {
+  kmkernel->folderMgr()->createI18nFolderList( names, folders );
+  if ( !mOutboxShown ) {
+    QValueList< QGuardedPtr<KMFolder> >::iterator folderIt = folders->begin();
+    QStringList::iterator namesIt = names->begin();
+    for ( ; folderIt != folders->end(); ++folderIt, ++namesIt ) {
+      KMFolder *folder = *folderIt;
+      if ( folder == kmkernel->outboxFolder() )
+        break;
+    }
+    if ( folderIt != folders->end() ) {
+      folders->remove( folderIt );
+      names->remove( namesIt );
+    }
+  }
+
   if (mImapShown)
     kmkernel->imapFolderMgr()->createI18nFolderList( names, folders );
 
   kmkernel->dimapFolderMgr()->createI18nFolderList( names, folders );
-  kmkernel->folderMgr()->createFolderList( names, folders );
-  uint i = 0;
-  while (i < folders->count())
-  {
-    if ((*(folders->at(i)))->isSystemFolder()
-        && (*(folders->at(i)))->folderType() != KMFolderTypeImap
-        && (*(folders->at(i)))->folderType() != KMFolderTypeCachedImap)
-    {
-      folders->remove(folders->at(i));
-      names->remove(names->at(i));
-    }
-    else i++;
-  }
-
-  folders->prepend(kmkernel->draftsFolder());
-  folders->prepend(kmkernel->trashFolder());
-  folders->prepend(kmkernel->sentFolder());
-  if (mOutboxShown) folders->prepend(kmkernel->outboxFolder());
-  folders->prepend(kmkernel->inboxFolder());
-  for (int i = ((mOutboxShown) ? 4 : 3); i >= 0; i--)
-    names->prepend((*(folders->at(i)))->label());
 }
 


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

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