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