Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
tab_message.h
Go to the documentation of this file.
1
6
7#ifndef TAB_MESSAGE_H
8#define TAB_MESSAGE_H
9
10#include "tab.h"
11
12#include <QLoggingCategory>
13
14inline Q_LOGGING_CATEGORY(TabMessageLog, "tab_message");
15
16class AbstractClient;
17class ChatView;
19class Event_UserMessage;
20class Response;
21class ServerInfo_User;
22
23class TabMessage : public Tab
24{
25 Q_OBJECT
26private:
29 ServerInfo_User *ownUserInfo;
30 ServerInfo_User *otherUserInfo;
32
35
36 QAction *aLeave;
37signals:
40private slots:
41 void sendMessage();
42 void messageSent(const Response &response);
43 void addMentionTag(QString mentionTag);
44 void messageClicked();
45
46protected slots:
47 void closeEvent(QCloseEvent *event) override;
48
49public:
50 TabMessage(TabSupervisor *_tabSupervisor,
51 AbstractClient *_client,
52 const ServerInfo_User &_ownUserInfo,
53 const ServerInfo_User &_otherUserInfo);
54 ~TabMessage() override;
55 void retranslateUi() override;
56 void tabActivated() override;
57 [[nodiscard]] QString getUserName() const;
58 [[nodiscard]] QString getTabText() const override;
59
60 void processUserMessageEvent(const Event_UserMessage &event);
61
62 void processUserLeft();
63 void processUserJoined(const ServerInfo_User &_userInfo);
64
65private:
66 bool shouldShowSystemPopup(const Event_UserMessage &event);
67 void showSystemPopup(const Event_UserMessage &event);
68};
69
70#endif
Definition abstract_client.h:51
Definition chat_view.h:40
Definition custom_line_edit.h:20
TabMessage(TabSupervisor *_tabSupervisor, AbstractClient *_client, const ServerInfo_User &_ownUserInfo, const ServerInfo_User &_otherUserInfo)
Definition tab_message.cpp:22
LineEditUnfocusable * sayEdit
Definition tab_message.h:34
void sendMessage()
Definition tab_message.cpp:95
void addMentionTag(QString mentionTag)
Definition tab_message.cpp:61
void processUserMessageEvent(const Event_UserMessage &event)
Definition tab_message.cpp:118
bool shouldShowSystemPopup(const Event_UserMessage &event)
Definition tab_message.cpp:133
void showSystemPopup(const Event_UserMessage &event)
Definition tab_message.cpp:140
ChatView * chatView
Definition tab_message.h:33
void messageSent(const Response &response)
Definition tab_message.cpp:111
ServerInfo_User * otherUserInfo
Definition tab_message.h:30
ServerInfo_User * ownUserInfo
Definition tab_message.h:29
QAction * aLeave
Definition tab_message.h:36
void tabActivated() override
Definition tab_message.cpp:73
~TabMessage() override
Definition tab_message.cpp:55
void processUserLeft()
Definition tab_message.cpp:159
void talkClosing(TabMessage *tab)
QMenu * messageMenu
Definition tab_message.h:28
void closeEvent(QCloseEvent *event) override
Definition tab_message.cpp:89
AbstractClient * client
Definition tab_message.h:27
void maximizeClient()
bool userOnline
Definition tab_message.h:31
QString getUserName() const
Definition tab_message.cpp:79
void messageClicked()
Definition tab_message.cpp:152
void processUserJoined(const ServerInfo_User &_userInfo)
Definition tab_message.cpp:165
void retranslateUi() override
Definition tab_message.cpp:67
QString getTabText() const override
Definition tab_message.cpp:84
Definition tab_supervisor.h:83
Tab(TabSupervisor *_tabSupervisor)
Definition tab.cpp:11
TODO: Document this.
Q_LOGGING_CATEGORY(TabMessageLog, "tab_message")