/***************************************************************************
- * Copyright (C) 2005-2016 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
_server(),
// _idleTime(QDateTime::currentDateTime()),
_ircOperator(),
- _lastAwayMessage(0),
+ _lastAwayMessage(),
_whoisServiceReply(),
_encrypted(false),
_network(network),
_codecForDecoding(0)
{
updateObjectName();
+ _lastAwayMessage.setTimeSpec(Qt::UTC);
+ _lastAwayMessage.setMSecsSinceEpoch(0);
}
QDateTime IrcUser::idleTime()
{
- if (QDateTime::currentDateTime().toTime_t() - _idleTimeSet.toTime_t() > 1200)
+ if ((QDateTime::currentDateTime().toMSecsSinceEpoch() - _idleTimeSet.toMSecsSinceEpoch())
+ > 1200000) {
+ // 20 * 60 * 1000 = 1200000
+ // 20 minutes have elapsed, clear the known idle time as it's likely inaccurate by now
_idleTime = QDateTime();
+ }
return _idleTime;
}
}
-void IrcUser::setLastAwayMessage(const int &lastAwayMessage)
+void IrcUser::setLastAwayMessage(const QDateTime &lastAwayMessage)
{
if (lastAwayMessage > _lastAwayMessage) {
_lastAwayMessage = lastAwayMessage;