mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-21 22:33:54 -07:00
* move message_log_widget to game * move files * update headers * fix cmakelists * oracle fixes * split implementation out to cpp * fix recursive import * fix main file * format
64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
#ifndef TAB_MESSAGE_H
|
|
#define TAB_MESSAGE_H
|
|
|
|
#include "tab.h"
|
|
|
|
#include <QLoggingCategory>
|
|
|
|
inline Q_LOGGING_CATEGORY(TabMessageLog, "tab_message");
|
|
|
|
class AbstractClient;
|
|
class ChatView;
|
|
class LineEditUnfocusable;
|
|
class Event_UserMessage;
|
|
class Response;
|
|
class ServerInfo_User;
|
|
|
|
class TabMessage : public Tab
|
|
{
|
|
Q_OBJECT
|
|
private:
|
|
AbstractClient *client;
|
|
QMenu *messageMenu;
|
|
ServerInfo_User *ownUserInfo;
|
|
ServerInfo_User *otherUserInfo;
|
|
bool userOnline;
|
|
|
|
ChatView *chatView;
|
|
LineEditUnfocusable *sayEdit;
|
|
|
|
QAction *aLeave;
|
|
signals:
|
|
void talkClosing(TabMessage *tab);
|
|
void maximizeClient();
|
|
private slots:
|
|
void sendMessage();
|
|
void messageSent(const Response &response);
|
|
void addMentionTag(QString mentionTag);
|
|
void messageClicked();
|
|
|
|
protected slots:
|
|
void closeEvent(QCloseEvent *event) override;
|
|
|
|
public:
|
|
TabMessage(TabSupervisor *_tabSupervisor,
|
|
AbstractClient *_client,
|
|
const ServerInfo_User &_ownUserInfo,
|
|
const ServerInfo_User &_otherUserInfo);
|
|
~TabMessage() override;
|
|
void retranslateUi() override;
|
|
void tabActivated() override;
|
|
QString getUserName() const;
|
|
QString getTabText() const override;
|
|
|
|
void processUserMessageEvent(const Event_UserMessage &event);
|
|
|
|
void processUserLeft();
|
|
void processUserJoined(const ServerInfo_User &_userInfo);
|
|
|
|
private:
|
|
bool shouldShowSystemPopup(const Event_UserMessage &event);
|
|
void showSystemPopup(const Event_UserMessage &event);
|
|
};
|
|
|
|
#endif
|