X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fidentity.h;h=9c961a9f1e5200457ab390018c2fec76d93a2074;hp=66d7153e7bf351164bc0497036e79714fe6a8ae2;hb=600a5683c1a8e679b7b63a00d5b1211b5b9771c7;hpb=1607bfc3101e08fe0aeeaa3b50af6ddc9a4f9e3c diff --git a/src/common/identity.h b/src/common/identity.h index 66d7153e..9c961a9f 100644 --- a/src/common/identity.h +++ b/src/common/identity.h @@ -27,68 +27,133 @@ #include #include "types.h" +#include "syncableobject.h" -class Identity : public QObject { +class Identity : public SyncableObject { Q_OBJECT - Q_PROPERTY(IdentityId identityId READ id STORED false) - Q_PROPERTY(QString identityName READ identityName WRITE setIdentityName STORED false) - Q_PROPERTY(QString realName READ realName WRITE setRealName STORED false) - Q_PROPERTY(QStringList nicks READ nicks WRITE setNicks STORED false) - Q_PROPERTY(QString awayNick READ awayNick WRITE setAwayNick STORED false) - Q_PROPERTY(QString awayReason READ awayReason WRITE setAwayReason STORED false) - Q_PROPERTY(QString returnMessage READ returnMessage WRITE setReturnMessage STORED false) - //Q_PROPERTY( + Q_PROPERTY(IdentityId identityId READ id WRITE setId STORED false); + Q_PROPERTY(QString identityName READ identityName WRITE setIdentityName STORED false); + Q_PROPERTY(QString realName READ realName WRITE setRealName STORED false); + Q_PROPERTY(QStringList nicks READ nicks WRITE setNicks STORED false); + Q_PROPERTY(QString awayNick READ awayNick WRITE setAwayNick STORED false); + Q_PROPERTY(bool awayNickEnabled READ awayNickEnabled WRITE setAwayNickEnabled STORED false); + Q_PROPERTY(QString awayReason READ awayReason WRITE setAwayReason STORED false); + Q_PROPERTY(bool awayReasonEnabled READ awayReasonEnabled WRITE setAwayReasonEnabled STORED false); + Q_PROPERTY(QString returnMessage READ returnMessage WRITE setReturnMessage STORED false); + Q_PROPERTY(bool returnMessageEnabled READ returnMessageEnabled WRITE setReturnMessageEnabled STORED false); + Q_PROPERTY(bool autoAwayEnabled READ autoAwayEnabled WRITE setAutoAwayEnabled STORED false); + Q_PROPERTY(int autoAwayTime READ autoAwayTime WRITE setAutoAwayTime STORED false); + Q_PROPERTY(QString autoAwayReason READ autoAwayReason WRITE setAutoAwayReason STORED false); + Q_PROPERTY(bool autoAwayReasonEnabled READ autoAwayReasonEnabled WRITE setAutoAwayReasonEnabled STORED false); + Q_PROPERTY(QString autoReturnMessage READ autoReturnMessage WRITE setAutoReturnMessage STORED false); + Q_PROPERTY(bool autoReturnMessageEnabled READ autoReturnMessageEnabled WRITE setAutoReturnMessageEnabled STORED false); + Q_PROPERTY(QString ident READ ident WRITE setIdent STORED false); + Q_PROPERTY(QString kickReason READ kickReason WRITE setKickReason STORED false); + Q_PROPERTY(QString partReason READ partReason WRITE setPartReason STORED false); + Q_PROPERTY(QString quitReason READ quitReason WRITE setQuitReason STORED false); public: - Identity(IdentityId id = -1, QObject *parent = 0); + Identity(IdentityId id = 0, QObject *parent = 0); Identity(const Identity &other, QObject *parent = 0); void setToDefaults(); + bool operator==(const Identity &other); + bool operator!=(const Identity &other); + + bool isValid() const; + IdentityId id() const; QString identityName() const; QString realName() const; QStringList nicks() const; QString awayNick() const; + bool awayNickEnabled() const; QString awayReason() const; + bool awayReasonEnabled() const; QString returnMessage() const; - - bool initialized() const; - void setInitialized(); + bool returnMessageEnabled() const; + bool autoAwayEnabled() const; + int autoAwayTime() const; + QString autoAwayReason() const; + bool autoAwayReasonEnabled() const; + QString autoReturnMessage() const; + bool autoReturnMessageEnabled() const; + QString ident() const; + QString kickReason() const; + QString partReason() const; + QString quitReason() const; public slots: + void setId(IdentityId id); void setIdentityName(const QString &name); void setRealName(const QString &realName); void setNicks(const QStringList &nicks); void setAwayNick(const QString &awayNick); + void setAwayNickEnabled(bool enabled); void setAwayReason(const QString &awayReason); + void setAwayReasonEnabled(bool enabled); void setReturnMessage(const QString &returnMessage); + void setReturnMessageEnabled(bool enabled); + void setAutoAwayEnabled(bool enabled); + void setAutoAwayTime(int time); + void setAutoAwayReason(const QString &reason); + void setAutoAwayReasonEnabled(bool enabled); + void setAutoReturnMessage(const QString &message); + void setAutoReturnMessageEnabled(bool enabled); + void setIdent(const QString &ident); + void setKickReason(const QString &reason); + void setPartReason(const QString &reason); + void setQuitReason(const QString &reason); void update(const Identity &other); signals: + void idSet(IdentityId id); void identityNameSet(const QString &name); void realNameSet(const QString &realName); void nicksSet(const QStringList &nicks); void awayNickSet(const QString &awayNick); + void awayNickEnabledSet(bool); void awayReasonSet(const QString &awayReason); + void awayReasonEnabledSet(bool); void returnMessageSet(const QString &returnMessage); - - void updatedRemotely(); + void returnMessageEnabledSet(bool); + void autoAwayEnabledSet(bool); + void autoAwayTimeSet(int); + void autoAwayReasonSet(const QString &); + void autoAwayReasonEnabledSet(bool); + void autoReturnMessageSet(const QString &); + void autoReturnMessageEnabledSet(bool); + void identSet(const QString &); + void kickReasonSet(const QString &); + void partReasonSet(const QString &); + void quitReasonSet(const QString &); private: - bool _initialized; IdentityId _identityId; QString _identityName, _realName; QStringList _nicks; - QString _awayNick, _awayReason, _returnMessage; + QString _awayNick; + bool _awayNickEnabled; + QString _awayReason; + bool _awayReasonEnabled; + QString _returnMessage; + bool _returnMessageEnabled; + bool _autoAwayEnabled; + int _autoAwayTime; + QString _autoAwayReason; + bool _autoAwayReasonEnabled; + QString _autoReturnMessage; + bool _autoReturnMessageEnabled; + QString _ident, _kickReason, _partReason, _quitReason; void init(); friend QDataStream &operator>>(QDataStream &in, Identity &identity); }; -QDataStream &operator<<(QDataStream &out, const Identity &identity); +QDataStream &operator<<(QDataStream &out, Identity identity); QDataStream &operator>>(QDataStream &in, Identity &identity); Q_DECLARE_METATYPE(Identity);