Cockatrice 2026-09-01-Development-3.1.0-beta.10
A 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;
20class Response;
21class ServerInfo_User;
23
24class TabMessage : public Tab
25{
26 Q_OBJECT
27private:
33
36
37 QAction *aLeave;
38signals:
41private slots:
42 void sendMessage();
43 void messageSent(const Response &response, const CommandContainer &commandContainer, const QVariant &extraData);
44 void addMentionTag(QString mentionTag);
45 void messageClicked();
46
47protected slots:
48 void closeEvent(QCloseEvent *event) override;
49
50public:
51 TabMessage(TabSupervisor *_tabSupervisor,
52 AbstractClient *_client,
53 const ServerInfo_User &_ownUserInfo,
54 const ServerInfo_User &_otherUserInfo,
55 bool _userOnline);
56 ~TabMessage() override;
57 void retranslateUi() override;
58 void tabActivated() override;
59 [[nodiscard]] QString getUserName() const;
60 [[nodiscard]] QString getTabText() const override;
61
63
64 void processUserLeft();
65 void processUserJoined(const ServerInfo_User &_userInfo);
66
67 [[nodiscard]] bool isUserOnline() const;
68 void sendPrivateMessage(const QString &text);
69 void sendInviteMessage(const QString &text);
70
71private:
73 void showSystemPopup(const Event_UserMessage &event);
74 void notifyUserOffline();
75};
76
77#endif
Definition abstract_client.h:57
Definition chat_view.h:44
Definition custom_line_edit.h:20
LineEditUnfocusable * sayEdit
Definition tab_message.h:35
void sendMessage()
Definition tab_message.cpp:111
void addMentionTag(QString mentionTag)
Definition tab_message.cpp:64
void processUserMessageEvent(const Event_UserMessage &event)
Definition tab_message.cpp:154
bool shouldShowSystemPopup(const Event_UserMessage &event)
Definition tab_message.cpp:172
void showSystemPopup(const Event_UserMessage &event)
Definition tab_message.cpp:179
ChatView * chatView
Definition tab_message.h:34
void notifyUserOffline()
Definition tab_message.cpp:211
TabMessage(TabSupervisor *_tabSupervisor, AbstractClient *_client, const ServerInfo_User &_ownUserInfo, const ServerInfo_User &_otherUserInfo, bool _userOnline)
Definition tab_message.cpp:23
ServerInfo_User * otherUserInfo
Definition tab_message.h:31
ServerInfo_User * ownUserInfo
Definition tab_message.h:30
void sendInviteMessage(const QString &text)
Definition tab_message.cpp:131
QAction * aLeave
Definition tab_message.h:37
void tabActivated() override
Definition tab_message.cpp:76
void messageSent(const Response &response, const CommandContainer &commandContainer, const QVariant &extraData)
Definition tab_message.cpp:137
~TabMessage() override
Definition tab_message.cpp:58
void processUserLeft()
Definition tab_message.cpp:198
void talkClosing(TabMessage *tab)
QMenu * messageMenu
Definition tab_message.h:29
void closeEvent(QCloseEvent *event) override
Definition tab_message.cpp:93
AbstractClient * client
Definition tab_message.h:28
void maximizeClient()
bool userOnline
Definition tab_message.h:32
bool isUserOnline() const
Definition tab_message.cpp:126
QString getUserName() const
Definition tab_message.cpp:83
void messageClicked()
Definition tab_message.cpp:191
void processUserJoined(const ServerInfo_User &_userInfo)
Definition tab_message.cpp:204
void retranslateUi() override
Definition tab_message.cpp:70
void sendPrivateMessage(const QString &text)
Definition tab_message.cpp:99
QString getTabText() const override
Definition tab_message.cpp:88
Definition tab_supervisor.h:84
Tab(TabSupervisor *_tabSupervisor)
Definition tab.cpp:11
Definition commands.proto:7
Definition event_user_message.proto:3
Definition response.proto:11
Definition serverinfo_user.proto:2
Q_LOGGING_CATEGORY(TabMessageLog, "tab_message")