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
45namespace KMail {
46
47
48//-----------------------------------------------------------------------------
49MaildirJob::MaildirJob( KMMessage *msg, JobType jt , KMFolder *folder )
50 : FolderJob( msg, jt, folder ), mParentFolder( 0 )
51{
52}
53
54//-----------------------------------------------------------------------------
55MaildirJob::MaildirJob( TQPtrList<KMMessage>& msgList, const TQString& sets,
56 JobType jt , KMFolder *folder )
57 : FolderJob( msgList, sets, jt, folder ), mParentFolder( 0 )
58{
59}
60
61//-----------------------------------------------------------------------------
62MaildirJob::~MaildirJob()
63{
64}
65
66//-----------------------------------------------------------------------------
67void MaildirJob::setParentFolder( const KMFolderMaildir* parent )
68{
69 mParentFolder = const_cast<KMFolderMaildir*>( parent );
70}
71
72
73
74//-----------------------------------------------------------------------------
75void MaildirJob::execute()
76{
77 TQTimer::singleShot( 0, this, TQ_SLOT(startJob()) );
78}
79
80//-----------------------------------------------------------------------------
81void 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