Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
tab_server.h
Go to the documentation of this file.
1
6
7#ifndef TAB_SERVER_H
8#define TAB_SERVER_H
9
10#include "tab.h"
11
12#include <QGroupBox>
13#include <QTextBrowser>
14#include <QTreeWidget>
15
16class AbstractClient;
17class QTextEdit;
18class QLabel;
19class UserListWidget;
20class QPushButton;
21
22class Event_ListRooms;
23class Event_ServerMessage;
24class Response;
25class ServerInfo_Room;
26class CommandContainer;
27
28class RoomSelector : public QGroupBox
29{
30 Q_OBJECT
31private:
32 QTreeWidget *roomList;
33 QPushButton *joinButton;
35 QString getRoomPermissionDisplay(const ServerInfo_Room &room);
36private slots:
37 void processListRoomsEvent(const Event_ListRooms &event);
38 void joinClicked();
39signals:
40 void joinRoomRequest(int, bool setCurrent);
41
42public:
43 explicit RoomSelector(AbstractClient *_client, QWidget *parent = nullptr);
44 void retranslateUi();
45};
46
47class TabServer : public Tab
48{
49 Q_OBJECT
50signals:
51 void roomJoined(const ServerInfo_Room &info, bool setCurrent);
52private slots:
53 void processServerMessageEvent(const Event_ServerMessage &event);
54 void joinRoom(int id, bool setCurrent);
55 void joinRoomFinished(const Response &resp, const CommandContainer &commandContainer, const QVariant &extraData);
56
57private:
60 QTextBrowser *serverInfoBox;
61 bool shouldEmitUpdate = false;
62
63public:
64 TabServer(TabSupervisor *_tabSupervisor, AbstractClient *_client);
65 void retranslateUi() override;
66 [[nodiscard]] QString getTabText() const override
67 {
68 return tr("Server");
69 }
70};
71
72#endif
Definition abstract_client.h:51
Definition tab_server.h:29
QString getRoomPermissionDisplay(const ServerInfo_Room &room)
Definition tab_server.cpp:106
RoomSelector(AbstractClient *_client, QWidget *parent=nullptr)
Definition tab_server.cpp:19
QTreeWidget * roomList
Definition tab_server.h:32
AbstractClient * client
Definition tab_server.h:34
void joinRoomRequest(int, bool setCurrent)
void retranslateUi()
Definition tab_server.cpp:47
void processListRoomsEvent(const Event_ListRooms &event)
Definition tab_server.cpp:63
void joinClicked()
Definition tab_server.cpp:124
QPushButton * joinButton
Definition tab_server.h:33
bool shouldEmitUpdate
Definition tab_server.h:61
void retranslateUi() override
Definition tab_server.cpp:156
void joinRoom(int id, bool setCurrent)
Definition tab_server.cpp:172
void roomJoined(const ServerInfo_Room &info, bool setCurrent)
void joinRoomFinished(const Response &resp, const CommandContainer &commandContainer, const QVariant &extraData)
Definition tab_server.cpp:192
QTextBrowser * serverInfoBox
Definition tab_server.h:60
TabServer(TabSupervisor *_tabSupervisor, AbstractClient *_client)
Definition tab_server.cpp:135
void processServerMessageEvent(const Event_ServerMessage &event)
Definition tab_server.cpp:161
RoomSelector * roomSelector
Definition tab_server.h:59
QString getTabText() const override
Definition tab_server.h:66
AbstractClient * client
Definition tab_server.h:58
Definition tab_supervisor.h:83
Tab(TabSupervisor *_tabSupervisor)
Definition tab.cpp:11
Definition user_list_widget.h:122
TODO: Document this.