From 9e47be8314b97c5e96565368595215b6ed6c511d Mon Sep 17 00:00:00 2001 From: Roberto Alsina Date: Fri, 21 Nov 1997 14:59:47 +0000 Subject: [PATCH] [Roberto] Added KMMessage::referencesAsAnchor(), and display of references line to kmreaderwin. All changes are #ifdef KRN, since they are fairly useless to KMail until it gets NNTP capabilities. Also adopted kpgp. svn path=/trunk/kdenetwork/kmail/; revision=2962 --- kmmessage.cpp | 33 +++++++++++++++++++++++++++++++++ kmmessage.h | 6 ++++++ kmreaderwin.cpp | 13 ++++++++++++- 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/kmmessage.cpp b/kmmessage.cpp index 00a511786..1de87df34 100644 --- a/kmmessage.cpp +++ b/kmmessage.cpp @@ -117,6 +117,39 @@ const QString KMMessage::id(void) const return ""; } +#ifdef KRN +const QString KMMessage::refsAsAnchor(const QString references) +{ + QString refsdata=references; + QString t,t2,result; + int count=1; + + while (1) + { + int index=refsdata.find('>'); + if (index==-1) + { + break; + refsdata=refsdata.stripWhiteSpace(); + refsdata=refsdata.mid(1,refsdata.length()-2); + t.setNum(count++); + t=""+t+" "; + result+=t; + } + else + { + t.setNum(count++); + t2=refsdata.left(index+1).stripWhiteSpace(); + t2=t2.mid(1,t2.length()-2); + t=""+t+" "; + refsdata=refsdata.right(refsdata.length()-index-1); + result+=t; + } + } + return result.data(); +} +#endif + /* End of functions added by KRN */ diff --git a/kmmessage.h b/kmmessage.h index a34d7da15..fabae2d9b 100644 --- a/kmmessage.h +++ b/kmmessage.h @@ -220,6 +220,12 @@ public: static const QString emailAddrAsAnchor(const QString emailAddr, bool stripped=TRUE); +#ifdef KRN + /** Convert a normal References: header into a list of anchors + to news URLs for the referred articles. Right now, only for KRN. */ + static const QString refsAsAnchor(const QString references); +#endif + /** Reads config settings from group "KMMessage" and sets all internal * variables (e.g. indent-prefix, etc.) */ static void readConfig(void); diff --git a/kmreaderwin.cpp b/kmreaderwin.cpp index 552449ff4..a8a8473bb 100644 --- a/kmreaderwin.cpp +++ b/kmreaderwin.cpp @@ -242,7 +242,13 @@ void KMReaderWin::writeMsgHeader(void) mViewer->write(nls->translate("From: ") + KMMessage::emailAddrAsAnchor(mMsg->from()) + "
"); mViewer->write(nls->translate("To: ") + - KMMessage::emailAddrAsAnchor(mMsg->to()) + "

"); + KMMessage::emailAddrAsAnchor(mMsg->to()) + "

"); +#ifdef KRN + if (!mMsg->references().isEmpty()) + mViewer->write(nls->translate("References: ") + + KMMessage::refsAsAnchor(mMsg->references()) + "

"); +#endif + break; case HdrFancy: @@ -259,6 +265,11 @@ void KMReaderWin::writeMsgHeader(void) mViewer->write(nls->translate("Date: ") + strToHtml(mMsg->dateStr()) + "
"); mViewer->write("
"); +#ifdef KRN + if (!mMsg->references().isEmpty()) + mViewer->write(nls->translate("References: ") + + KMMessage::refsAsAnchor(mMsg->references()) + "

"); +#endif break; case HdrLong: