X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fircuser.cpp;h=99f2ae31d025f7d5b5f94cf6758d42574212fc5b;hb=e2e5327ccade6baf433598b1b25dfe99cb360028;hp=e8ccc370b09f27977a08c11bd6354416f127b240;hpb=2d19986a8bafafec55b5d3b0474f7d76eb5f33b2;p=quassel.git diff --git a/src/common/ircuser.cpp b/src/common/ircuser.cpp index e8ccc370..99f2ae31 100644 --- a/src/common/ircuser.cpp +++ b/src/common/ircuser.cpp @@ -40,6 +40,7 @@ IrcUser::IrcUser(const QString &hostmask, Network *network) _server(), _idleTime(QDateTime::currentDateTime()), _ircOperator(), + _lastAwayMessage(0), _network(network), _codecForEncoding(0), _codecForDecoding(0) @@ -48,7 +49,10 @@ IrcUser::IrcUser(const QString &hostmask, Network *network) } IrcUser::~IrcUser() { - //qDebug() << nick() << "destroyed."; + QList channels = _channels.toList(); + foreach(IrcChannel *channel, channels) { + partChannel(channel); + } } // ==================== @@ -95,6 +99,10 @@ QString IrcUser::ircOperator() const { return _ircOperator; } +int IrcUser::lastAwayMessage() const { + return _lastAwayMessage; +} + QString IrcUser::userModes() const { return _userModes; } @@ -200,6 +208,13 @@ void IrcUser::setIrcOperator(const QString &ircOperator) { } } +void IrcUser::setLastAwayMessage(const int &lastAwayMessage) { + if(lastAwayMessage > _lastAwayMessage) { + _lastAwayMessage = lastAwayMessage; + emit lastAwayMessageSet(lastAwayMessage); + } +} + void IrcUser::setHost(const QString &host) { if(!host.isEmpty() && _host != host) { _host = host;