X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcore%2Fircserverhandler.cpp;h=7004e86461496b19fe76d2e1709c26d69b70abdf;hb=03fa1b722e1875c69b26c8160408bd7e388989b3;hp=84c6a194796f216d65aeaf6e515d3f1af509986b;hpb=2d7fa70ddeddb4efdd1c2514a855cf9a6eef39bb;p=quassel.git diff --git a/src/core/ircserverhandler.cpp b/src/core/ircserverhandler.cpp index 84c6a194..7004e864 100644 --- a/src/core/ircserverhandler.cpp +++ b/src/core/ircserverhandler.cpp @@ -873,10 +873,12 @@ void IrcServerHandler::handle317(const QString &prefix, const QList QString nick = serverDecode(params[0]); IrcUser *ircuser = network()->ircUser(nick); + + QDateTime now = QDateTime::currentDateTime(); + int idleSecs = serverDecode(params[1]).toInt(); + idleSecs *= -1; + if(ircuser) { - QDateTime now = QDateTime::currentDateTime(); - int idleSecs = serverDecode(params[1]).toInt(); - idleSecs *= -1; ircuser->setIdleTime(now.addSecs(idleSecs)); if(params.size() > 3) { // if we have more then 3 params we have the above mentioned "real life" situation int loginTime = serverDecode(params[2]).toInt(); @@ -884,11 +886,7 @@ void IrcServerHandler::handle317(const QString &prefix, const QList emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("[Whois] %1 is logged in since %2").arg(ircuser->nick()).arg(ircuser->loginTime().toString())); } emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("[Whois] %1 is idling for %2 (%3)").arg(ircuser->nick()).arg(secondsToString(ircuser->idleTime().secsTo(now))).arg(ircuser->idleTime().toString())); - } else { - QDateTime now = QDateTime::currentDateTime(); - int idleSecs = serverDecode(params[1]).toInt(); - idleSecs *= -1; QDateTime idleSince = now.addSecs(idleSecs); if (params.size() > 3) { // we have a signon time int loginTime = serverDecode(params[2]).toInt(); @@ -1007,6 +1005,18 @@ void IrcServerHandler::handle329(const QString &prefix, const QList emit displayMsg(Message::Server, BufferInfo::ChannelBuffer, channel, tr("Channel %1 created on %2").arg(channel, time.toString())); } +/* RPL_WHOISACCOUNT: " :is authed as */ +void IrcServerHandler::handle330(const QString &prefix, const QList ¶ms) { + Q_UNUSED(prefix); + if(!checkParamCount("IrcServerHandler::handle330()", params, 3)) + return; + + QString nick = serverDecode(params[0]); + QString account = serverDecode(params[1]); + + emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("[Whois] %1 is authed as %2").arg(nick).arg(account)); +} + /* RPL_NOTOPIC */ void IrcServerHandler::handle331(const QString &prefix, const QList ¶ms) { Q_UNUSED(prefix);