author | skyhusker <skyhusker> | 2005-02-01 19:12:34 (UTC) |
---|---|---|
committer | skyhusker <skyhusker> | 2005-02-01 19:12:34 (UTC) |
commit | 17a8d1d5d2d9ec7a5e09da00e055d566fbd85353 (patch) (side-by-side diff) | |
tree | 7e645b05a471b9139303e3ceb34a45514ed475c0 | |
parent | e8eee0b7b169c5ed79f0eb9e0a76df06ec3fdcb4 (diff) | |
download | opie-17a8d1d5d2d9ec7a5e09da00e055d566fbd85353.zip opie-17a8d1d5d2d9ec7a5e09da00e055d566fbd85353.tar.gz opie-17a8d1d5d2d9ec7a5e09da00e055d566fbd85353.tar.bz2 |
Added proper action on ctcp ping reply
-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 @@ -359,18 +359,26 @@ void IRCMessageParser::parseLiteralTopic(IRCMessage *message) { } void IRCMessageParser::parseLiteralError(IRCMessage *message) { emit outputReady(IRCOutput(OUTPUT_ERROR, message->allParameters())); } void IRCMessageParser::parseCTCPPing(IRCMessage *message) { IRCPerson mask(message->prefix()); + if(message->isCTCPReply()) { + unsigned int sentTime = message->param(0).toUInt(); + QDateTime tm; + tm.setTime_t(0); + unsigned int receivedTime = tm.secsTo(QDateTime::currentDateTime()); + emit outputReady(IRCOutput(OUTPUT_CTCP, tr("Received a CTCP PING reply from %1: %2 seconds").arg(mask.nick()).arg(receivedTime-sentTime))); + return; + } m_session->m_connection->sendCTCPReply(mask.nick(), "PING", message->allParameters()); - emit outputReady(IRCOutput(OUTPUT_CTCP, tr("Received a CTCP PING from ") + mask.nick())); + emit outputReady(IRCOutput(OUTPUT_CTCP, tr("Received a CTCP PING request from %1").arg(mask.nick()))); //IRCPerson mask(message->prefix()); QString dest = message->ctcpDestination(); if (dest.startsWith("#")) { IRCChannel *channel = m_session->getChannel(dest.lower()); if (channel) { IRCChannelPerson *person = channel->getPerson(mask.nick()); if (person) { |