{
return m_threadName;
}
+
+Comment::Comment(QString line) : m_isValid(false)
+{
+ QStringList list = QStringList::split("<>", line, true);
+
+ if(list.size() != 5) {
+ return;
+ }
+ m_name = list[0];
+ m_address = list[1];
+ m_dateId = list[2];
+ m_body = list[3];
+ m_subject = list[4];
+ m_isValid = true;
+}
+
+QString Comment::linkedAddress()
+{
+ if(m_address != "") {
+ return QString("<a href='mailto:%1' title='%2'>%3</a>").arg(m_address).arg(m_address).arg(m_name);
+ } else {
+ return m_name;
+ }
+}
+
+QString Comment::linkedBody()
+{
+ QString ret;
+ QString str = m_body;
+ // see RFC 1738.
+ QRegExp url_rx("(h?ttp://([-.0-9a-zA-Z]+(/[;:@&=$-_.+!*'(),%~/?#0-9a-zA-Z]*)?))");
+
+ int i;
+ while ((i = str.find(url_rx)) != -1) {
+ if (i == 0) {
+ // starts with URL.
+ ret += QString("<a href='http://%1'>%2</a>").arg(url_rx.cap(2)).arg(url_rx.cap(1));
+ str.remove(0, url_rx.cap(1).length());
+ } else {
+ ret += str.left(i);
+ str.remove(0, i);
+ }
+ }
+ ret += str;
+ return ret;
+}
int resNum();
const QString name();
};
+
+ class Comment
+ {
+ QString m_name;
+ QString m_address;
+ QString m_dateId;
+ QString m_body;
+ QString m_subject;
+ bool m_isValid;
+ public:
+ Comment(QString line);
+ ~Comment() {}
+ QString getName() { return m_name; }
+ QString getAddress() { return m_address; }
+ QString getDateId() { return m_dateId; }
+ QString getBody() { return m_body; }
+ QString getSubject() { return m_subject; }
+ bool isValid() { return m_isValid; }
+ QString linkedAddress();
+ QString linkedBody();
+ };
};
#endif
#include <qmessagebox.h>
-static QString linkURL(QString);
-
KitaThreadView::KitaThreadView(QWidget *parent, const char *name)
: KitaThreadViewBase(parent, name)
, m_parent( parent )
progress->show();
while(!stream.atEnd()) {
line = stream.readLine();
- QStringList list = QStringList::split("<>", line, true);
-
- if(list.size() != 5) {
- // probably eof
- break;
- }
- QString name = list[0];
- QString address = list[1];
- QString dateId = list[2];
- QString body = list[3];
- QString subject = list[4];
+ Kita2ch::Comment comment(line);
if(num == 1) {
- m_subject = subject;
+ m_subject = comment.getSubject();
{
QString disp( m_subject );
if ( ! m_board.name().isEmpty() ) { disp.prepend( QString("[%1]").arg(m_board.name()) ); }
text += "</head><body>";
}
text += QString("<dl><dt><span id=\"%1\"/>%2 ").arg(num).arg(num);
- if(address != "") {
- text += QString("<a href='mailto:%1' title='%2'>%3</a>").arg(address).arg(address).arg(name);
- } else {
- text += name;
- }
- text += QString(" %1</dt><dd>%2<br/><br/></dd></dl>").arg(dateId).arg(linkURL(body));
+ text += comment.linkedAddress();
+ text += QString(" %1</dt><dd>%2<br/><br/></dd></dl>").arg(comment.getDateId()).arg(comment.linkedBody());
num++;
if( (step+=line.length()) > next ) {
emit signalChangeStatusbar(url);
}
-static QString linkURL(QString str)
-{
- QString ret;
- // see RFC 1738.
- QRegExp url_rx("(h?ttp://([-.0-9a-zA-Z]+(/[;:@&=$-_.+!*'(),%~/?#0-9a-zA-Z]*)?))");
-
- int i;
- while ((i = str.find(url_rx)) != -1) {
- if (i == 0) {
- // starts with URL.
- ret += QString("<a href='http://%1'>%2</a>").arg(url_rx.cap(2)).arg(url_rx.cap(1));
- str.remove(0, url_rx.cap(1).length());
- } else {
- ret += str.left(i);
- str.remove(0, i);
- }
- }
- ret += str;
- return ret;
-}
-
bool KitaThreadView::gotoAnchor( const QString &name )
{
KHTMLView * view = m_threadPart->view();