kmail

renamejob.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2004 Carsten Burghardt <burghardt@kde.org>
00003  *
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; version 2 of the License
00007  *
00008  *  This program is distributed in the hope that it will be useful,
00009  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00010  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00011  *  GNU General Public License for more details.
00012  *
00013  *  You should have received a copy of the GNU General Public License
00014  *  along with this program; if not, write to the Free Software
00015  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00016  *
00017  *  In addition, as a special exception, the copyright holders give
00018  *  permission to link the code of this program with any edition of
00019  *  the Qt library by Trolltech AS, Norway (or with modified versions
00020  *  of Qt that use the same license as Qt), and distribute linked
00021  *  combinations including the two.  You must obey the GNU General
00022  *  Public License in all respects for all of the code used other than
00023  *  Qt.  If you modify this file, you may extend this exception to
00024  *  your version of the file, but you are not obligated to do so.  If
00025  *  you do not wish to do so, delete this exception statement from
00026  *  your version.
00027  */
00028 #ifndef RENAMEJOB_H
00029 #define RENAMEJOB_H
00030 
00031 #include "folderjob.h"
00032 
00033 class FolderStorage;
00034 class KMFolderDir;
00035 class KMFolder;
00036 class KMCommand;
00037 
00038 namespace KIO {
00039   class Job;
00040 }
00041 
00042 namespace KMail {
00043 
00044 class CopyFolderJob;
00045 
00051 class RenameJob : public FolderJob
00052 {
00053   Q_OBJECT
00054 public:
00061   RenameJob( FolderStorage* storage, const QString& newName,
00062       KMFolderDir* newParent = 0 );
00063 
00064   virtual ~RenameJob();
00065 
00066   virtual void execute();
00067 
00068 protected slots:
00070   void slotRenameResult( KIO::Job* job );
00071 
00073   void folderCopyComplete( bool success );
00074 
00075 signals:
00077   void renameDone( QString newName, bool success );
00078 
00079 protected:
00080   FolderStorage* mStorage;
00081   FolderStorage* mStorageTempOpened;
00082   KMFolderDir* mNewParent;
00083   QString mNewName;
00084   QString mNewImapPath;
00085   QString mOldName;
00086   QString mOldImapPath;
00087   QStringList mOldImapPaths;
00088   KMFolder* mNewFolder;
00089   CopyFolderJob *mCopyFolderJob;
00090 };
00091 
00092 } // namespace KMail
00093 
00094 #endif /* RENAMEJOB_H */
00095