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 , ">"))) retstr = '>'; @@ -212,16 +161,16 @@ else if ((pos = isEqual(cdat , """))) retstr = '"'; else if ((pos = isEqual(cdat , "♥"))) - retstr = utf8ToUnicode(KITAUTF8_HEART); + retstr = codec->toUnicode(KITAUTF8_HEART); else if ((pos = isEqual(cdat , "♦"))) - retstr = utf8ToUnicode(KITAUTF8_DIA); + retstr = codec->toUnicode(KITAUTF8_DIA); else if ((pos = isEqual(cdat , "♣"))) - retstr = utf8ToUnicode(KITAUTF8_CLUB); + retstr = codec->toUnicode(KITAUTF8_CLUB); else if ((pos = isEqual(cdat , "♠"))) - 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);