X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fbufferinfo.h;h=fd37329dac3e775716c760d707c29db3e7715107;hp=0597adcbed23038439b357f283da0eb984cf7958;hb=a3aaabf6254c8c5439af8982cc613c4ced3f50ed;hpb=50706d89d4d60e258ebb6873d3778383621898e4 diff --git a/src/common/bufferinfo.h b/src/common/bufferinfo.h index 0597adcb..fd37329d 100644 --- a/src/common/bufferinfo.h +++ b/src/common/bufferinfo.h @@ -28,24 +28,43 @@ class QDataStream; class BufferInfo { public: - BufferInfo(); - BufferInfo(uint id, uint networkid, uint gid = 0, QString net = QString(), QString buf = QString()); + enum Type { + InvalidBuffer = 0x00, + StatusBuffer = 0x01, + ChannelBuffer = 0x02, + QueryBuffer = 0x04, + GroupBuffer = 0x08 + }; - inline BufferId uid() const { return _id; } + enum Activity { + NoActivity = 0x00, + OtherActivity = 0x01, + NewMessage = 0x02, + Highlight = 0x40 + }; + Q_DECLARE_FLAGS(ActivityLevel, Activity) + + BufferInfo(); + BufferInfo(BufferId id, NetworkId networkid, Type type, uint gid = 0, QString buf = QString()); + + static BufferInfo fakeStatusBuffer(NetworkId networkId); + + inline bool isValid() const { return _bufferId != 0; } + inline BufferId bufferId() const { return _bufferId; } inline NetworkId networkId() const { return _netid; } - inline uint groupId() const { return _gid; } - inline QString network() const { return _networkName; } - QString buffer() const; + inline Type type() const { return _type; } + inline uint groupId() const { return _groupId; } + QString bufferName() const; - void setGroupId(uint gid) { _gid = gid; } + void setGroupId(uint gid) { _groupId = gid; } - inline bool operator==(const BufferInfo &other) const { return _id == other._id; } + inline bool operator==(const BufferInfo &other) const { return _bufferId == other._bufferId; } private: - uint _id; - uint _netid; - uint _gid; - QString _networkName; // WILL BE REMOVED + BufferId _bufferId; + NetworkId _netid; + Type _type; + uint _groupId; QString _bufferName; friend uint qHash(const BufferInfo &); @@ -57,7 +76,8 @@ QDataStream &operator<<(QDataStream &out, const BufferInfo &bufferInfo); QDataStream &operator>>(QDataStream &in, BufferInfo &bufferInfo); QDebug operator<<(QDebug dbg, const BufferInfo &b); -Q_DECLARE_METATYPE(BufferInfo); +Q_DECLARE_METATYPE(BufferInfo) +Q_DECLARE_OPERATORS_FOR_FLAGS(BufferInfo::ActivityLevel) uint qHash(const BufferInfo &);