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

List:       kde-commits
Subject:    kdepim/kmail
From:       Till Adam <adam () kde ! org>
Date:       2005-04-21 22:10:59
Message-ID: 20050421221059.F198B651 () office ! kde ! org
[Download RAW message or body]

CVS commit by tilladam: 

Make sure a connection to the server can be established before attempting to create an online \
imap folder. 


  M +11 -7     newfolderdialog.cpp   1.8


--- kdepim/kmail/newfolderdialog.cpp  #1.7:1.8
@@ -193,12 +193,16 @@ void NewFolderDialog::slotOk()
   KMFolder *newFolder = 0;
 
-  if ( mFolder && mFolder->folderType() == KMFolderTypeImap) {
+   if ( mFolder && mFolder->folderType() == KMFolderTypeImap ) {
+    KMFolderImap* selectedStorage = static_cast<KMFolderImap*>( mFolder->storage() );
+    KMAcctImap *anAccount = selectedStorage->account();
+    // check if a connection is available BEFORE creating the folder
+    if (anAccount->makeConnection() == ImapAccountBase::Connected) {
     newFolder = kmkernel->imapFolderMgr()->createFolder( fldName, FALSE, KMFolderTypeImap, \
selectedFolderDir );  if ( newFolder ) {
-      KMFolderImap* selectedStorage = static_cast<KMFolderImap*>( mFolder->storage() );
       selectedStorage->createFolder(fldName); // create it on the server
       static_cast<KMFolderImap*>(mFolder->storage())->setAccount( selectedStorage->account() \
);  success = true;
     }
+    }
   } else if ( mFolder && mFolder->folderType() == KMFolderTypeCachedImap ) {
     newFolder = kmkernel->dimapFolderMgr()->createFolder( fldName, FALSE, \
KMFolderTypeCachedImap, selectedFolderDir );


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

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