X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fmessage.h;h=fa9e6b04eadf31ab084416532a00e55a4935daeb;hp=402faeaa4fc8abf4ff86dd78422ca7c9f990e3cf;hb=80950b87640acfb2a75902f8aabf3419da094bf4;hpb=e50ae7a06fc4e5d3a911c361d30953410deab609 diff --git a/src/common/message.h b/src/common/message.h index 402faeaa..fa9e6b04 100644 --- a/src/common/message.h +++ b/src/common/message.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,8 +18,9 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef MESSAGE_H_ -#define MESSAGE_H_ +#pragma once + +#include "common-export.h" #include #include @@ -27,7 +28,7 @@ #include "bufferinfo.h" #include "types.h" -class Message +class COMMON_EXPORT Message { Q_DECLARE_TR_FUNCTIONS(Message) @@ -53,6 +54,7 @@ public: NetsplitQuit = 0x10000, Invite = 0x20000, }; + Q_DECLARE_FLAGS(Types, Type) // DO NOT CHANGE without knowing what you do, some of these flags are stored in the database enum Flag { @@ -61,13 +63,17 @@ public: Highlight = 0x02, Redirected = 0x04, ServerMsg = 0x08, + StatusMsg = 0x10, Backlog = 0x80 }; Q_DECLARE_FLAGS(Flags, Flag) - Message(const BufferInfo &bufferInfo = BufferInfo(), Type type = Plain, const QString &contents = "", const QString &sender = "", Flags flags = None); + Message(const BufferInfo &bufferInfo = BufferInfo(), Type type = Plain, const QString &contents = {}, + const QString &sender = {}, const QString &senderPrefixes = {}, const QString &realName = {}, + const QString &avatarUrl = {}, Flags flags = None); Message(const QDateTime &ts, const BufferInfo &buffer = BufferInfo(), Type type = Plain, - const QString &contents = "", const QString &sender = "", Flags flags = None); + const QString &contents = {}, const QString &sender = {}, const QString &senderPrefixes = {}, + const QString &realName = {}, const QString &avatarUrl = {}, Flags flags = None); inline static Message ChangeOfDay(const QDateTime &day) { return Message(day, BufferInfo(), DayChange); } inline const MsgId &msgId() const { return _msgId; } @@ -78,6 +84,9 @@ public: inline void setBufferId(BufferId id) { _bufferInfo.setBufferId(id); } inline const QString &contents() const { return _contents; } inline const QString &sender() const { return _sender; } + inline const QString &senderPrefixes() const { return _senderPrefixes; } + inline const QString &realName() const { return _realName; } + inline const QString &avatarUrl() const { return _avatarUrl; } inline Type type() const { return _type; } inline Flags flags() const { return _flags; } inline void setFlags(Flags flags) { _flags = flags; } @@ -93,6 +102,9 @@ private: BufferInfo _bufferInfo; QString _contents; QString _sender; + QString _senderPrefixes; + QString _realName; + QString _avatarUrl; Type _type; Flags _flags; @@ -100,13 +112,12 @@ private: }; -typedef QList MessageList; +using MessageList = QList; QDataStream &operator<<(QDataStream &out, const Message &msg); QDataStream &operator>>(QDataStream &in, Message &msg); QDebug operator<<(QDebug dbg, const Message &msg); Q_DECLARE_METATYPE(Message) +Q_DECLARE_OPERATORS_FOR_FLAGS(Message::Types) Q_DECLARE_OPERATORS_FOR_FLAGS(Message::Flags) - -#endif