[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdeextragear-2/konversation/konversation
From:       Shintaro Matsuoka <shin () shoegazed ! org>
Date:       2004-09-03 14:56:22
Message-ID: 20040903145622.3396A1678 () office ! kde ! org
[Download RAW message or body]

CVS commit by shin: 

DccChat supports ChannelEncoding.
this setting will NOT be stored to the rc file.


  M +21 -2     dccchat.cpp   1.17
  M +6 -0      dccchat.h   1.9


--- kdeextragear-2/konversation/konversation/dccchat.cpp  #1.16:1.17
@@ -19,4 +19,5 @@
 #include <qvbox.h>
 #include <qhostaddress.h>
+#include <qtextcodec.h>
 
 #include <klineedit.h>
@@ -29,4 +30,5 @@
 #include <kstreamsocket.h>
 
+#include "ircdefaultcodec.h"
 #include "ircview.h"
 #include "ircinput.h"
@@ -199,4 +201,5 @@ void DccChat::readData()
   char* buffer=0;
   QString line;
+  QTextCodec* codec = QTextCodec::codecForName(m_encoding.isEmpty() ? \
IRCDefaultCodec::getDefaultLocaleCodec().ascii() : m_encoding.ascii());  
   do
@@ -211,5 +214,5 @@ void DccChat::readData()
       {
         buffer[actual]=0;
-        line.append(buffer);
+        line.append(codec->toUnicode(buffer));
       }
       else
@@ -274,5 +277,6 @@ void DccChat::sendDccChatText(const QStr
     QTextStream stream(dccSocket);
     // init stream props
-    stream.setEncoding(QTextStream::Locale);
+    stream.setCodec(QTextCodec::codecForName(m_encoding.isEmpty() ? \
IRCDefaultCodec::getDefaultLocaleCodec().ascii() : m_encoding.ascii())); +    \
//stream.setEncoding(QTextStream::Locale);  
 /*
@@ -354,4 +358,19 @@ void DccChat::closeYourself()
 }
 
+void DccChat::setChannelEncoding(const QString& encoding)  // virtual
+{
+  m_encoding = encoding;
+}
+
+QString DccChat::getChannelEncoding()  // virtual
+{
+  return m_encoding;
+}
+
+QString DccChat::getChannelEncodingDefaultDesc()  // virtual
+{
+  return i18n("Default ( %1 )").arg(IRCDefaultCodec::getDefaultLocaleCodec());
+}
+
 #ifdef USE_MDI
 void DccChat::closeYourself(ChatWindow*)

--- kdeextragear-2/konversation/konversation/dccchat.h  #1.8:1.9
@@ -51,4 +51,8 @@ class DccChat : public ChatWindow
     int getPort();
 
+    virtual void setChannelEncoding(const QString& encoding);
+    virtual QString getChannelEncoding();
+    virtual QString getChannelEncodingDefaultDesc();
+
   public slots:
     void appendInputText(const QString& s);
@@ -89,4 +93,6 @@ class DccChat : public ChatWindow
     KNetwork::KStreamSocket* dccSocket;
     KNetwork::KServerSocket* listenSocket;
+    
+    QString m_encoding;
 };
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic