- Add displayString() method to KMFilterAction which returns a translated string describing the filter action for visualization purposes, e.g. in the filter log.

- Make KMFilterActionWithFolder::displayString() return the nice translated folder name instead of the internal folder name. Non-generic implementation of displayString() for the other filter actions will have to wait till after the string freeze.
- Use the new displayString() method for creating a nicer log message in the filter log.

svn path=/trunk/kdepim/; revision=391484
wilder-work
Ingo Klcker 21 years ago
parent eeb4c79878
commit 010ebea130
  1. 10
      kmfilter.cpp
  2. 83
      kmfilteraction.cpp
  3. 29
      kmfilteraction.h

@ -86,11 +86,11 @@ KMFilter::ReturnCode KMFilter::execActions( KMMessage* msg, bool& stopIt ) const
for ( it.toFirst() ; it.current() ; ++it ) {
if ( FilterLog::instance()->isLogging() ) {
// FIXME use the following after the string freeze:
// QString logText( i18n( "<b>Applying filter action:</b> %1" )
// .arg( (*it)->displayString() ) );
QString logText( i18n( "<b>Applying filter action:</b> " ) );
logText.append( (*it)->label() );
logText.append( " \"" );
logText.append( FilterLog::recode( (*it)->argsAsString() ) );
logText.append( "\"" );
logText.append( (*it)->displayString() );
FilterLog::instance()->add( logText, FilterLog::appliedAction );
}
@ -273,7 +273,7 @@ void KMFilter::writeConfig(KConfig* config) const
config->writeEntry( "StopProcessingHere", bStopProcessingHere );
config->writeEntry( "ConfigureShortcut", bConfigureShortcut );
if ( !mShortcut.isNull() )
if ( !mShortcut.isNull() )
config->writeEntry( "Shortcut", mShortcut.toString() );
config->writeEntry( "ConfigureToolbar", bConfigureToolbar );
config->writeEntry( "Icon", mIcon );

@ -43,6 +43,7 @@ using KMail::ActionScheduler;
#include <qtextcodec.h>
#include <qtimer.h>
#include <qobject.h>
#include <qstylesheet.h>
#include <assert.h>
@ -129,6 +130,11 @@ KMFilterActionWithNone::KMFilterActionWithNone( const char* aName, const QString
{
}
const QString KMFilterActionWithNone::displayString() const
{
return label();
}
//=============================================================================
//
@ -151,6 +157,14 @@ const QString KMFilterActionWithUOID::argsAsString() const
return QString::number( mParameter );
}
const QString KMFilterActionWithUOID::displayString() const
{
// FIXME after string freeze:
// return i18n("").arg( );
return label() + " \"" + QStyleSheet::escape( argsAsString() ) + "\"";
}
//=============================================================================
//
// KMFilterActionWithString
@ -194,6 +208,13 @@ const QString KMFilterActionWithString::argsAsString() const
return mParameter;
}
const QString KMFilterActionWithString::displayString() const
{
// FIXME after string freeze:
// return i18n("").arg( );
return label() + " \"" + QStyleSheet::escape( argsAsString() ) + "\"";
}
//=============================================================================
//
// class KMFilterActionWithStringList
@ -254,7 +275,7 @@ KMFilterActionWithFolder::KMFilterActionWithFolder( const char* aName, const QSt
QWidget* KMFilterActionWithFolder::createParamWidget( QWidget* parent ) const
{
FolderRequester *req = new FolderRequester( parent,
FolderRequester *req = new FolderRequester( parent,
kmkernel->getKMMainWidget()->folderTree() );
req->setShowImapFolders( false );
setParamWidgetValue( req );
@ -308,6 +329,16 @@ const QString KMFilterActionWithFolder::argsAsString() const
return result;
}
const QString KMFilterActionWithFolder::displayString() const
{
QString result;
if ( mFolder )
result = mFolder->prettyURL();
else
result = mFolderName;
return label() + " \"" + QStyleSheet::escape( result ) + "\"";
}
bool KMFilterActionWithFolder::folderRemoved( KMFolder* aFolder, KMFolder* aNewFolder )
{
if ( aFolder == mFolder ) {
@ -710,6 +741,7 @@ public:
virtual void argsFromString( const QString argsStr );
virtual const QString argsAsString() const;
virtual const QString displayString() const;
};
@ -791,6 +823,12 @@ const QString KMFilterActionSetStatus::argsAsString() const
return KMMsgBase::statusToStr(status);
}
const QString KMFilterActionSetStatus::displayString() const
{
// FIXME after string freeze:
// return i18n("").arg( );
return label() + " \"" + QStyleSheet::escape( argsAsString() ) + "\"";
}
//=============================================================================
// KMFilterActionFakeDisposition - send fake MDN
@ -809,6 +847,7 @@ public:
virtual void argsFromString( const QString argsStr );
virtual const QString argsAsString() const;
virtual const QString displayString() const;
};
@ -879,6 +918,12 @@ const QString KMFilterActionFakeDisposition::argsAsString() const
return QString( QChar( idx < 2 ? 'I' : char(mdns[idx-2]) ) );
}
const QString KMFilterActionFakeDisposition::displayString() const
{
// FIXME after string freeze:
// return i18n("").arg( );
return label() + " \"" + QStyleSheet::escape( argsAsString() ) + "\"";
}
//=============================================================================
// KMFilterActionRemoveHeader - remove header
@ -963,6 +1008,8 @@ public:
virtual const QString argsAsString() const;
virtual void argsFromString( const QString argsStr );
virtual const QString displayString() const;
static KMFilterAction* newAction()
{
return (new KMFilterActionAddHeader);
@ -1056,6 +1103,13 @@ const QString KMFilterActionAddHeader::argsAsString() const
return result;
}
const QString KMFilterActionAddHeader::displayString() const
{
// FIXME after string freeze:
// return i18n("").arg( );
return label() + " \"" + QStyleSheet::escape( argsAsString() ) + "\"";
}
void KMFilterActionAddHeader::argsFromString( const QString argsStr )
{
QStringList l = QStringList::split( '\t', argsStr, TRUE /*allow empty entries*/ );
@ -1094,6 +1148,8 @@ public:
virtual const QString argsAsString() const;
virtual void argsFromString( const QString argsStr );
virtual const QString displayString() const;
static KMFilterAction* newAction()
{
return (new KMFilterActionRewriteHeader);
@ -1223,6 +1279,13 @@ const QString KMFilterActionRewriteHeader::argsAsString() const
return result;
}
const QString KMFilterActionRewriteHeader::displayString() const
{
// FIXME after string freeze:
// return i18n("").arg( );
return label() + " \"" + QStyleSheet::escape( argsAsString() ) + "\"";
}
void KMFilterActionRewriteHeader::argsFromString( const QString argsStr )
{
QStringList l = QStringList::split( '\t', argsStr, TRUE /*allow empty entries*/ );
@ -1310,7 +1373,7 @@ KMFilterAction::ReturnCode KMFilterActionCopy::process(KMMessage* msg) const
// copy the message 1:1
KMMessage* msgCopy = new KMMessage;
msgCopy->fromDwString(msg->asDwString());
// TODO opening and closing the folder is a trade off.
// Perhaps Copy is a seldomly used action for now,
// but I gonna look at improvements ASAP.
@ -1320,7 +1383,7 @@ KMFilterAction::ReturnCode KMFilterActionCopy::process(KMMessage* msg) const
if (rc == 0 && index != -1)
mFolder->unGetMsg( mFolder->count() - 1 );
mFolder->close();
return GoOn;
}
@ -1675,6 +1738,13 @@ const QString KMFilterActionWithTest::argsAsString() const
return mParameter;
}
const QString KMFilterActionWithTest::displayString() const
{
// FIXME after string freeze:
// return i18n("").arg( );
return label() + " \"" + QStyleSheet::escape( argsAsString() ) + "\"";
}
KMFilterActionExecSound::KMFilterActionExecSound()
: KMFilterActionWithTest( "play sound", i18n("Play Sound") )
@ -1745,6 +1815,13 @@ const QString KMFilterActionWithUrl::argsAsString() const
return mParameter;
}
const QString KMFilterActionWithUrl::displayString() const
{
// FIXME after string freeze:
// return i18n("").arg( );
return label() + " \"" + QStyleSheet::escape( argsAsString() ) + "\"";
}
//=============================================================================
//

