[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