[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: PATCH: fancy headers and different logos
From: Ladislav Strojil <Ladislav.Strojil () seznam ! cz>
Date: 2001-12-14 14:47:53
[Download RAW message or body]
Hi,
I have made a patch for KMail 1.3.2 that allows you so set custom picture to
display in fancy header.
It works by creating new filter action called "set image".
As an example:
I created a filter: if From contains email address of my love, display
"heart.png" in header.
Image is looked for in $KDEHOME/share/apps/kmail/pics
then in $KDEDIR/share/apps/kmail/pics
You may include absolute path to override this.
I include the patch and heart.png. :-)))
Enjoy,
Lada
--
~ Ladislav Strojil, MFF UK
' v '
// \\
/( )\ Powered by Penguin.
^ ' ^
["kmail.patch" (text/x-diff)]
*** kmreaderwin.cpp Thu Dec 13 11:16:02 2001
--- new/kmreaderwin.cpp Thu Dec 13 11:10:13 2001
***************
*** 764,767 ****
--- 764,768 ----
{
QString str;
+ QString pic;
QString vcname;
KMMessagePart aMsgPart;
***************
*** 819,824 ****
case HdrFancy:
mViewer->write(QString("<table><tr><td><img src=") +
! locate("data", "kmail/pics/kdelogo.xpm") +
"></td><td hspace=\"50\"><b style=\"font-size:160%\">");
mViewer->write(strToHtml(mMsg->subject()) + "</b><br>");
--- 820,828 ----
case HdrFancy:
+ pic=mMsg->headerField("X-KDE-KM-Image").stripWhiteSpace();
+ if (!pic.isEmpty()&&pic[0]!='/') pic.prepend("kmail/pics/");
+ if (pic.isEmpty()||locate("data",pic)==QString::null) pic="kmail/pics/kdelogo.xpm";
mViewer->write(QString("<table><tr><td><img src=") +
! locate("data", pic) +
"></td><td hspace=\"50\"><b style=\"font-size:160%\">");
mViewer->write(strToHtml(mMsg->subject()) + "</b><br>");
*** kmfilteraction.cpp Thu Dec 13 11:16:02 2001
--- new/kmfilteraction.cpp Thu Dec 13 11:22:05 2001
***************
*** 464,467 ****
--- 464,497 ----
//=============================================================================
+ // KMFilterActionSetImage - set image to...
+ // Specify image file to be used when displaying fancy header
+ //=============================================================================
+ class KMFilterActionImage: public KMFilterActionWithString
+ {
+ public:
+ KMFilterActionImage();
+ virtual ReturnCode process(KMMessage* msg) const;
+ static KMFilterAction* newAction(void);
+ };
+
+ KMFilterAction* KMFilterActionImage::newAction(void)
+ {
+ return (new KMFilterActionImage);
+ }
+
+ KMFilterActionImage::KMFilterActionImage()
+ : KMFilterActionWithString( "set image", i18n("set image") )
+ {
+ }
+
+ KMFilterAction::ReturnCode KMFilterActionImage::process(KMMessage* msg) const
+ {
+ if ( mParameter.isEmpty() )
+ return ErrorButGoOn;
+ msg->setHeaderField( "X-KDE-KM-Image", mParameter );
+ return GoOn;
+ }
+
+ //=============================================================================
// KMFilterActionSetTransport - set transport to...
// Specify mail transport (smtp server) to be used when replying to a message
***************
*** 668,671 ****
--- 698,702 ----
<< "Reply-To"
<< "Delivered-To"
+ << "X-KDE-KM-Image"
<< "X-KDE-PR-Message"
<< "X-KDE-PR-Package"
***************
*** 740,743 ****
--- 771,775 ----
<< "Reply-To"
<< "Delivered-To"
+ << "X-KDE-KM-Image"
<< "X-KDE-PR-Message"
<< "X-KDE-PR-Package"
***************
*** 868,871 ****
--- 900,904 ----
<< "Reply-To"
<< "Delivered-To"
+ << "X-KDE-KM-Image"
<< "X-KDE-PR-Message"
<< "X-KDE-PR-Package"
***************
*** 1258,1261 ****
--- 1291,1295 ----
insert( KMFilterActionSetStatus::newAction );
insert( KMFilterActionTransport::newAction );
+ insert( KMFilterActionImage::newAction );
insert( KMFilterActionReplyTo::newAction );
insert( KMFilterActionForward::newAction );
["heart.png" (image/png)]
_______________________________________________
kmail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic