X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fnetworkinfo.cpp;h=62dacace1d6c379e340d543b9a04ecf5f5d4f601;hb=e008cd12ef319c4b5f9fe5a8cc1524829551771d;hp=8836a702a0e8b60b280ddb1c0a8f863988311fee;hpb=fede47ff7b5098c66615be85024c2467f91f1d18;p=quassel.git diff --git a/src/common/networkinfo.cpp b/src/common/networkinfo.cpp index 8836a702..62dacace 100644 --- a/src/common/networkinfo.cpp +++ b/src/common/networkinfo.cpp @@ -24,6 +24,7 @@ #include "ircchannel.h" #include +#include #include "util.h" @@ -39,7 +40,9 @@ NetworkInfo::NetworkInfo(const uint &networkid, QObject *parent) _currentServer(QString()), _prefixes(QString()), _prefixModes(QString()), - _proxy(NULL) + _proxy(0), + _codecForEncoding(0), + _codecForDecoding(0) { setObjectName(QString::number(networkid)); } @@ -75,7 +78,7 @@ bool NetworkInfo::isMyNick(const QString &nick) const { } bool NetworkInfo::isMyNick(IrcUser *ircuser) const { - return (ircuser->nick().toLower() == myNick()); + return (ircuser->nick().toLower() == myNick().toLower()); } bool NetworkInfo::isChannelName(const QString &channelname) const { @@ -244,6 +247,41 @@ QList NetworkInfo::ircChannels() const { return _ircChannels.values(); } +QTextCodec *NetworkInfo::codecForEncoding() const { + return _codecForEncoding; +} + +void NetworkInfo::setCodecForEncoding(const QString &name) { + setCodecForEncoding(QTextCodec::codecForName(name.toAscii())); +} + +void NetworkInfo::setCodecForEncoding(QTextCodec *codec) { + _codecForEncoding = codec; +} + +QTextCodec *NetworkInfo::codecForDecoding() const { + return _codecForDecoding; +} + +void NetworkInfo::setCodecForDecoding(const QString &name) { + setCodecForDecoding(QTextCodec::codecForName(name.toAscii())); +} + +void NetworkInfo::setCodecForDecoding(QTextCodec *codec) { + _codecForDecoding = codec; +} + +QString NetworkInfo::decodeString(const QByteArray &text) const { + return ::decodeString(text, _codecForDecoding); +} + +QByteArray NetworkInfo::encodeString(const QString string) const { + if(_codecForEncoding) { + return _codecForEncoding->fromUnicode(string); + } + return string.toAscii(); +} + // ==================== // Public Slots: // ====================