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

List:       kde-commits
Subject:    branches/KDE/3.4/kdepim/knode
From:       Jakob Schröter <cvsci () camaya ! net>
Date:       2005-05-31 13:37:22
Message-ID: 1117546642.670034.17063.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 420163 by schrot:

non-string backport from trunk:
- fix %NAME and %EMAIL macros
CCBUG: 22101


 M  +13 -7     knarticlefactory.cpp  
 M  +1 -1      knarticlefactory.h  


--- branches/KDE/3.4/kdepim/knode/knarticlefactory.cpp #420162:420163
@@ -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() ) );  }
   }
--- branches/KDE/3.4/kdepim/knode/knarticlefactory.h #420162:420163
@@ -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);


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

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