$NetBSD: patch-ae,v 1.7 2005/12/11 11:40:02 markd Exp $

--- kmail/kmcommands.cpp.orig	2005-10-11 04:02:11.000000000 +1300
+++ kmail/kmcommands.cpp
@@ -1496,30 +1496,30 @@ KMMetaFilterActionCommand::KMMetaFilterA
 
 void KMMetaFilterActionCommand::start()
 {
-#if 0 // use action scheduler
-  KMFilterMgr::FilterSet set = KMFilterMgr::All;
-  QPtrList<KMFilter> filters;
-  filters.append( mFilter );
-  ActionScheduler *scheduler = new ActionScheduler( set, filters, mHeaders );
-  scheduler->setAlwaysMatch( true );
-  scheduler->setAutoDestruct( true );
-
-  int contentX, contentY;
-  HeaderItem *nextItem = mHeaders->prepareMove( &contentX, &contentY );
-  QPtrList<KMMsgBase> msgList = *mHeaders->selectedMsgs(true);
-  mHeaders->finalizeMove( nextItem, contentX, contentY );
-
-
-  for (KMMsgBase *msg = msgList.first(); msg; msg = msgList.next())
-    scheduler->execFilters( msg );
-#else
-  KMCommand *filterCommand = new KMFilterActionCommand( mMainWidget,
-  *mHeaders->selectedMsgs(), mFilter);
-  filterCommand->start();
-  int contentX, contentY;
-  HeaderItem *item = mHeaders->prepareMove( &contentX, &contentY );
-  mHeaders->finalizeMove( item, contentX, contentY );
-#endif
+  if (ActionScheduler::isEnabled() ) {
+    // use action scheduler
+    KMFilterMgr::FilterSet set = KMFilterMgr::All;
+    QValueList<KMFilter*> filters;
+    filters.append( mFilter );
+    ActionScheduler *scheduler = new ActionScheduler( set, filters, mHeaders );
+    scheduler->setAlwaysMatch( true );
+    scheduler->setAutoDestruct( true );
+
+    int contentX, contentY;
+    HeaderItem *nextItem = mHeaders->prepareMove( &contentX, &contentY );
+    QPtrList<KMMsgBase> msgList = *mHeaders->selectedMsgs(true);
+    mHeaders->finalizeMove( nextItem, contentX, contentY );
+
+    for (KMMsgBase *msg = msgList.first(); msg; msg = msgList.next())
+      scheduler->execFilters( msg );
+  } else {
+    KMCommand *filterCommand = new KMFilterActionCommand( mMainWidget,
+    *mHeaders->selectedMsgs(), mFilter);
+    filterCommand->start();
+    int contentX, contentY;
+    HeaderItem *item = mHeaders->prepareMove( &contentX, &contentY );
+    mHeaders->finalizeMove( item, contentX, contentY );
+  }
 }
 
 FolderShortcutCommand::FolderShortcutCommand( KMMainWidget *mainwidget,
