[prev in list] [next in list] [prev in thread] [next in thread] 

List:       knode-devel
Subject:    [Knode-devel] #22101/93782
From:       Jakob Schroeter <js () camaya ! net>
Date:       2005-05-31 1:48:51
Message-ID: 200505310249.03117.js () camaya ! net
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/mixed)]


Hi,

attached is a fix for the %NAME and %EMAIL macros. I must have been drunk or 
something...
This time it uses the original poster's name/email and skips headers 
containing the macros if the article is not a reply.

cheers,
Jakob

["knode-br22101-br93782.diff" (text/x-diff)]

Index: knarticlefactory.h
===================================================================
--- knarticlefactory.h	(revision 419781)
+++ knarticlefactory.h	(working copy)
@@ -78,7 +78,7 @@
 
     //article generation
     // col: group or account
-    KNLocalArticle* newArticle(KNCollection *col, QString &sig, QCString defChset, \
bool withXHeaders=true); +    KNLocalArticle* newArticle(KNCollection *col, QString \
&sig, QCString defChset, bool withXHeaders=true, KNArticle *origPost=0);  
     //cancel & supersede
     bool cancelAllowed(KNArticle *a);
Index: knarticlefactory.cpp
===================================================================
--- knarticlefactory.cpp	(revision 419781)
+++ knarticlefactory.cpp	(working copy)
@@ -118,7 +118,7 @@
 
   //create new article
   QString sig;
-  KNLocalArticle *art=newArticle(g, sig, chset);
+  KNLocalArticle *art=newArticle(g, sig, chset, true, a);
   if(!art)
     return;
 
@@ -786,7 +786,7 @@
 }
 
 
-KNLocalArticle* KNArticleFactory::newArticle(KNCollection *col, QString &sig, \
QCString defChset, bool withXHeaders) +KNLocalArticle* \
KNArticleFactory::newArticle(KNCollection *col, QString &sig, QCString defChset, bool \
withXHeaders, KNArticle *origPost)  {
   KNConfig::PostNewsTechnical *pnt=knGlobals.configManager()->postNewsTechnical();
 
@@ -883,12 +883,18 @@
   if(withXHeaders) {
     KNConfig::XHeaders::Iterator it;
     for(it=pnt->xHeaders().begin(); it!=pnt->xHeaders().end(); ++it) {
-      QString name(art->from()->name());
-      if (name.isEmpty())
-        name = QString::fromLatin1(art->from()->email());
       QString value = (*it).value();
-      value.replace(QRegExp("%NAME"), name);
-      value.replace(QRegExp("%EMAIL"), QString::fromLatin1(art->from()->email()));
+      if(origPost) {
+        QString name(origPost->from()->name());
+        if (name.isEmpty())
+          name = QString::fromLatin1(origPost->from()->email());
+        value.replace(QRegExp("%NAME"), name);
+        value.replace(QRegExp("%EMAIL"), \
QString::fromLatin1(origPost->from()->email())); +      }
+      else
+        if(value.find("%NAME") != -1 || value.find("%EMAIL") != -1)
+          continue;
+
       art->setHeader( new KMime::Headers::Generic( (QCString("X-")+(*it).name()), \
art, value, pnt->charset() ) );  }
   }


[Attachment #8 (application/pgp-signature)]

_______________________________________________
Knode-devel mailing list
Knode-devel@kde.org
https://mail.kde.org/mailman/listinfo/knode-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic