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

List:       kde-commits
Subject:    KDE_3_4_BRANCH: kdepim/kmail
From:       Till Adam <adam () kde ! org>
Date:       2005-04-21 22:18:32
Message-ID: 20050421221832.62564651 () office ! kde ! org
[Download RAW message or body]

CVS commit by tilladam: 

Backport "new folder" dialog fixes.


  M +19 -8     newfolderdialog.cpp   1.6.2.1
  M +1 -0      newfolderdialog.h   1.1.2.1


--- kdepim/kmail/newfolderdialog.cpp  #1.6:1.6.2.1
@@ -80,4 +80,5 @@ NewFolderDialog::NewFolderDialog( QWidge
   mNameHBox->addWidget( mNameLineEdit );
   mTopLevelLayout->addLayout( mNameHBox );
+  connect( mNameLineEdit, SIGNAL( textChanged ( const QString & ) ), this, SLOT( \
slotFolderNameChanged( const QString & ) ) );  
   if ( !mFolder || 
@@ -133,4 +134,10 @@ NewFolderDialog::NewFolderDialog( QWidge
   resize( QSize(282, 108).expandedTo(minimumSizeHint()) );
   clearWState( WState_Polished );
+  slotFolderNameChanged( mNameLineEdit->text());
+}
+
+void NewFolderDialog::slotFolderNameChanged( const QString & _text)
+{
+  enableButtonOK( !_text.isEmpty() );
 }
 
@@ -186,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 );

--- kdepim/kmail/newfolderdialog.h  #1.1:1.1.2.1
@@ -67,4 +67,5 @@ class NewFolderDialog : public KDialogBa
   protected slots:
     void slotOk();
+  void slotFolderNameChanged( const QString & _text);
 
   private:


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

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