summaryrefslogtreecommitdiffstats
path: root/korn/kio_delete.h
diff options
context:
space:
mode:
Diffstat (limited to 'korn/kio_delete.h')
-rw-r--r--korn/kio_delete.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/korn/kio_delete.h b/korn/kio_delete.h
new file mode 100644
index 000000000..a22c6f17f
--- /dev/null
+++ b/korn/kio_delete.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2004, Mart Kelder (mart.kde@hccnet.nl)
+ *
+ * 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) any later version.
+ *
+ * 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, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef MK_KIO_DELETE_H
+#define MK_KIO_DELETE_H
+
+/*
+ * This class handles removing of selected messages.
+ * This class starts working when deleteMails() is called.
+ */
+
+#include <qobject.h>
+class KKioDrop;
+class KIO_Protocol;
+class KornMailId;
+
+class KURL;
+namespace KIO { class MetaData; class Job; class Slave; }
+
+template<class T> class QPtrList;
+
+class KIO_Delete : public QObject
+{ Q_OBJECT
+public:
+ //constructors
+ KIO_Delete( QObject * parent = 0, const char * name = 0 );
+ ~KIO_Delete( );
+
+ //This function should be called if there are messages to be deleted.
+ bool deleteMails( QPtrList< const KornMailId > *, KKioDrop* );
+
+ //This function should return false then and only then if an error occurred.
+ bool valid( ) { return _valid; }
+
+public slots:
+ //If this slot is called, the whole deletion is canceled.
+ void canceled( );
+private slots:
+ void slotResult( KIO::Job* );
+
+private:
+ void disConnect( );
+ bool setupSlave( KURL kurl, KIO::MetaData metadata, const KIO_Protocol *& protocol );
+ void deleteItem( const KornMailId *item, KURL, KIO::MetaData, const KIO_Protocol *&);
+ void commitDelete( KURL, KIO::MetaData, const KIO_Protocol *& );
+
+ KKioDrop *_kio;
+ unsigned int _total;
+ QPtrList< KIO::Job > *_jobs;
+ KIO::Slave *_slave;
+ bool _valid;
+};
+
+#endif //MK_KIO_DELETE_H