Fix precommand. Fix local Mailbox and Maildir accounts.

svn path=/branches/kdepim/enterprise/kdepim/; revision=706179
wilder-work
Bruno Virlet 19 years ago
parent 9f70523c02
commit 707f3191fc
  1. 17
      kmaccount.cpp
  2. 4
      kmaccount.h
  3. 6
      kmacctlocal.cpp
  4. 3
      kmacctmaildir.cpp
  5. 2
      kmacctmaildir.h
  6. 1
      kmsender.cpp

@ -89,7 +89,8 @@ KMAccount::KMAccount(AccountManager* aOwner, const QString& aName, uint id)
mExclude(false),
mCheckingMail(false),
mHasInbox(false),
mMailCheckProgressItem(0)
mMailCheckProgressItem(0),
mPrecommandProcess(0)
{
assert(aOwner != 0);
}
@ -355,19 +356,25 @@ void KMAccount::startPrecommand(const QString &precommand)
if ( precommand.isEmpty() )
emit precommandExited( true );
KMPrecommand precommandProcess(precommand, this);
KMPrecommand *mPrecommandProcess = new KMPrecommand(precommand, this);
BroadcastStatus::instance()->setStatusMsg(
i18n("Executing precommand %1").arg(precommand ));
connect(&precommandProcess, SIGNAL(finished(bool)),
SLOT(precommandExited(bool)));
connect(mPrecommandProcess, SIGNAL(finished(bool)),
SLOT(precommandFinished(bool)));
kdDebug(5006) << "Running precommand " << precommand << endl;
if (!precommandProcess.start())
if (!mPrecommandProcess->start())
emit precommandExited( false );
}
//-----------------------------------------------------------------------------
void KMAccount::precommandFinished( bool success )
{
delete mPrecommandProcess; mPrecommandProcess = 0;
emit precommandExited( success );
}
//-----------------------------------------------------------------------------
void KMAccount::mailCheck()
{

@ -269,6 +269,9 @@ protected slots:
virtual void mailCheck();
virtual void sendReceipts();
private slots:
void precommandFinished( bool success );
protected:
KMAccount( AccountManager* owner, const QString& accountName, uint id);
@ -324,6 +327,7 @@ private:
private:
// for detailed (per folder) new mail notification
QMap<QString, int> mNewInFolder;
KMPrecommand *mPrecommandProcess;
};
#endif /*kmaccount_h*/

@ -76,7 +76,7 @@ void KMAcctLocal::processNewMail(bool)
{
mHasNewMail = false;
connect( this, SIGNAL(preProcessExited(bool)), SLOT(continueProcess()) );
connect( this, SIGNAL(preProcessExited(bool)), SLOT(continueProcess(bool)) );
preProcess();
}
@ -112,6 +112,7 @@ void KMAcctLocal::preProcess()
BroadcastStatus::instance()->setStatusMsgTransmissionCompleted( mName, 0 );
checkDone( mHasNewMail, CheckOK );
emit preProcessExited( false );
return;
}
}
@ -127,6 +128,7 @@ void KMAcctLocal::preProcess()
checkDone( mHasNewMail, CheckError );
BroadcastStatus::instance()->setStatusMsg( i18n( "Transmission failed." ));
emit preProcessExited( false );
return;
}
//BroadcastStatus::instance()->reset();
@ -155,6 +157,7 @@ void KMAcctLocal::continuePreProcess( bool precommandSuccess )
checkDone( mHasNewMail, CheckError );
BroadcastStatus::instance()->setStatusMsg( i18n( "Running precommand failed." ));
emit preProcessExited( false );
return;
}
const int rc = mMailFolder->open();
@ -178,6 +181,7 @@ void KMAcctLocal::continuePreProcess( bool precommandSuccess )
.arg( mMailFolder->location() );
BroadcastStatus::instance()->setStatusMsg( errMsg );
emit preProcessExited( false );
return;
}
mFolder->open();

@ -238,3 +238,6 @@ void KMAcctMaildir::setLocation(const QString& aLocation)
{
mLocation = aLocation;
}
#include "kmacctmaildir.moc"

@ -9,6 +9,8 @@
class KMAcctMaildir: public KMAccount
{
Q_OBJECT
protected:
friend class ::AccountManager;

@ -759,7 +759,6 @@ void KMSender::slotIdle()
cleanup();
}
//-----------------------------------------------------------------------------
void KMSender::slotPrecommandFinished(bool normalExit)
{

Loading…
Cancel
Save