kmail

maildirjob.cpp
1 /*
2  *
3  * This file is part of KMail, the KDE mail client.
4  * Copyright (c) 2003 Zack Rusin <zack@kde.org>
5  *
6  * KMail is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License, version 2, as
8  * published by the Free Software Foundation.
9  *
10  * KMail is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  *
19  * In addition, as a special exception, the copyright holders give
20  * permission to link the code of this program with any edition of
21  * the TQt library by Trolltech AS, Norway (or with modified versions
22  * of TQt that use the same license as TQt), and distribute linked
23  * combinations including the two. You must obey the GNU General
24  * Public License in all respects for all of the code used other than
25  * TQt. If you modify this file, you may extend this exception to
26  * your version of the file, but you are not obligated to do so. If
27  * you do not wish to do so, delete this exception statement from
28  * your version.
29  */
30 #ifdef HAVE_CONFIG_H
31 #include <config.h>
32 #endif
33 
34 #include "maildirjob.h"
35 
36 #include "kmfoldermaildir.h"
37 #include "kmfolder.h"
38 
39 #include <tdeapplication.h>
40 #include <kdebug.h>
41 
42 #include <tqtimer.h>
43 #include <tqdatetime.h>
44 
45 namespace KMail {
46 
47 
48 //-----------------------------------------------------------------------------
49 MaildirJob::MaildirJob( KMMessage *msg, JobType jt , KMFolder *folder )
50  : FolderJob( msg, jt, folder ), mParentFolder( 0 )
51 {
52 }
53 
54 //-----------------------------------------------------------------------------
55 MaildirJob::MaildirJob( TQPtrList<KMMessage>& msgList, const TQString& sets,
56  JobType jt , KMFolder *folder )
57  : FolderJob( msgList, sets, jt, folder ), mParentFolder( 0 )
58 {
59 }
60 
61 //-----------------------------------------------------------------------------
62 MaildirJob::~MaildirJob()
63 {
64 }
65 
66 //-----------------------------------------------------------------------------
67 void MaildirJob::setParentFolder( const KMFolderMaildir* parent )
68 {
69  mParentFolder = const_cast<KMFolderMaildir*>( parent );
70 }
71 
72 
73 
74 //-----------------------------------------------------------------------------
75 void MaildirJob::execute()
76 {
77  TQTimer::singleShot( 0, this, TQ_SLOT(startJob()) );
78 }
79 
80 //-----------------------------------------------------------------------------
81 void MaildirJob::startJob()
82 {
83  switch( mType ) {
84  case tGetMessage:
85  {
86  KMMessage* msg = mMsgList.first();
87  if ( msg ) {
88  msg->setComplete( true );
89  emit messageRetrieved( msg );
90  }
91  }
92  break;
93  case tDeleteMessage:
94  {
95  static_cast<KMFolder*>(mParentFolder->folder())->removeMsg( mMsgList );
96  }
97  break;
98  case tPutMessage:
99  {
100  mParentFolder->addMsg( mMsgList.first() );
101  emit messageStored( mMsgList.first() );
102  }
103  break;
104  case tCopyMessage:
105  case tCreateFolder:
106  case tGetFolder:
107  case tListMessages:
108  kdDebug(5006)<<k_funcinfo<<"### Serious problem! "<<endl;
109  break;
110  default:
111  break;
112  }
113  //OK, we're done
114  //delete this;
115  deleteLater();
116 }
117 
118 }
119 
120 #include "maildirjob.moc"
Mail folder.
Definition: kmfolder.h:69
int addMsg(KMMessage *msg, int *index_return=0)
Add the given message to the folder.
Definition: kmfolder.cpp:390
This is a Mime Message.
Definition: kmmessage.h:68
void setComplete(bool v)
Set if the message is a complete message.
Definition: kmmessage.h:869
folderdiaquotatab.h
Definition: aboutdata.cpp:40