X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fircuser.h;h=33dd143262ea5bd15af20eb8699f567ce4bb342b;hb=0b881e26eb5d741effae4a8096b319c9f5bcd462;hp=e933fb61fc6081252ec23cc14a1a78bf2bf4fb79;hpb=27be9c5a706bf690921617bf66614c4479550c4d;p=quassel.git diff --git a/src/common/ircuser.h b/src/common/ircuser.h index e933fb61..33dd1432 100644 --- a/src/common/ircuser.h +++ b/src/common/ircuser.h @@ -40,7 +40,6 @@ class IrcUser : public QObject { Q_PROPERTY(QStringList channels READ channels STORED false) // Q_PROPERTY(QStringList usermodes READ usermodes WRITE setUsermodes) - public: IrcUser(const QString &hostmask, NetworkInfo *networkInfo); virtual ~IrcUser(); @@ -56,6 +55,17 @@ public: QStringList channels() const; + // user-specific encodings + QTextCodec *codecForEncoding() const; + QTextCodec *codecForDecoding() const; + void setCodecForEncoding(const QString &codecName); + void setCodecForEncoding(QTextCodec *codec); + void setCodecForDecoding(const QString &codecName); + void setCodecForDecoding(QTextCodec *codec); + + QString decodeString(const QByteArray &text) const; + QByteArray encodeString(const QString string) const; + public slots: void setUser(const QString &user); void setHost(const QString &host); @@ -63,7 +73,7 @@ public slots: void updateHostmask(const QString &mask); void setUserModes(const QString &modes); - + void joinChannel(IrcChannel *channel); void joinChannel(const QString &channelname); void partChannel(IrcChannel *channel); @@ -82,9 +92,9 @@ signals: void hostSet(QString host); void nickSet(QString newnick); void hostmaskUpdated(QString mask); - + void userModesSet(QString modes); - + void channelJoined(QString channel); void channelParted(QString channel); @@ -92,7 +102,7 @@ signals: void userModeRemoved(QString mode); void renameObject(QString oldname, QString newname); - + // void setUsermodes(const QSet &usermodes); // QSet usermodes() const; @@ -101,7 +111,7 @@ signals: private slots: void updateObjectName(); void channelDestroyed(); - + private: inline bool operator==(const IrcUser &ircuser2) { return (_nick.toLower() == ircuser2.nick().toLower()); @@ -120,8 +130,11 @@ private: // QSet _channels; QSet _channels; QString _userModes; - + NetworkInfo *networkInfo; + + QTextCodec *_codecForEncoding; + QTextCodec *_codecForDecoding; }; #endif