[Kita-svn] [2499] - remove functions related to text codecs in kita_misc.h

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 7月 30日 (木) 06:19:56 JST


Revision: 2499
          http://sourceforge.jp/projects/kita/svn/view?view=rev&revision=2499
Author:   nogu
Date:     2009-07-30 06:19:56 +0900 (Thu, 30 Jul 2009)

Log Message:
-----------
- remove functions related to text codecs in kita_misc.h
- add Bbs::{dat,post}{To,From}Unicode()

Modified Paths:
--------------
    kita/branches/KITA-KDE4/kita/src/domtree.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/CMakeLists.txt
    kita/branches/KITA-KDE4/kita/src/libkita/access.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/bbs.h
    kita/branches/KITA-KDE4/kita/src/libkita/datinfo.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/flashcgi.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/jbbs.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/jbbs.h
    kita/branches/KITA-KDE4/kita/src/libkita/k2ch.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/kita_misc.cpp
    kita/branches/KITA-KDE4/kita/src/libkita/kita_misc.h
    kita/branches/KITA-KDE4/kita/src/libkita/machibbs.cpp
    kita/branches/KITA-KDE4/kita/src/threadview.cpp

Added Paths:
-----------
    kita/branches/KITA-KDE4/kita/src/libkita/bbs.cpp

Modified: kita/branches/KITA-KDE4/kita/src/domtree.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/domtree.cpp	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/domtree.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -12,6 +12,8 @@
 
 #include "domtree.h"
 
+#include <QtCore/QTextCodec>
+
 #include <kurl.h>
 #include <dom/dom_text.h>
 
@@ -309,11 +311,12 @@
         rootnode.setAttribute("kita_type", "header");
         rootnode.setAttribute("id", "header");
 
-        str = utf8ToUnicode(KITAUTF8_KOKOYON);
+        QTextCodec* codec = QTextCodec::codecForName("UTF-8");
+        str = codec->toUnicode(KITAUTF8_KOKOYON);
         appendAnchorNode(rootnode, "#kokomade_yonda", str);
         rootnode.appendChild(m_hdoc.createTextNode(" "));
 
-        str = utf8ToUnicode(KITAUTF8_SAIGO);
+        str = codec->toUnicode(KITAUTF8_SAIGO);
         appendAnchorNode(rootnode, "#tosaigo", str);
 
         rootnode.appendChild(m_hdoc.createElement("BR"));
@@ -337,11 +340,12 @@
         rootnode.setAttribute("kita_type", "footer");
         rootnode.setAttribute("id", "footer");
 
-        str = utf8ToUnicode(KITAUTF8_KOKOYON);
+        QTextCodec* codec = QTextCodec::codecForName("UTF-8");
+        str = codec->toUnicode(KITAUTF8_KOKOYON);
         appendAnchorNode(rootnode, "#kokomade_yonda", str);
         rootnode.appendChild(m_hdoc.createTextNode(" "));
 
-        str = utf8ToUnicode(KITAUTF8_SAIGO);
+        str = codec->toUnicode(KITAUTF8_SAIGO);
         appendAnchorNode(rootnode, "#tosaigo", str);
     }
 
@@ -356,7 +360,8 @@
     QString str, style;
     DOM::Element rootnode;
 
