summaryrefslogtreecommitdiffstats
path: root/kmail/folderutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'kmail/folderutil.h')
-rw-r--r--kmail/folderutil.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/kmail/folderutil.h b/kmail/folderutil.h
new file mode 100644
index 00000000..fbb4d069
--- /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