X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fircuser.h;h=87d9114ae4727d2dc4769beb0a85e4fc0ec5464e;hp=c8840ed8e0b4972d0b6cb6209cca3391b6f7d6d8;hb=b06a827aea68b050bf23c37e0162189a94595ee9;hpb=921e54680da16fcf2adb7a90506875aceb6633a4 diff --git a/src/common/ircuser.h b/src/common/ircuser.h index c8840ed8..87d9114a 100644 --- a/src/common/ircuser.h +++ b/src/common/ircuser.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -43,6 +43,7 @@ class IrcUser : public SyncableObject Q_PROPERTY(QString host READ host WRITE setHost) Q_PROPERTY(QString nick READ nick WRITE setNick) Q_PROPERTY(QString realName READ realName WRITE setRealName) + Q_PROPERTY(QString account READ account WRITE setAccount) Q_PROPERTY(bool away READ isAway WRITE setAway) Q_PROPERTY(QString awayMessage READ awayMessage WRITE setAwayMessage) Q_PROPERTY(QDateTime idleTime READ idleTime WRITE setIdleTime) @@ -65,6 +66,12 @@ public : inline QString host() const { return _host; } inline QString nick() const { return _nick; } inline QString realName() const { return _realName; } + /** + * Account name, e.g. NickServ/SASL account + * + * @return Account name if logged in, * if logged out, or empty string if unknown + */ + inline QString account() const { return _account; } QString hostmask() const; inline bool isAway() const { return _away; } inline QString awayMessage() const { return _awayMessage; } @@ -104,6 +111,12 @@ public slots: void setHost(const QString &host); void setNick(const QString &nick); void setRealName(const QString &realName); + /** + * Set account name, e.g. NickServ/SASL account + * + * @param[in] account Account name if logged in, * if logged out, or empty string if unknown + */ + void setAccount(const QString &account); void setAway(const bool &away); void setAwayMessage(const QString &awayMessage); void setIdleTime(const QDateTime &idleTime); @@ -118,7 +131,12 @@ public slots: void setUserModes(const QString &modes); - void joinChannel(IrcChannel *channel); + /*! + * \brief joinChannel Called when user joins some channel, this function inserts the channel to internal list of channels this user is in. + * \param channel Pointer to a channel this user just joined + * \param skip_channel_join If this is false, this function will also call IrcChannel::joinIrcUser, can be set to true as a performance tweak. + */ + void joinChannel(IrcChannel *channel, bool skip_channel_join = false); void joinChannel(const QString &channelname); void partChannel(IrcChannel *channel); void partChannel(const QString &channelname); @@ -177,6 +195,7 @@ private: QString _user; QString _host; QString _realName; + QString _account; /// Account name, e.g. NickServ/SASL account QString _awayMessage; bool _away; QString _server;