X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fmessage.h;h=8b16aa0d8569ff04dd71d00e6db042e5876f4030;hp=c7000f9fdc2eca08a02f06a8e74ddecc3567d791;hb=3a3e844f9fcfd12235a0086af75ecd503b621ef4;hpb=694f9bfbf7f1af19108461c7e00d133e55082bce diff --git a/src/common/message.h b/src/common/message.h index c7000f9f..8b16aa0d 100644 --- a/src/common/message.h +++ b/src/common/message.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 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 * @@ -15,11 +15,12 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 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 QDateTime &ts, const BufferInfo &buffer = BufferInfo(), Type type = Plain, - const QString &contents = "", const QString &sender = "", Flags flags = None); + Message(BufferInfo bufferInfo = BufferInfo(), Type type = Plain, QString contents = {}, + QString sender = {}, QString senderPrefixes = {}, QString realName = {}, + QString avatarUrl = {}, Flags flags = None); + Message(QDateTime ts, BufferInfo buffer = BufferInfo(), Type type = Plain, + QString contents = {}, QString sender = {}, QString senderPrefixes = {}, + QString realName = {}, 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