-rw-r--r-- | noncore/net/opieirc/ircmessageparser.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/noncore/net/opieirc/ircmessageparser.cpp b/noncore/net/opieirc/ircmessageparser.cpp index 9c1492c..ad9de2b 100644 --- a/noncore/net/opieirc/ircmessageparser.cpp +++ b/noncore/net/opieirc/ircmessageparser.cpp | |||
@@ -361,14 +361,22 @@ void IRCMessageParser::parseLiteralTopic(IRCMessage *message) { | |||
361 | void IRCMessageParser::parseLiteralError(IRCMessage *message) { | 361 | void IRCMessageParser::parseLiteralError(IRCMessage *message) { |
362 | emit outputReady(IRCOutput(OUTPUT_ERROR, message->allParameters())); | 362 | emit outputReady(IRCOutput(OUTPUT_ERROR, message->allParameters())); |
363 | } | 363 | } |
364 | 364 | ||
365 | void IRCMessageParser::parseCTCPPing(IRCMessage *message) { | 365 | void IRCMessageParser::parseCTCPPing(IRCMessage *message) { |
366 | IRCPerson mask(message->prefix()); | 366 | IRCPerson mask(message->prefix()); |
367 | if(message->isCTCPReply()) { | ||
368 | unsigned int sentTime = message->param(0).toUInt(); | ||
369 | QDateTime tm; | ||
370 | tm.setTime_t(0); | ||
371 | unsigned int receivedTime = tm.secsTo(QDateTime::currentDateTime()); | ||
372 | emit outputReady(IRCOutput(OUTPUT_CTCP, tr("Received a CTCP PING reply from %1: %2 seconds").arg(mask.nick()).arg(receivedTime-sentTime))); | ||
373 | return; | ||
374 | } | ||
367 | m_session->m_connection->sendCTCPReply(mask.nick(), "PING", message->allParameters()); | 375 | m_session->m_connection->sendCTCPReply(mask.nick(), "PING", message->allParameters()); |
368 | emit outputReady(IRCOutput(OUTPUT_CTCP, tr("Received a CTCP PING from ") + mask.nick())); | 376 | emit outputReady(IRCOutput(OUTPUT_CTCP, tr("Received a CTCP PING request from %1").arg(mask.nick()))); |
369 | 377 | ||
370 | //IRCPerson mask(message->prefix()); | 378 | //IRCPerson mask(message->prefix()); |
371 | QString dest = message->ctcpDestination(); | 379 | QString dest = message->ctcpDestination(); |
372 | if (dest.startsWith("#")) { | 380 | if (dest.startsWith("#")) { |
373 | IRCChannel *channel = m_session->getChannel(dest.lower()); | 381 | IRCChannel *channel = m_session->getChannel(dest.lower()); |
374 | if (channel) { | 382 | if (channel) { |