diff options
Diffstat (limited to 'kmailcvt/README')
-rw-r--r-- | kmailcvt/README | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/kmailcvt/README b/kmailcvt/README new file mode 100644 index 000000000..dbdf247a8 --- /dev/null +++ b/kmailcvt/README @@ -0,0 +1,46 @@ +The KDE Mail Import tool - KMailCVT +=================================== + +This directory contains the sources for the kmailcvt program. It communicates +with KMail via its DCOP interface to add messages. + +Writing a filter +---------------- + +...is very easy. Create two files filter_myformat.cxx and filter_myformat.hxx +and add "filter_myformat.cxx" to the end of the kmailcvt_SOURCES line in +Makefile.am and "filter_myformat.cxx filter_myformat.hxx" to the end of the +EXTRA_DIST line in Makefile.am. Now run "make -f Makefile.cvs; ./configure" in +your kdepim source directory. + +In the import method of your filter you are passed a FilterInfo object. This has +the following methods that you may want to use: + + void setFrom( const QString& from ); // Set to file importing from + void setTo( const QString& to ); // Set to folder importing into + void setCurrent( const QString& current ); // What we are doing + void setCurrent( int percent = 0 ); // Set percentage of current file + void setOverall( int percent = 0 ); // Set overall percentage + void addLog( const QString& log ); // Add a message for the user to see + void alert( const QString& message ); // Tell user something has gone wrong + QWidget *parent(); // The parent widget + + bool removeDupMsg; // true, if user selected 'remove duplicated messages' + +Also, every now and again you should check to see if the shouldTerminate method +returns true, if it does the user has pressed cancel and your import method +should return. + +To add messages, extract the email (including all headers) into a KTempFile. +Then use the following: + +if(info->removeDupMsg) addMessage( info, folderName, tempfilepath ); +else addMessage_fastImport( info, folderName, tempfilepath ); + +For a simple example, look at filter_plain + +Finally for the filter to appear in the combo box in the wizard you need to edit +kselfilterpage.cpp and add an appropriate addFilter() function call. + +Danny Kukawka, February 2005 +Laurence Anderson, April 2003. |