diff --git a/kmfilter.cpp b/kmfilter.cpp index e0f027684..992ecc3f2 100644 --- a/kmfilter.cpp +++ b/kmfilter.cpp @@ -19,6 +19,7 @@ #include #include +#include #include //#include @@ -38,11 +39,7 @@ KMFilter::KMFilter( KMFilter * aFilter ) mActions.setAutoDelete( TRUE ); if ( aFilter ) { - kdDebug() << "KMFilter: copying pattern:\n" - << aFilter->pattern()->asString() << endl; mPattern = *aFilter->pattern(); - kdDebug() << "KMFilter: resulting pattern:\n" - << mPattern.asString() << endl; QListIterator it( *aFilter->actions() ); for ( it.toFirst() ; it.current() ; ++it ) { @@ -75,17 +72,14 @@ KMFilter::ReturnCode KMFilter::execActions( KMMessage* msg, bool& stopIt ) const switch ( result ) { case KMFilterAction::CriticalError: - kdDebug() << "got result CriticalError" << endl; return CriticalError; case KMFilterAction::ErrorButGoOn: // Small problem, keep a copy - kdDebug() << "got result ErrorButGoOn" << endl; status = GoOn; break; case KMFilterAction::Finished: kdDebug() << "got result Finished" << endl; if ( status == NoResult ) - kdDebug() << " and setting status to MsgExpropriated" << endl; // Message saved in a folder status = MsgExpropriated; } @@ -120,6 +114,7 @@ void KMFilter::readConfig(KConfig* config) int i, numActions; QString actName, argsName; + QStringList actNames, actArgs; mActions.clear(); @@ -129,29 +124,37 @@ void KMFilter::readConfig(KConfig* config) KMessageBox::information( 0, i18n("Too many filter actions in filter rule `%1'").arg( mPattern.name() ) ); } + // (mmutz) Some KMFilterAction* constructors want to read + // from the config, too. So make sure we have read our stuff + // before they can switch the group... for ( i=0 ; i < numActions ; i++ ) { - actName.sprintf("action-name-%d", i); - argsName.sprintf("action-args-%d", i); - // get the action description... - KMFilterActionDesc *desc = (*kernel->filterActionDict())[ config->readEntry( actName ) ]; + actNames.append( config->readEntry( actName.sprintf("action-name-%d", i) ) ); + actArgs.append( config->readEntry( argsName.sprintf("action-args-%d", i) ) ); + } + + QStringList::Iterator nIt = actNames.begin(), aIt = actArgs.begin(); + for ( ; nIt != actNames.end() && aIt != actArgs.end(); ++nIt, ++aIt ) { + KMFilterActionDesc *desc = (*kernel->filterActionDict())[ (*nIt) ]; if ( desc ) { //...create an instance... KMFilterAction *fa = desc->create(); if ( fa ) { //...load it with it's parameter... - fa->argsFromString( config->readEntry( argsName ) ); + fa->argsFromString( *aIt ); //...check if it's emoty and... - if ( !fa->isEmpty() ) + if ( !fa->isEmpty() ) { //...append it if it's not and... mActions.append( fa ); - else - //...delete is else. + } else { + //...delete it else. delete fa; + } } - } else + } else { KMessageBox::information( 0 /* app-global modal dialog box */, i18n("Unknown filter action `%1'\n in filter rule `%2'." - "\nIgnoring it.").arg( config->readEntry( actName ) ).arg( mPattern.name() ) ); + "\nIgnoring it.").arg( *nIt ).arg( mPattern.name() ) ); + } } } diff --git a/kmsearchpattern.cpp b/kmsearchpattern.cpp index b89d3e16e..df1eaf031 100644 --- a/kmsearchpattern.cpp +++ b/kmsearchpattern.cpp @@ -9,8 +9,6 @@ #include #include -//#include - #include static const char* funcConfigNames[] = @@ -56,9 +54,6 @@ KMSearchRule::KMSearchRule() void KMSearchRule::init(const QString aField, Function aFunction, const QString aContents) { - kdDebug() << "KMSearchRule::init: aField=\"" << aField << "\"\n" - << " aFunction=\"" << aFunction << "\"\n" - << " aContents=\"" << aContents << "\"" << endl; mField = aField; mFunction = aFunction; mContents = aContents; @@ -85,8 +80,6 @@ void KMSearchRule::init(const QString aField, const char* aStrFunction, //----------------------------------------------------------------------------- bool KMSearchRule::matches(const KMMessage* msg) const { - if ( isEmpty() ) return FALSE; - QString msgContents; assert(msg != NULL); // This assert seems to be important @@ -135,7 +128,6 @@ bool KMSearchRule::matches(const KMMessage* msg) const void KMSearchRule::readConfig( KConfig *config, int aIdx ) { char cIdx = char( int('A') + aIdx ); - kdDebug() << "KMSearchRule::readConfig for rule" << cIdx << "\"" << endl; init( config->readEntry( QString("field") + cIdx ), config->readEntry( QString("func") + cIdx ), @@ -147,7 +139,6 @@ void KMSearchRule::readConfig( KConfig *config, int aIdx ) void KMSearchRule::writeConfig( KConfig *config, int aIdx ) const { char cIdx = char('A' + aIdx); - kdDebug() << "KMSearchRule::writeConfig for rule \"" << cIdx << "\"" << endl; config->writeEntry( QString("field") + cIdx, mField ); config->writeEntry( QString("func") + cIdx, funcConfigNames[(int)mFunction] ); @@ -157,7 +148,6 @@ void KMSearchRule::writeConfig( KConfig *config, int aIdx ) const //----------------------------------------------------------------------------- bool KMSearchRule::isEmpty() const { - kdDebug() << "KMSearchRule::isEmpty" << endl; return mField.stripWhiteSpace().isEmpty() || mContents.isEmpty(); } @@ -183,7 +173,6 @@ const QString KMSearchRule::asString() const KMSearchPattern::KMSearchPattern( KConfig *config ) : QList() { - kdDebug() << "KMSearchPattern::KMSearchPattern" << endl; setAutoDelete(TRUE); if (config) readConfig(config); @@ -194,8 +183,6 @@ KMSearchPattern::KMSearchPattern( KConfig *config ) bool KMSearchPattern::matches( const KMMessage *msg ) const { - if ( isEmpty() ) return FALSE; - QListIterator it(*this); switch (mOperator ) { case OpAnd: // all rules must match @@ -230,12 +217,11 @@ void KMSearchPattern::purify() void KMSearchPattern::readConfig( KConfig *config ) { - kdDebug() << "KMSearchPattern::readConfig" << endl; init(); mName = config->readEntry("name"); if ( !config->hasKey("rules") ) { - kdDebug() << " found legacy config!" << endl; + kdDebug() << "KMSearchPattern::readConfig: found legacy config! Converting." << endl; importLegacyConfig(config); return; } @@ -257,7 +243,6 @@ void KMSearchPattern::readConfig( KConfig *config ) void KMSearchPattern::importLegacyConfig( KConfig *config ) { - kdDebug() << "KMSearchPattern::importLegacyConfig" << endl; KMSearchRule *rule = new KMSearchRule(); rule->init( config->readEntry("fieldA"), config->readEntry("funcA").latin1(), @@ -304,12 +289,8 @@ void KMSearchPattern::importLegacyConfig( KConfig *config ) void KMSearchPattern::writeConfig( KConfig *config ) const { - kdDebug() << "KMSearchPattern::writeConfig" << endl; int i; - // don't write if we're empty. - if ( isEmpty() ) return; - config->writeEntry("name", mName ); config->writeEntry("operator", (mOperator == KMSearchPattern::OpOr) ? "or" : "and" ); @@ -323,23 +304,8 @@ void KMSearchPattern::writeConfig( KConfig *config ) const config->writeEntry("rules", i); } -#if 0 -void KMSearchPattern::setName( const QString newName ) -{ - kdDebug() << "KMSearchPattern::setName: newName = \"" << newName << "\"" << endl; - mName = newName; -} - - -bool KMSearchPattern::folderRemoved ( KMFolder *, KMFolder * ) -{ - return ( FALSE ); -} -#endif - void KMSearchPattern::init() { - kdDebug() << "KMSearchPattern::init" << endl; mOperator = KMSearchPattern::OpAnd; mName = "<" + i18n("name used for a virgin filter","unknown") + ">"; clear(); diff --git a/kmsearchpatternedit.cpp b/kmsearchpatternedit.cpp index c6dbf1dab..fedfdab0d 100644 --- a/kmsearchpatternedit.cpp +++ b/kmsearchpatternedit.cpp @@ -67,10 +67,6 @@ void KMSearchRuleWidget::initWidget() void KMSearchRuleWidget::setRule(KMSearchRule *aRule) { assert ( aRule ); - kdDebug() << "KMSearchRuleWidget::setRule:" << endl; - kdDebug() << aRule->asString() << endl; - - kdDebug() << aRule->function() << endl; //--------------set the field int i = indexOfRuleField( aRule->field() ); @@ -90,19 +86,13 @@ void KMSearchRuleWidget::setRule(KMSearchRule *aRule) //--------------set function and contents mRuleFunc->setCurrentItem( (int)aRule->function() ); mRuleValue->setText( aRule->contents() ); - - kdDebug() << "KMSearchRule::setRule: left" << endl; } KMSearchRule* KMSearchRuleWidget::rule() const { KMSearchRule *r = new KMSearchRule; - kdDebug() << "r->init( " << mRuleField->currentText() << ", " - << mRuleFunc->currentItem() << ", " - << mRuleValue->text() << " );" << endl; - - r->init( ruleFieldToEnglish(mRuleField->currentText()), + r->init( ruleFieldToEnglish( mRuleField->currentText() ), (KMSearchRule::Function)mRuleFunc->currentItem(), mRuleValue->text() ); @@ -111,8 +101,6 @@ KMSearchRule* KMSearchRuleWidget::rule() const void KMSearchRuleWidget::reset() { - kdDebug() << "KMSearchRuleWidget::reset" << endl; - mRuleField->changeItem( " ", 0 ); mRuleField->setCurrentItem( 0 ); @@ -123,11 +111,10 @@ void KMSearchRuleWidget::reset() QString KMSearchRuleWidget::ruleFieldToEnglish(const QString & i18nVal) const { - kdDebug() << "ruleFieldToEnglish: 18nVal = \"" << i18nVal << "\"" << endl; - if (i18nVal == i18n("")) return QString(""); + if (i18nVal == i18n("")) return QString(""); if (i18nVal == i18n("")) return QString(""); + if (i18nVal == i18n("")) return QString(""); if (i18nVal == i18n("")) return QString(""); - if (i18nVal == i18n("")) return QString(""); return i18nVal; } @@ -145,7 +132,6 @@ int KMSearchRuleWidget::indexOfRuleField(const QString aName) const void KMSearchRuleWidget::initLists() const { - kdDebug() << "KMSearchRuleWidget:: initLists" << endl; //---------- initialize list of filter operators if ( sFilterFuncList.isEmpty() ) { @@ -191,7 +177,6 @@ void KMSearchRuleWidget::initLists() const KMSearchRuleWidgetLister::KMSearchRuleWidgetLister( QWidget *parent, const char* name ) : KWidgetLister( 1, FILTER_MAX_RULES, parent, name ) { - kdDebug() << "KMSearchRuleWidgetLister::KMSearchRuleWidgetLister" << endl; mRuleList = 0; } @@ -202,8 +187,6 @@ KMSearchRuleWidgetLister::~KMSearchRuleWidgetLister() void KMSearchRuleWidgetLister::setRuleList( QList *aList ) { assert ( aList ); - kdDebug() << "KMSearchRuleWidgetLister::setRuleList called with a list containing " - << aList->count() << " items" << endl; if ( mRuleList ) regenerateRuleListFromWidgets(); @@ -236,8 +219,6 @@ void KMSearchRuleWidgetLister::setRuleList( QList *aList ) QListIterator wIt( mWidgetList ); for ( rIt.toFirst(), wIt.toFirst() ; rIt.current() && wIt.current() ; ++rIt, ++wIt ) { - kdDebug() << "about to call setRule for rule:\n" - << (*rIt)->asString() << endl; ((KMSearchRuleWidget*)(*wIt))->setRule( (*rIt) ); } @@ -267,7 +248,6 @@ void KMSearchRuleWidgetLister::clearWidget( QWidget *aWidget ) void KMSearchRuleWidgetLister::regenerateRuleListFromWidgets() { - kdDebug() << "KMSearchRuleWidgetLister::regenerateRuleListFromWidgets" << endl; if ( !mRuleList ) return; mRuleList->clear(); @@ -292,7 +272,6 @@ void KMSearchRuleWidgetLister::regenerateRuleListFromWidgets() KMSearchPatternEdit::KMSearchPatternEdit(QWidget *parent, const char *name ) : QGroupBox( 1/*columns*/, Horizontal, parent, name ) { - kdDebug() << "KMSearchPatternEdit::KMSearchPatternEdit" << endl; setTitle( i18n("Search Criteria") ); initLayout(); } @@ -300,7 +279,6 @@ KMSearchPatternEdit::KMSearchPatternEdit(QWidget *parent, const char *name ) KMSearchPatternEdit::KMSearchPatternEdit(const QString & title, QWidget *parent, const char *name ) : QGroupBox( 1/*column*/, Horizontal, title, parent, name ) { - kdDebug() << "KMSearchPatternEdit::KMSearchPatternEdit" << endl; initLayout(); } @@ -310,8 +288,6 @@ KMSearchPatternEdit::~KMSearchPatternEdit() void KMSearchPatternEdit::initLayout() { - kdDebug() << "KMSearchPatternEdit::initLayout" << endl; - //------------the radio buttons mAllRBtn = new QRadioButton( i18n("Match all of the following"), this, "mAllRBtn" ); mAnyRBtn = new QRadioButton( i18n("Match any of the following"), this, "mAnyRBtn" ); @@ -345,8 +321,6 @@ void KMSearchPatternEdit::initLayout() void KMSearchPatternEdit::setSearchPattern( KMSearchPattern *aPattern ) { assert( aPattern ); - kdDebug() << "KMSearchPatternEdit::setSearchPattern called with a pattern containing " - << aPattern->count() << " rules" << endl; blockSignals(TRUE); @@ -373,13 +347,6 @@ void KMSearchPatternEdit::reset() void KMSearchPatternEdit::slotRadioClicked(int aIdx) { - dumpObjectInfo(); - kdDebug() << "signals blocked: " << signalsBlocked() << endl; - mRuleLister->dumpObjectInfo(); - kdDebug() << "signals blocked: " << mRuleLister->signalsBlocked() << endl; - mRuleLister->mWidgetList.first()->dumpObjectInfo(); - kdDebug() << "signals blocked: " << mRuleLister->mWidgetList.first()->signalsBlocked() << endl; - kdDebug() << "KMSearchPatternEdit::slotRadioClicked: aIdx=" << aIdx << endl; if ( mPattern ) mPattern->setOp( (KMSearchPattern::Operator)aIdx ); }