if(i+1 < message.size()) {
for(ctcpquote = ctcpMDequoteHash.begin(); ctcpquote != ctcpMDequoteHash.end(); ++ctcpquote) {
if(message.mid(i,2) == ctcpquote.key()) {
- dequotedMessage += ctcpquote.value();
+ messagepart = ctcpquote.value();
i++;
break;
}
// extract tagged / extended data
while(dequotedMessage.contains(XDELIM)) {
- messages << dequotedMessage.section(XDELIM,0,0);
+ if(dequotedMessage.indexOf(XDELIM) > 0)
+ messages << dequotedMessage.section(XDELIM,0,0);
ctcp = XdelimDequote(dequotedMessage.section(XDELIM,1,1));
dequotedMessage = dequotedMessage.section(XDELIM,2,2);
// CTCP HANDLER
//******************************/
void CtcpHandler::handleAction(CtcpType ctcptype, QString prefix, QString target, QString param) {
+ Q_UNUSED(ctcptype)
emit displayMsg(Message::Action, target, param, prefix);
}
void CtcpHandler::handlePing(CtcpType ctcptype, QString prefix, QString target, QString param) {
+ Q_UNUSED(target)
if(ctcptype == CtcpQuery) {
reply(nickFromMask(prefix), "PING", param);
emit displayMsg(Message::Server, "", tr("Received CTCP PING request from %1").arg(prefix));
} else {
// display ping answer
+ uint now = QDateTime::currentDateTime().toTime_t();
+ uint then = QDateTime().fromTime_t(param.toInt()).toTime_t();
+ emit displayMsg(Message::Server, "", tr("Received CTCP PING answer from %1 with %2 seconds round trip time").arg(prefix).arg(now-then));
}
}
void CtcpHandler::handleVersion(CtcpType ctcptype, QString prefix, QString target, QString param) {
+ Q_UNUSED(target)
if(ctcptype == CtcpQuery) {
// FIXME use real Info about quassel :)
reply(nickFromMask(prefix), "VERSION", QString("Quassel IRC (Pre-Release) - http://www.quassel-irc.org"));
emit displayMsg(Message::Server, "", tr("Received CTCP VERSION request by %1").arg(prefix));
} else {
- // TODO display Version answer
+ // display Version answer
+ emit displayMsg(Message::Server, "", tr("Received CTCP VERSION answer from %1: %2").arg(prefix).arg(param));
}
}
void CtcpHandler::defaultHandler(QString cmd, CtcpType ctcptype, QString prefix, QString target, QString param) {
+ Q_UNUSED(ctcptype);
+ Q_UNUSED(target);
+ Q_UNUSED(param);
emit displayMsg(Message::Error, "", tr("Received unknown CTCP %1 by %2").arg(cmd).arg(prefix));
}