X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fctcphandler.cpp;h=153f6c0fbf56e6e77e8df35c6e570bc0e4f71296;hb=9d12f8189a0dfd8ac76e41aea86ac56bdf907fde;hp=26697f8206f53e20974b1dcba6c6d86de6aa217e;hpb=5c00beb706c7761d19f9a6b86751193056086b4a;p=quassel.git diff --git a/src/core/ctcphandler.cpp b/src/core/ctcphandler.cpp index 26697f82..153f6c0f 100644 --- a/src/core/ctcphandler.cpp +++ b/src/core/ctcphandler.cpp @@ -81,17 +81,21 @@ QString CtcpHandler::XdelimDequote(QString message) { return dequotedMessage; } -QStringList CtcpHandler::parse(CtcpType ctcptype, QString prefix, QString target, QString message) { - QStringList messages; +void CtcpHandler::parse(Message::Type messageType, QString prefix, QString target, QString message) { QString ctcp; //lowlevel message dequote QString dequotedMessage = dequote(message); - + + CtcpType ctcptype = (messageType == Message::Notice) + ? CtcpReply + : CtcpQuery; + // extract tagged / extended data while(dequotedMessage.contains(XDELIM)) { - if(dequotedMessage.indexOf(XDELIM) > 0) - messages << dequotedMessage.section(XDELIM,0,0); + if(dequotedMessage.indexOf(XDELIM) > 0) + emit displayMsg(messageType, target, dequotedMessage.section(XDELIM,0,0), prefix); + // messages << dequotedMessage.section(XDELIM,0,0), prefix); ctcp = XdelimDequote(dequotedMessage.section(XDELIM,1,1)); dequotedMessage = dequotedMessage.section(XDELIM,2,2); @@ -101,10 +105,10 @@ QStringList CtcpHandler::parse(CtcpType ctcptype, QString prefix, QString target handle(ctcpcmd, Q_ARG(CtcpType, ctcptype), Q_ARG(QString, prefix), Q_ARG(QString, target), Q_ARG(QString, ctcpparam)); } - if(!dequotedMessage.isEmpty()) { - messages << dequotedMessage; - } - return messages; + + if(!dequotedMessage.isEmpty()) + emit displayMsg(messageType, target, dequotedMessage, prefix); + } QString CtcpHandler::pack(QString ctcpTag, QString message) {