kmail
maildirjob.cppGo to the documentation of this file.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"
|