X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fircserverhandler.cpp;h=84c6a194796f216d65aeaf6e515d3f1af509986b;hp=32a40f0d99183569df50c21c4bcb005dfbb974a2;hb=2d7fa70ddeddb4efdd1c2514a855cf9a6eef39bb;hpb=f0013829ab979864e1cbf23c0195485c5d7ccb72 diff --git a/src/core/ircserverhandler.cpp b/src/core/ircserverhandler.cpp index 32a40f0d..84c6a194 100644 --- a/src/core/ircserverhandler.cpp +++ b/src/core/ircserverhandler.cpp @@ -886,7 +886,16 @@ void IrcServerHandler::handle317(const QString &prefix, const QList 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 { - emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("[Whois] idle message: %1").arg(userDecode(nick, params).join(" "))); + 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(); + QDateTime datetime = QDateTime::fromTime_t(loginTime); + emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("[Whois] %1 is logged in since %2").arg(nick).arg(datetime.toString())); + } + emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("[Whois] %1 is idling for %2 (%3)").arg(nick).arg(secondsToString(idleSince.secsTo(now))).arg(idleSince.toString())); } }