X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcore%2Fbasichandler.cpp;h=0bb1438bf31de24ea919eb0ccda2546b5cc0e451;hb=335e1e55ee8df69b37b1b4d839950ced9ac08cc4;hp=8288e10d2186a80275703da07b710542b04f15d6;hpb=723db5bff304ad3fdf5a0609198c65a66bfbaea7;p=quassel.git diff --git a/src/core/basichandler.cpp b/src/core/basichandler.cpp index 8288e10d..0bb1438b 100644 --- a/src/core/basichandler.cpp +++ b/src/core/basichandler.cpp @@ -21,7 +21,8 @@ #include -#include "networkconnection.h" +#include "util.h" +#include "logger.h" BasicHandler::BasicHandler(NetworkConnection *parent) : QObject(parent), @@ -29,11 +30,11 @@ BasicHandler::BasicHandler(NetworkConnection *parent) _networkConnection(parent), initDone(false) { - connect(this, SIGNAL(displayMsg(Message::Type, BufferInfo::Type, QString, QString, QString, quint8)), - networkConnection(), SIGNAL(displayMsg(Message::Type, BufferInfo::Type, QString, QString, QString, quint8))); + connect(this, SIGNAL(displayMsg(Message::Type, BufferInfo::Type, QString, QString, QString, Message::Flags)), + networkConnection(), SIGNAL(displayMsg(Message::Type, BufferInfo::Type, QString, QString, QString, Message::Flags))); - connect(this, SIGNAL(putCmd(QString, const QVariantList &, const QByteArray &)), - networkConnection(), SLOT(putCmd(QString, const QVariantList &, const QByteArray &))); + connect(this, SIGNAL(putCmd(QString, const QList &, const QByteArray &)), + networkConnection(), SLOT(putCmd(QString, const QList &, const QByteArray &))); connect(this, SIGNAL(putRawLine(const QByteArray &)), networkConnection(), SLOT(putRawLine(const QByteArray &))); @@ -157,15 +158,6 @@ QList BasicHandler::userEncode(const QString &userNick, const QStrin // ==================== // protected: // ==================== - -Network *BasicHandler::network() const { - return networkConnection()->network(); -} - -NetworkConnection *BasicHandler::networkConnection() const { - return _networkConnection; -} - BufferInfo::Type BasicHandler::typeByTarget(const QString &target) const { if(target.isEmpty()) return BufferInfo::StatusBuffer; @@ -177,13 +169,18 @@ BufferInfo::Type BasicHandler::typeByTarget(const QString &target) const { } void BasicHandler::putCmd(const QString &cmd, const QByteArray ¶m, const QByteArray &prefix) { - QVariantList list; + QList list; list << param; emit putCmd(cmd, list, prefix); } -void BasicHandler::putCmd(const QString &cmd, const QList ¶ms, const QByteArray &prefix) { - QVariantList list; - foreach(QByteArray param, params) list << param; - emit putCmd(cmd, list, prefix); +void BasicHandler::displayMsg(Message::Type msgType, QString target, QString text, QString sender, Message::Flags flags) { + if(!target.isEmpty() && network()->prefixes().contains(target[0])) + target = target.mid(1); + + IrcChannel *channel = network()->ircChannel(target); + if(!channel && (target.startsWith('$') || target.startsWith('#'))) + target = nickFromMask(sender); + + emit displayMsg(msgType, typeByTarget(target), target, text, sender, flags); }