00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
#ifdef HAVE_CONFIG_H
00031
#include <config.h>
00032
#endif
00033
00034
#include "maildirjob.h"
00035
00036
#include "kmfoldermaildir.h"
00037
#include "kmfolder.h"
00038
00039
#include <kapplication.h>
00040
#include <kdebug.h>
00041
00042
#include <qtimer.h>
00043
#include <qdatetime.h>
00044
00045
namespace KMail {
00046
00047
00048
00049 MaildirJob::MaildirJob( KMMessage *msg, JobType jt ,
KMFolder *folder )
00050 : FolderJob( msg, jt, folder ), mParentFolder( 0 )
00051 {
00052 }
00053
00054
00055 MaildirJob::MaildirJob(
QPtrList<KMMessage>& msgList,
const QString& sets,
00056 JobType jt ,
KMFolder *folder )
00057 : FolderJob( msgList, sets, jt, folder ), mParentFolder( 0 )
00058 {
00059 }
00060
00061
00062 MaildirJob::~MaildirJob()
00063 {
00064 }
00065
00066
00067
void MaildirJob::setParentFolder(
const KMFolderMaildir* parent )
00068 {
00069 mParentFolder = const_cast<KMFolderMaildir*>( parent );
00070 }
00071
00072
00073
00074
00075
void MaildirJob::execute()
00076 {
00077 QTimer::singleShot( 0,
this, SLOT(startJob()) );
00078 }
00079
00080
00081
void MaildirJob::startJob()
00082 {
00083
switch( mType ) {
00084
case tGetMessage:
00085 {
00086 KMMessage* msg = mMsgList.first();
00087
if ( msg ) {
00088 msg->setComplete(
true );
00089 emit messageRetrieved( msg );
00090 }
00091 }
00092
break;
00093
case tDeleteMessage:
00094 {
00095 static_cast<KMFolder*>(mParentFolder->folder())->removeMsg( mMsgList );
00096 }
00097
break;
00098
case tPutMessage:
00099 {
00100 mParentFolder->addMsg( mMsgList.first() );
00101 emit messageStored( mMsgList.first() );
00102 }
00103
break;
00104
case tCopyMessage:
00105
case tCreateFolder:
00106
case tGetFolder:
00107
case tListMessages:
00108 kdDebug(5006)<<k_funcinfo<<
"### Serious problem! "<<endl;
00109
break;
00110
default:
00111
break;
00112 }
00113
00114
00115 deleteLater();
00116 }
00117
00118 }
00119
00120
#include "maildirjob.moc"