#include <QStringList>
#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);