OSDN Git Service

refactoring...
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 11 Apr 2003 16:24:28 +0000 (16:24 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 11 Apr 2003 16:24:28 +0000 (16:24 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@151 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/part/kita2ch.cpp
kita/src/part/kita2ch.h
kita/src/part/kitathreadview.cpp

index 8217941..1ddc208 100644 (file)
@@ -135,3 +135,49 @@ const QString Thread::name()
 {
   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;
+}
index 075193a..22a513c 100644 (file)
@@ -51,6 +51,27 @@ namespace Kita2ch
     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
index ea4d432..c3e8560 100644 (file)
@@ -48,8 +48,6 @@
 
 #include <qmessagebox.h>
 
-static QString linkURL(QString);
-
 KitaThreadView::KitaThreadView(QWidget *parent, const char *name)
     : KitaThreadViewBase(parent, name)
     , m_parent( parent )
@@ -220,20 +218,10 @@ void KitaThreadView::slotThreadResult(KIO::Job* job)
   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()) ); }
@@ -244,12 +232,8 @@ void KitaThreadView::slotThreadResult(KIO::Job* job)
       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 ) {
@@ -512,27 +496,6 @@ void KitaThreadView::slotOnURL(const QString& url)
   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();