summaryrefslogtreecommitdiffstats
path: root/kmailcvt/kmailcvt.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-09-01 00:37:02 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-09-01 00:37:02 +0000
commitcc29364f06178f8f6b457384f2ec37a042bd9d43 (patch)
tree7c77a3184c698bbf9d98cef09fb1ba8124daceba /kmailcvt/kmailcvt.cpp
parent4f6c584bacc8c3c694228f36ada3de77a76614a6 (diff)
downloadtdepim-cc29364f06178f8f6b457384f2ec37a042bd9d43.tar.gz
tdepim-cc29364f06178f8f6b457384f2ec37a042bd9d43.zip
* Massive set of changes to bring in all fixes and enhancements from the Enterprise PIM branch
* Ensured that the Trinity changes were applied on top of those enhancements, and any redundancy removed * Added journal read support to the CalDAV resource * Fixed CalDAV resource to use events URL for tasks and journals when separate URL checkbox unchecked git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1170461 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmailcvt/kmailcvt.cpp')
-rw-r--r--kmailcvt/kmailcvt.cpp60
1 files changed, 42 insertions, 18 deletions
diff --git a/kmailcvt/kmailcvt.cpp b/kmailcvt/kmailcvt.cpp
index 08dabe830..d56577f4d 100644
--- a/kmailcvt/kmailcvt.cpp
+++ b/kmailcvt/kmailcvt.cpp
@@ -17,7 +17,9 @@
#include "kmailcvt.h"
#include <kaboutapplication.h>
#include <tqpushbutton.h>
-
+#include <dcopclient.h>
+#include <dcopref.h>
+#include <kdebug.h>
#include "filters.hxx"
KMailCVT::KMailCVT(TQWidget *parent, const char *name)
@@ -34,6 +36,19 @@ KMailCVT::KMailCVT(TQWidget *parent, const char *name)
}
KMailCVT::~KMailCVT() {
+ endImport();
+}
+
+void KMailCVT::endImport() {
+ if ( !kapp->dcopClient()->isApplicationRegistered( "kmail" ) )
+ KApplication::startServiceByDesktopName( "kmail", TQString::null ); // Will wait until kmail is started
+
+ DCOPReply reply = DCOPRef( "kmail", "KMailIface" ).call( "dcopAddMessage", TQString::null, TQString::null, TQString::null);
+ if ( !reply.isValid() )
+ return;
+ reply = DCOPRef( "kmail", "KMailIface" ).call( "dcopResetAddMessage" );
+ if ( !reply.isValid() )
+ return;
}
void KMailCVT::next() {
@@ -41,24 +56,33 @@ void KMailCVT::next() {
// Save selected filter
Filter *selectedFilter = selfilterpage->getSelectedFilter();
// without filter don't go next
- if (!selectedFilter)
+ if ( !selectedFilter )
return;
- // Goto next page
- KWizard::next();
- // Disable back & finish
- setBackEnabled( currentPage(), false );
- setFinishEnabled( currentPage(), false );
- // Start import
- FilterInfo *info = new FilterInfo(importpage, this, selfilterpage->removeDupMsg_checked());
- info->setStatusMsg(i18n("Import in progress"));
- info->clear(); // Clear info from last time
- selectedFilter->import(info);
- info->setStatusMsg(i18n("Import finished"));
- // Cleanup
- delete info;
- // Enable finish & back buttons
- setFinishEnabled( currentPage(), true );
- setBackEnabled( currentPage(), true );
+
+ if ( !selectedFilter->needsSecondPage() ) {
+ FilterInfo *info = new FilterInfo( importpage, this, selfilterpage->removeDupMsg_checked() );
+ selectedFilter->import( info );
+ accept();
+ delete info;
+ }
+ else {
+ // Goto next page
+ KWizard::next();
+ // Disable back & finish
+ setBackEnabled( currentPage(), false );
+ setFinishEnabled( currentPage(), false );
+ // Start import
+ FilterInfo *info = new FilterInfo(importpage, this, selfilterpage->removeDupMsg_checked());
+ info->setStatusMsg(i18n("Import in progress"));
+ info->clear(); // Clear info from last time
+ selectedFilter->import(info);
+ info->setStatusMsg(i18n("Import finished"));
+ // Cleanup
+ delete info;
+ // Enable finish & back buttons
+ setFinishEnabled( currentPage(), true );
+ setBackEnabled( currentPage(), true );
+ }
} else KWizard::next();
}