-
Notifications
You must be signed in to change notification settings - Fork 1
/
chatmessageitem.h
70 lines (51 loc) · 1.68 KB
/
chatmessageitem.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifndef CHATMESSAGEITEM_H
#define CHATMESSAGEITEM_H
#include <QStandardItem>
#include "msgdef.h"
#include "message.h"
Q_DECLARE_METATYPE(BasicDef::MessageContact)
Q_DECLARE_METATYPE(BasicDef::MsgItem)
Q_DECLARE_METATYPE(Message)
class ChatMessageItem : public QStandardItem
{
public:
enum DATA_ROLE
{
DATA_ROLE_FROM = Qt::UserRole + 1,
DATA_ROLE_TO,
DATA_ROLE_AUTHOR,
DATA_ROLE_MID,
DATA_ROLE_ITEMS,
DATA_ROLE_TERMINALTYPE,
DATA_ROLE_STAMP,
DATA_ROLE_IS_VOICE,
DATA_ROLE_IS_OFFLINEFILE,
DATA_ROLE_IS_GROUPCHANGE,
DATA_ROLE_IS_TIMESEPARATOR,
DATA_ROLE_MESSAGE
};
ChatMessageItem(const Message& msg);
Message message() const;
void setMessage(const Message& msg);
BasicDef::MessageContact from() const;
void setFrom(const BasicDef::MessageContact& contact);
BasicDef::MessageContact to() const;
void setTo(const BasicDef::MessageContact& contact);
BasicDef::MessageContact author() const;
void setAuthor(const BasicDef::MessageContact& contact);
qint64 mid() const;
void setMid(const qint64& mid);
QList<BasicDef::MsgItem> items() const;
void setItems(const QList<BasicDef::MsgItem>& items);
quint8 terminalType() const;
void setTerminalType(const quint8& terminalType);
qint64 stamp() const;
void setStamp(const qint64& stamp);
bool isOfflineFile() const;
void setIsOfflineFile(const bool& isOfflineFile);
bool isGroupChange() const;
void setIsGroupChange(const bool& isGroupChange);
bool isTimeSeparator() const;
void setIsTimeSeparator(const bool& isTimeSeparator);
};
#endif // CHATMESSAGEITEM_H