-    str = utf8ToUnicode(KITAUTF8_KOKOYON2);
+    QTextCodec* codec = QTextCodec::codecForName("UTF-8");
+    str = codec->toUnicode(KITAUTF8_KOKOYON2);
 
     rootnode = m_hdoc.createElement("DIV");
     {

Modified: kita/branches/KITA-KDE4/kita/src/libkita/CMakeLists.txt
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/CMakeLists.txt	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/CMakeLists.txt	2009-07-29 21:19:56 UTC (rev 2499)
@@ -6,6 +6,7 @@
 set(kita_LIB_SRCS
     access.cpp
     account.cpp
+    bbs.cpp
     boardmanager.cpp
     cache.cpp
     datinfo.cpp

Modified: kita/branches/KITA-KDE4/kita/src/libkita/access.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/access.cpp	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/access.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -23,7 +23,11 @@
 #include "account.h"
 #include "boardmanager.h"
 #include "cache.h"
+#include "flashcgi.h"
+#include "jbbs.h"
 #include "kita_misc.h"
+#include "k2ch.h"
+#include "machibbs.h"
 
 using namespace Kita;
 
@@ -73,7 +77,7 @@
     case Board_MachiBBS:  /* Machi BBS's data is already parsed as 2ch dat. */
 
         {
-            QString tmpData = qcpToUnicode(orgData);
+            QString tmpData = K2ch().datToUnicode(orgData);
             QStringList tmpList = tmpData.split('\n');
             emit receiveData(tmpList);
         }
@@ -264,25 +268,34 @@
             switch (m_bbstype) {
 
             case Board_MachiBBS:
-                line = qcpToUnicode(lineList[i]);
-                line2 = ParseMachiBBSOneLine(line, nextNum);
-                ba = unicodeToQcp(line2);
+                {
+                    MachiBBS machiBbs;
+                    line = machiBbs.datToUnicode(lineList[i]);
+                    line2 = ParseMachiBBSOneLine(line, nextNum);
+                    ba = machiBbs.datFromUnicode(line2);
+                }
                 break;
 
             case Board_JBBS:
-                line = eucToUnicode(lineList[i]);
-                line2 = ParseJBBSOneLine(line, nextNum);
-                ba = unicodeToEuc(line2);
+                {
+                    JBBS jBbs;
+                    line = jBbs.datToUnicode(lineList[i]);
+                    line2 = ParseJBBSOneLine(line, nextNum);
+                    ba = jBbs.datFromUnicode(line2);
+                }
                 break;
 
             case Board_FlashCGI:
-                line = qcpToUnicode(lineList[i]);
-                line2 = ParseFlashCGIOneLine(line);
-                ba = unicodeToQcp(line2);
+                {
+                    FlashCGI flashCgi;
+                    line = flashCgi.datToUnicode(lineList[i]);
+                    line2 = ParseFlashCGIOneLine(line);
+                    ba = flashCgi.datFromUnicode(line2);
+                }
                 break;
 
             default:
-                line = line2 = qcpToUnicode(lineList[i]);
+                line = line2 = K2ch().datToUnicode(lineList[i]);
                 ba = lineList[i];
             }
 

Added: kita/branches/KITA-KDE4/kita/src/libkita/bbs.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/bbs.cpp	                        (rev 0)
+++ kita/branches/KITA-KDE4/kita/src/libkita/bbs.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -0,0 +1,108 @@
+/***************************************************************************
+ *   Copyright (C) 2006 by Kita Developers                                 *
+ *   ikemo****@users*****                                            *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ***************************************************************************/
+#include "bbs.h"
+
+#include <QtCore/QTextCodec>
+
+using namespace Kita;
+
+Bbs::Bbs()
+{
+    m_readCodec = QTextCodec::codecForName("Shift-JIS");
+    m_writeCodec = QTextCodec::codecForName("Shift-JIS");
+}
+
+QString Bbs::datToUnicode(const QByteArray& ba) const
+{
+    return m_readCodec->toUnicode(ba);
+}
+
+QByteArray Bbs::datFromUnicode(const QString& str) const
+{
+    return m_readCodec->fromUnicode(str);
+}
+
+QString Bbs::postToUnicode(const QByteArray& ba) const
+{
+    return m_writeCodec->toUnicode(ba);
+}
+
+QByteArray Bbs::postFromUnicode(const QString& str) const
+{
+    return m_writeCodec->fromUnicode(str);
+}
+
+// encoding_offset:
+// 0 encode both @ and /
+// 1 encode @ but not /
+// 2 encode neither @ or /
+QString Bbs::encode(const QString& segment, int encoding_offset,
+        int encoding_hint, bool isRawURI)
+{
+  const char *encode_string = "/@<>#\"&?={}|^~[]\'`\\:+%";
+  encode_string += encoding_offset;
+
+  QByteArray local;
+  if (encoding_hint==0)
+    local = segment.toLocal8Bit();
+  else
+  {
+      QTextCodec * textCodec = QTextCodec::codecForMib(encoding_hint);
+      if (!textCodec)
+          local = segment.toLocal8Bit();
+      else
+          local = textCodec->fromUnicode(segment);
+  }
+
+  int old_length = isRawURI ? local.size() - 1 : local.length();
+
+  if (!old_length)
+    return segment.isEmpty() ? QString() : QString(""); // differentiate null and empty
+
+  // a worst case approximation
+  QChar *new_segment = new QChar[ old_length * 3 + 1 ];
+  int new_length = 0;
+
+  for (int i = 0; i < old_length; i++)
+  {
+    // 'unsave' and 'reserved' characters
+    // according to RFC 1738,
+    // 2.2. URL Character Encoding Issues (pp. 3-4)
+    // WABA: Added non-ascii
+    unsigned char character = local[i];
+    if ((character <= 32) || (character >= 127) ||
+         strchr(encode_string, character))
+    {
+      new_segment[ new_length++ ] = '%';
+
+      unsigned int c = character / 16;
+      c += (c > 9) ? ('A' - 10) : '0';
+      new_segment[ new_length++ ] = c;
+
+      c = character % 16;
+      c += (c > 9) ? ('A' - 10) : '0';
+      new_segment[ new_length++ ] = c;
+
+    }
+    else {
+      unsigned char character = local[i];
+      new_segment[ new_length++ ] = character;
+    }
+  }
+
+  QString result = QString(new_segment, new_length);
+  delete [] new_segment;
+  return result;
+}
+
+QString Bbs::encodeString(const QString &str, int encoding_hint)
+{
+   return encode(str, 1, encoding_hint);
+}

Modified: kita/branches/KITA-KDE4/kita/src/libkita/bbs.h
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/bbs.h	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/bbs.h	2009-07-29 21:19:56 UTC (rev 2499)
@@ -12,14 +12,33 @@
 
 #include <kdemacros.h>
 
+class QTextCodec;
+
 namespace Kita {
     class PostData;
 
     class KDE_EXPORT Bbs {
         public:
+            Bbs();
             virtual ~Bbs() { }
             virtual QString buildPostStr(const PostData& data) = 0;
+
+            QString datToUnicode(const QByteArray& ba) const;
+            QByteArray datFromUnicode(const QString& str) const;
+
+            QString postToUnicode(const QByteArray& ba) const;
+            QByteArray postFromUnicode(const QString& str) const;
+        protected:
+            static QString encodeString(const QString &str, int encoding_hint);
+
+            QTextCodec* m_readCodec;
+            QTextCodec* m_writeCodec;
+
+        private:
+            static QString encode(const QString& segment, int encoding_offset,
+                    int encoding_hint, bool isRawURI = false);
     };
 }
 
 #endif
+

Modified: kita/branches/KITA-KDE4/kita/src/libkita/datinfo.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/datinfo.cpp	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/datinfo.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -12,6 +12,7 @@
 
 #include <QtCore/QRegExp>
 #include <QtCore/QStringList>
+#include <QtCore/QTextCodec>
 
 #include <klocale.h>
 
@@ -55,10 +56,11 @@
     m_thread = Thread::getByURL(m_datURL);
 
     /* japanese strings */
-    m_spacestr = utf8ToUnicode(KITAUTF8_ZENSPACE);
-    m_framestr1 = utf8ToUnicode(KITAUTF8_FRAME1); /* |  */
-    m_framestr2 = utf8ToUnicode(KITAUTF8_FRAME2); /* |- */
-    m_framestr3 = utf8ToUnicode(KITAUTF8_FRAME3); /* L  */
+    QTextCodec* codec = QTextCodec::codecForName("UTF-8");
+    m_spacestr = codec->toUnicode(KITAUTF8_ZENSPACE);
+    m_framestr1 = codec->toUnicode(KITAUTF8_FRAME1); /* |  */
+    m_framestr2 = codec->toUnicode(KITAUTF8_FRAME2); /* |- */
+    m_framestr3 = codec->toUnicode(KITAUTF8_FRAME3); /* L  */
 
     /* make directory */
     Cache cache(m_datURL);

Modified: kita/branches/KITA-KDE4/kita/src/libkita/flashcgi.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/flashcgi.cpp	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/flashcgi.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -19,13 +19,12 @@
 QString FlashCGI::buildPostStr(const PostData& data)
 {
     QString ret;
-    QTextCodec* codec = QTextCodec::codecForName("Shift-JIS");
-    int mib = codec->mibEnum();
+    int mib = m_writeCodec->mibEnum();
 
     (ret += "submit=") += "%8f%91%82%ab%8d%9e%82%de";  /* kakikomu */
-    (ret += "&FROM=") += encode_string(data.name(), mib);
-    (ret += "&mail=") += encode_string(data.mail(), mib);
-    (ret += "&MESSAGE=") += encode_string(data.body(), mib);
+    (ret += "&FROM=") += encodeString(data.name(), mib);
+    (ret += "&mail=") += encodeString(data.mail(), mib);
+    (ret += "&MESSAGE=") += encodeString(data.body(), mib);
     (ret += "&bbs=") += data.boardId();
     (ret += "&key=") += data.threadId();
 

Modified: kita/branches/KITA-KDE4/kita/src/libkita/jbbs.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/jbbs.cpp	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/jbbs.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -16,16 +16,20 @@
 
 using namespace Kita;
 
+JBBS::JBBS()
+{
+    m_readCodec = QTextCodec::codecForName("eucJP");
+}
+
 QString JBBS::buildPostStr(const PostData& data)
 {
     QString ret;
-    QTextCodec* codec = QTextCodec::codecForName("Shift-JIS");
-    int mib = codec->mibEnum();
+    int mib = m_writeCodec->mibEnum();
 
     (ret += "submit=") += "%8f%91%82%ab%8d%9e%82%de";  /* kakikomu */
-    (ret += "&NAME=") += encode_string(data.name(), mib);
-    (ret += "&MAIL=") += encode_string(data.mail(), mib);
-    (ret += "&MESSAGE=") += encode_string(data.body(), mib).replace(';', "%3B");
+    (ret += "&NAME=") += encodeString(data.name(), mib);
+    (ret += "&MAIL=") += encodeString(data.mail(), mib);
+    (ret += "&MESSAGE=") += encodeString(data.body(), mib).replace(';', "%3B");
     (ret += "&BBS=") += data.boardId().section('/', 1, 1);
     (ret += "&DIR=") += data.boardId().section('/', 0, 0);
     (ret += "&KEY=") += data.threadId();

Modified: kita/branches/KITA-KDE4/kita/src/libkita/jbbs.h
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/jbbs.h	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/jbbs.h	2009-07-29 21:19:56 UTC (rev 2499)
@@ -20,6 +20,8 @@
     */
     class KDE_EXPORT JBBS : public Bbs {
         public:
+            JBBS();
+
             QString buildPostStr(const PostData& data);
     };
 }

Modified: kita/branches/KITA-KDE4/kita/src/libkita/k2ch.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/k2ch.cpp	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/k2ch.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -19,16 +19,15 @@
 QString K2ch::buildPostStr(const PostData& data)
 {
     QString ret;
-    QTextCodec* codec = QTextCodec::codecForName("Shift-JIS");
 
-    int mib = codec->mibEnum();
+    int mib = m_writeCodec->mibEnum();
 
     (ret += "submit=") += "%8f%91%82%ab%8d%9e%82%de";  /* kakikomu */
 
     /* from, mail, message, bbs */
-    (ret += "&FROM=") += encode_string(data.name(), mib);
-    (ret += "&mail=") += encode_string(data.mail(), mib);
-    (ret += "&MESSAGE=") += encode_string(data.body(), mib);
+    (ret += "&FROM=") += encodeString(data.name(), mib);
+    (ret += "&mail=") += encodeString(data.mail(), mib);
+    (ret += "&MESSAGE=") += encodeString(data.body(), mib);
     (ret += "&bbs=") += data.boardId();
     (ret += "&tepo=don");
 

Modified: kita/branches/KITA-KDE4/kita/src/libkita/kita_misc.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/kita_misc.cpp	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/kita_misc.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -10,7 +10,6 @@
 
 #include "kita_misc.h"
 
-#include <QtCore/QByteArray>
 #include <QtCore/QDir>
 #include <QtCore/QRegExp>
 #include <QtCore/QTextCodec>
@@ -28,10 +27,6 @@
 
 using namespace Kita;
 
-static QTextCodec* qcpCodec = 0;
-static QTextCodec* utf8Codec = 0;
-static QTextCodec* eucCodec = 0;
-
 static QString m_weekstr[ 7 ];
 static QString m_colonstr;
 static QString m_colonnamestr;
@@ -46,53 +41,6 @@
 static QString m_machiSubject;
 static QString m_machiLine;
 
-static QTextCodec * codecForHint(int encoding_hint /* not 0 ! */);
-static QString encode(const QString& segment, int encoding_offset, int encoding_hint, bool isRawURI = false);
-
-/*---------------------------------------------------*/
-
-/* Text codecs */
-
-
-QString Kita::qcpToUnicode(const QByteArray& str)
-{
-    if (!qcpCodec) qcpCodec = QTextCodec::codecForName("Shift-JIS");
-
-    return qcpCodec->toUnicode(str);
-}
-
-
-QString Kita::utf8ToUnicode(const QByteArray& str)
-{
-    if (!utf8Codec) utf8Codec = QTextCodec::codecForName("utf8");
-
-    return utf8Codec->toUnicode(str);
-}
-
-
-QString Kita::eucToUnicode(const QByteArray& str)
-{
-    if (!eucCodec) eucCodec = QTextCodec::codecForName("eucJP");
-
-    return eucCodec->toUnicode(str);
-}
-
-QByteArray Kita::unicodeToQcp(const QString& str)
-{
-    if (!qcpCodec) qcpCodec = QTextCodec::codecForName("Shift-JIS");
-    return qcpCodec->fromUnicode(str);
-}
-
-QByteArray Kita::unicodeToEuc(const QString& str)
-{
-    if (!eucCodec) eucCodec = QTextCodec::codecForName("eucJP");
-
-    return eucCodec->fromUnicode(str);
-}
-
-/*------------------------------------------------------------*/
-/*------------------------------------------------------------*/
-
 /* conversion of DAT */
 
 
@@ -203,6 +151,7 @@
     /* output */
     unsigned int& pos)
 {
+    QTextCodec* codec = QTextCodec::codecForName("UTF-8");
     QString retstr;
 
     if ((pos = isEqual(cdat , "&gt;"))) retstr = '>';
@@ -212,16 +161,16 @@
     else if ((pos = isEqual(cdat , "&quot;"))) retstr = '"';
 
     else if ((pos = isEqual(cdat , "&hearts;")))
-        retstr = utf8ToUnicode(KITAUTF8_HEART);
+        retstr = codec->toUnicode(KITAUTF8_HEART);
 
     else if ((pos = isEqual(cdat , "&diams;")))
-        retstr = utf8ToUnicode(KITAUTF8_DIA);
+        retstr = codec->toUnicode(KITAUTF8_DIA);
 
     else if ((pos = isEqual(cdat , "&clubs;")))
-        retstr = utf8ToUnicode(KITAUTF8_CLUB);
+        retstr = codec->toUnicode(KITAUTF8_CLUB);
 
     else if ((pos = isEqual(cdat , "&spades;")))
-        retstr = utf8ToUnicode(KITAUTF8_SPADE);
+        retstr = codec->toUnicode(KITAUTF8_SPADE);
 
     return retstr;
 }
@@ -1308,8 +1257,9 @@
     bool useTableTag = GlobalConfig::useStyleSheet();
 
     if (m_colonstr.isEmpty()) {
-        m_colonstr = utf8ToUnicode(KITAUTF8_COLON);
-        m_colonnamestr = utf8ToUnicode(KITAUTF8_NAME);
+        QTextCodec* codec = QTextCodec::codecForName("UTF-8");
+        m_colonstr = codec->toUnicode(KITAUTF8_COLON);
+        m_colonnamestr = codec->toUnicode(KITAUTF8_NAME);
     }
 
     if (useTableTag) titleHTML += "<table class=\"res_title\"><tr>";
@@ -1414,77 +1364,3 @@
 {
     return font.family() + ' ' + QString::number(font.pointSize());
 }
-
-// copied from kurl.cpp
-static QTextCodec * codecForHint(int encoding_hint /* not 0 ! */)
-{
-    return QTextCodec::codecForMib(encoding_hint);
-}
-
-// encoding_offset:
-// 0 encode both @ and /
-// 1 encode @ but not /
-// 2 encode neither @ or /
-static QString encode(const QString& segment, int encoding_offset, int encoding_hint, bool isRawURI)
-{
-  const char *encode_string = "/@<>#\"&?={}|^~[]\'`\\:+%";
-  encode_string += encoding_offset;
-
-  QByteArray local;
-  if (encoding_hint==0)
-    local = segment.toLocal8Bit();
-  else
-  {
-      QTextCodec * textCodec = codecForHint(encoding_hint);
-      if (!textCodec)
-          local = segment.toLocal8Bit();
-      else
-          local = textCodec->fromUnicode(segment);
-  }
-
-  int old_length = isRawURI ? local.size() - 1 : local.length();
-
-  if (!old_length)
-    return segment.isEmpty() ? QString() : QString(""); // differentiate null and empty
-
-  // a worst case approximation
-  QChar *new_segment = new QChar[ old_length * 3 + 1 ];
-  int new_length = 0;
-
-  for (int i = 0; i < old_length; i++)
-  {
-    // 'unsave' and 'reserved' characters
-    // according to RFC 1738,
-    // 2.2. URL Character Encoding Issues (pp. 3-4)
-    // WABA: Added non-ascii
-    unsigned char character = local[i];
-    if ((character <= 32) || (character >= 127) ||
-         strchr(encode_string, character))
-    {
-      new_segment[ new_length++ ] = '%';
-
-      unsigned int c = character / 16;
-      c += (c > 9) ? ('A' - 10) : '0';
-      new_segment[ new_length++ ] = c;
-
-      c = character % 16;
-      c += (c > 9) ? ('A' - 10) : '0';
-      new_segment[ new_length++ ] = c;
-
-    }
-    else {
-      unsigned char character = local[i];
-      new_segment[ new_length++ ] = character;
-    }
-  }
-
-  QString result = QString(new_segment, new_length);
-  delete [] new_segment;
-  return result;
-}
-
-QString Kita::encode_string(const QString &str, int encoding_hint)
-{
-   return encode(str, 1, encoding_hint);
-}
-

Modified: kita/branches/KITA-KDE4/kita/src/libkita/kita_misc.h
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/kita_misc.h	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/kita_misc.h	2009-07-29 21:19:56 UTC (rev 2499)
@@ -35,16 +35,6 @@
      */
 
     /*------------------------------*/
-    /* text codecs */
-    QString qcpToUnicode(const QByteArray& str);
-    KDE_EXPORT QString utf8ToUnicode(const QByteArray& str);
-    QString eucToUnicode(const QByteArray& str);
-    QByteArray unicodeToQcp(const QString& str);
-    QByteArray unicodeToEuc(const QString& str);
-    QString encode_string(const QString &str, int encoding_hint);
-
-
-    /*------------------------------*/
     /* conversion of DAT  */
     QString datToHtml(const QString& rawData, int num);
     void DatToText(const QString &rawData, QString& text);

Modified: kita/branches/KITA-KDE4/kita/src/libkita/machibbs.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/libkita/machibbs.cpp	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/libkita/machibbs.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -19,13 +19,12 @@
 QString MachiBBS::buildPostStr(const PostData& data)
 {
     QString ret;
-    QTextCodec* codec = QTextCodec::codecForName("Shift-JIS");
-    int mib = codec->mibEnum();
+    int mib = m_writeCodec->mibEnum();
 
     (ret += "submit=") += "%8f%91%82%ab%8d%9e%82%de";  /* kakikomu */
-    (ret += "&NAME=") += encode_string(data.name(), mib);
-    (ret += "&MAIL=") += encode_string(data.mail(), mib);
-    (ret += "&MESSAGE=") += encode_string(data.body(), mib);
+    (ret += "&NAME=") += encodeString(data.name(), mib);
+    (ret += "&MAIL=") += encodeString(data.mail(), mib);
+    (ret += "&MESSAGE=") += encodeString(data.body(), mib);
     (ret += "&BBS=") += data.boardId();
     (ret += "&KEY=") += data.threadId();
     (ret += "&TIME=") += QString::number(data.serverTime());

Modified: kita/branches/KITA-KDE4/kita/src/threadview.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/threadview.cpp	2009-07-29 14:30:40 UTC (rev 2498)
+++ kita/branches/KITA-KDE4/kita/src/threadview.cpp	2009-07-29 21:19:56 UTC (rev 2499)
@@ -11,6 +11,7 @@
 
 #include "threadview.h"
 
+#include <QtCore/QTextCodec>
 #include <QtGui/QHBoxLayout>
 #include <QtGui/QToolButton>
 #include <QtGui/QVBoxLayout>
@@ -339,7 +340,8 @@
     activateWindow();
 
     if (m_threadPart->reload(jumpNum)) {
-        showStatusBar(utf8ToUnicode(KITAUTF8_NOWRENEW));
+        QTextCodec* codec = QTextCodec::codecForName("UTF-8");
+        showStatusBar(codec->toUnicode(KITAUTF8_NOWRENEW));
     }
 }
 
@@ -426,13 +428,14 @@
                      BoardManager::boardURL(m_datURL));
     updateButton();
 
+    QTextCodec* codec = QTextCodec::codecForName("UTF-8");
     gotoCombo->clear();
-    gotoCombo->addItem(utf8ToUnicode(KITAUTF8_GOTO));
-    gotoCombo->addItem(utf8ToUnicode(KITAUTF8_KOKOYON));
+    gotoCombo->addItem(codec->toUnicode(KITAUTF8_GOTO));
+    gotoCombo->addItem(codec->toUnicode(KITAUTF8_KOKOYON));
     for (int i = 1; i < DatManager::getReadNum(m_datURL); i += 100) {
         gotoCombo->addItem(QString().setNum(i) + '-');
     }
-    gotoCombo->addItem(utf8ToUnicode(KITAUTF8_SAIGO));
+    gotoCombo->addItem(codec->toUnicode(KITAUTF8_SAIGO));
     gotoCombo->adjustSize();
 
     ViewMediator::getInstance()->updateBoardView(m_datURL);




Kita-svn メーリングリストの案内
Back to archive index