X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fircuser.cpp;h=223a02f5c40943f4f3ea463c071210c2acb53aff;hb=9f5481c93c3676f765333d4d9c36c559a339f3aa;hp=5f05f0f42a708e9608d0fa4253690853065d3c62;hpb=e733408e4759473bf38831f498f48a0f2f5e6dc7;p=quassel.git diff --git a/src/common/ircuser.cpp b/src/common/ircuser.cpp index 5f05f0f4..223a02f5 100644 --- a/src/common/ircuser.cpp +++ b/src/common/ircuser.cpp @@ -34,6 +34,13 @@ IrcUser::IrcUser(const QString &hostmask, Network *network) _nick(nickFromMask(hostmask)), _user(userFromMask(hostmask)), _host(hostFromMask(hostmask)), + _realName(), + _awayMessage(), + _away(false), + _server(), + _idleTime(QDateTime::currentDateTime()), + _ircOperator(), + _lastAwayMessage(0), _network(network), _codecForEncoding(0), _codecForDecoding(0) @@ -42,7 +49,6 @@ IrcUser::IrcUser(const QString &hostmask, Network *network) } IrcUser::~IrcUser() { - //qDebug() << nick() << "destroyed."; } // ==================== @@ -61,10 +67,38 @@ QString IrcUser::nick() const { return _nick; } +QString IrcUser::realName() const { + return _realName; +} + QString IrcUser::hostmask() const { return QString("%1!%2@%3").arg(nick()).arg(user()).arg(host()); } +bool IrcUser::isAway() const { + return _away; +} + +QString IrcUser::awayMessage() const { + return _awayMessage; +} + +QString IrcUser::server() const { + return _server; +} + +QDateTime IrcUser::idleTime() const { + return _idleTime; +} + +QString IrcUser::ircOperator() const { + return _ircOperator; +} + +int IrcUser::lastAwayMessage() const { + return _lastAwayMessage; +} + QString IrcUser::userModes() const { return _userModes; } @@ -128,6 +162,55 @@ void IrcUser::setUser(const QString &user) { } } +void IrcUser::setRealName(const QString &realName) { + if (!realName.isEmpty() && _realName != realName) { + _realName = realName; + emit realNameSet(realName); + } +} + +void IrcUser::setAway(const bool &away) { + if(away != _away) { + _away = away; + emit awaySet(away); + } +} + +void IrcUser::setAwayMessage(const QString &awayMessage) { + if(!awayMessage.isEmpty() && _awayMessage != awayMessage) { + _awayMessage = awayMessage; + emit awayMessageSet(awayMessage); + } +} + +void IrcUser::setIdleTime(const QDateTime &idleTime) { + if(idleTime.isValid() && _idleTime != idleTime) { + _idleTime = idleTime; + emit idleTimeSet(idleTime); + } +} + +void IrcUser::setServer(const QString &server) { + if(!server.isEmpty() && _server != server) { + _server = server; + emit serverSet(server); + } +} + +void IrcUser::setIrcOperator(const QString &ircOperator) { + if(!ircOperator.isEmpty() && _ircOperator != ircOperator) { + _ircOperator = ircOperator; + emit ircOperatorSet(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; @@ -197,10 +280,8 @@ void IrcUser::partChannel(const QString &channelname) { void IrcUser::channelDestroyed() { // private slot! IrcChannel *channel = static_cast(sender()); - Q_ASSERT(channel); if(_channels.contains(channel)) { _channels.remove(channel); - disconnect(channel, 0, this, 0); } }