/***************************************************************************
- * 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 *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef MESSAGE_H_
-#define MESSAGE_H_
+#pragma once
+
+#include "common-export.h"
#include <QCoreApplication>
#include <QDateTime>
#include "bufferinfo.h"
#include "types.h"
-class Message
+class COMMON_EXPORT Message
{
Q_DECLARE_TR_FUNCTIONS(Message)
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 {
};
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; }
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; }
BufferInfo _bufferInfo;
QString _contents;
QString _sender;
+ QString _senderPrefixes;
+ QString _realName;
+ QString _avatarUrl;
Type _type;
Flags _flags;
};
-typedef QList<Message> MessageList;
+using MessageList = QList<Message>;
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