@ -119,6 +119,10 @@ public:
/** Return extra arguments as string. Must not contain newlines. */
virtual const QString argsAsString() const = 0;
/** Returns a translated string describing this filter for visualization
purposes, e.g. in the filter log. */
virtual const QString displayString() const = 0;
/** Called from the filter when a folder is removed. Tests if the
folder @p aFolder is used and changes to @p aNewFolder in this
case. Returns TRUE if a change was made. */
@ -175,8 +179,13 @@ public:
/** Return extra arguments as string. Must not contain newlines. We
return @see QString::null, because we have no parameter. */
virtual const QString argsAsString() const { return QString::null; }
/** Returns a translated string describing this filter for visualization
purposes, e.g. in the filter log. */
virtual const QString displayString() const;
};
//=========================================================
//
// class KMFilterActionWithString
@ -233,6 +242,10 @@ public:
/** Return extra arguments as string. Must not contain newlines. */
virtual const QString argsAsString() const;
/** Returns a translated string describing this filter for visualization
purposes, e.g. in the filter log. */
virtual const QString displayString() const;
protected:
QString mParameter;
};
@ -276,6 +289,10 @@ public:
/** Return extra arguments as string. Must not contain newlines. */
virtual const QString argsAsString() const;
/** Returns a translated string describing this filter for visualization
purposes, e.g. in the filter log. */
virtual const QString displayString() const;
protected:
uint mParameter;
};
@ -395,6 +412,10 @@ public:
/** Return extra arguments as string. Must not contain newlines. */
virtual const QString argsAsString() const;
/** Returns a translated string describing this filter for visualization
purposes, e.g. in the filter log. */
virtual const QString displayString() const;
/** Called from the filter when a folder is removed. Tests if the
folder @p aFolder is used and changes to @p aNewFolder in this
case. Returns TRUE if a change was made. */
@ -513,6 +534,10 @@ public:
/** Return extra arguments as string. Must not contain newlines. */
virtual const QString argsAsString() const;
/** Returns a translated string describing this filter for visualization
purposes, e.g. in the filter log. */
virtual const QString displayString() const;
protected:
QString mParameter;
};
@ -590,6 +615,10 @@ public:
/** Return extra arguments as string. Must not contain newlines. */
virtual const QString argsAsString() const;
/** Returns a translated string describing this filter for visualization
purposes, e.g. in the filter log. */
virtual const QString displayString() const;
protected:
QString mParameter;
};

Loading…
Cancel
Save