Remove a lot of debugging code and don't eat actions after a Set Identity

action.
Patch by Marc Mutz <Marc.Mutz@uni-bielefeld.de>

svn path=/trunk/kdenetwork/kmail/; revision=96017
wilder-work
Michael Haeckel 25 years ago
parent fbbaedbaf9
commit ddcb90a23b
  1. 37
      kmfilter.cpp
  2. 36
      kmsearchpattern.cpp
  3. 39
      kmsearchpatternedit.cpp

@ -19,6 +19,7 @@
#include <qregexp.h>
#include <qstring.h>
#include <qstringlist.h>
#include <assert.h>
//#include <string.h>
@ -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<KMFilterAction> 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() ) );
}
}
}

@ -9,8 +9,6 @@
#include <kdebug.h>
#include <kconfig.h>
//#include <qstring.h>
#include <string.h>
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<KMSearchRule>()
{
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<KMSearchRule> 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();

@ -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("<message>")) return QString("<message>");
if (i18nVal == i18n("<To or Cc>")) return QString("<To or Cc>");
if (i18nVal == i18n("<body>")) return QString("<body>");
if (i18nVal == i18n("<message>")) return QString("<message>");
if (i18nVal == i18n("<any header>")) return QString("<any header>");
if (i18nVal == i18n("<To or Cc>")) return QString("<To or Cc>");
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<KMSearchRule> *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<KMSearchRule> *aList )
QListIterator<QWidget> 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 );
}

Loading…
Cancel
Save