You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/kmail/folderutil.h

66 lines
2.3 KiB

/* 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