forked from CPP-Final-Project/Chat_Client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMessageWView.h
More file actions
51 lines (38 loc) · 1.23 KB
/
MessageWView.h
File metadata and controls
51 lines (38 loc) · 1.23 KB
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
#pragma once
#include <QListView>
#include <QTimer>
#include <QMenu>
#include <QMessageBox>
#include <QMouseEvent>
#include "Styles.h"
#include "MessageItem.h"
#include "MessageWModel.h"
#include "MessageWDelegate.h"
#include "LikeItem.h"
class MessageWView : public QListView
{
Q_OBJECT;
public:
explicit MessageWView(QWidget* parent);
~MessageWView() override;
MessageWView(const MessageWView&) = delete;
MessageWView(MessageWView&&) = delete;
const MessageWView& operator =(const MessageWView&) = delete;
MessageWView& operator = (MessageWView&&) = delete;
public Q_SLOTS:
void onMessageAdded(const QVariant& new_msg) const;
void onMessagesAdded(const QVariantList& new_msg) const;
void onRecivedLike(const QVariant& like_) const;
void onCustomContextMenuRequested(const QPoint& pos);
void onRowsInserted(const QModelIndex& parent, int first, int last);
Q_SIGNALS:
void imageClicked(const QString& image_path);
void makeUserReaction(const Likes& mes_user_like_);
void anotherIdLikeChange(const QVariant& like_);
protected:
void mouseMoveEvent(QMouseEvent* event) override;
void mouseDoubleClickEvent(QMouseEvent* event) override;
void mouseReleaseEvent(QMouseEvent* event) override;
private:
QModelIndex _last_index{};
};