diff options
Diffstat (limited to 'kmail/folderutil.h')
-rw-r--r-- | kmail/folderutil.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/kmail/folderutil.h b/kmail/folderutil.h new file mode 100644 index 000000000..fbb4d0697 --- /dev/null +++ b/kmail/folderutil.h @@ -0,0 +1,65 @@ +/* Copyright 2009 Klarälvdalens Datakonsult AB + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License or (at your option) version 3 or any later version + accepted by the membership of KDE e.V. (or its successor approved + by the membership of KDE e.V.), which shall act as a proxy + defined in Section 14 of version 3 of the license. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ +#ifndef FOLDERUTIL_H +#define FOLDERUTIL_H + +#include "kmfoldertype.h" + +class KMFolder; +class KMFolderDir; +class TQString; +class TQWidget; + +namespace KMail +{ + +namespace FolderUtil +{ + +/** + * Low-level function to create a subfolder for a folder of any kind. + * + * @param parentFolder parent folder of the folder that should be created. Can be 0 in case of + * local folders + * @param parentDir parent folder directory, which should be the folder directory of parentFolder + * @param folderName the name the newly created folder should have + * @param namespaceName for (d)IMAP folders, the namespace the new folder should be in. Can be empty. + * @param localFolderType for local folders, this determines if the folder should be MBOX or maildir + * + * @return the newly created folder or 0 in case an error occured + */ +KMFolder *createSubFolder( KMFolder *parentFolder, KMFolderDir *parentDir, + const TQString &folderName, const TQString &namespaceName, + KMFolderType localFolderType ); + +/** + * Deletes a folder and all its subfolders. + * Handles all types of folders correctly, as well as folders with accounts + * + * @param folderToDelete the folder which is going to be deleted + * @param parent the parent widget, which is used when displaying a messagebox, + * which happens when removing a folder with an associated account + */ +void deleteFolder( KMFolder *folderToDelete, TQWidget *parent ); + +} + +} + +#endif |