Cockatrice 2026-10-19-Development-3.1.2-beta.2
A 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 <QHash>
14#include <QSet>
15#include <QString>
16#include <QVariant>
17#include <qtmetamacros.h>
18
19class AbstractClient;
20class QPushButton;
21class Event_ListRooms;
23class Response;
24class ServerInfo_Room;
26class QTextBrowser;
27class QTreeWidget;
28class QWidget;
29class TabSupervisor;
30
31class RoomSelector : public QGroupBox
32{
33 Q_OBJECT
34private:
35 QTreeWidget *roomList;
36 QPushButton *joinButton;
38 QString getRoomPermissionDisplay(const ServerInfo_Room &room);
39private slots:
40 void processListRoomsEvent(const Event_ListRooms &event);
41 void joinClicked();
42signals:
43 void joinRoomRequest(int, bool setCurrent);
44
45public:
46 explicit RoomSelector(AbstractClient *_client, QWidget *parent = nullptr);
47 void retranslateUi();
48};
49
50class TabServer : public Tab
51{
52 Q_OBJECT
53signals:
54 void roomJoined(const ServerInfo_Room &info, bool setCurrent);
55 void roomJoinFailed(int roomId);
56private slots:
58 void joinRoomFinished(const Response &resp,
59 const CommandContainer &commandContainer,
60 const QVariant &extraData,
61 int roomId);
62
63private:
64 void leaveAndRejoinRoom(int roomId, bool setCurrent);
65
68 QTextBrowser *serverInfoBox;
69 bool shouldEmitUpdate = false;
75
76public:
77 TabServer(TabSupervisor *_tabSupervisor, AbstractClient *_client);
78 void joinRoom(int id, bool setCurrent);
79 void retranslateUi() override;
80 [[nodiscard]] QString getTabText() const override
81 {
82 return tr("Server");
83 }
84};
85
86#endif
Definition abstract_client.h:73
Definition mana_curve_category_widget.h:11
Definition dlg_manage_sets.h:29
Definition tab_server.h:32
QString getRoomPermissionDisplay(const ServerInfo_Room &room)
Definition tab_server.cpp:126
RoomSelector(AbstractClient *_client, QWidget *parent=nullptr)
Definition tab_server.cpp:29
QTreeWidget * roomList
Definition tab_server.h:35
AbstractClient * client
Definition tab_server.h:37
void joinRoomRequest(int, bool setCurrent)
void retranslateUi()
Definition tab_server.cpp:57
void processListRoomsEvent(const Event_ListRooms &event)
Definition tab_server.cpp:73
void joinClicked()
Definition tab_server.cpp:146
QPushButton * joinButton
Definition tab_server.h:36
bool shouldEmitUpdate
Definition tab_server.h:69
void retranslateUi() override
Definition tab_server.cpp:179
void joinRoom(int id, bool setCurrent)
Definition tab_server.cpp:195
void roomJoined(const ServerInfo_Room &info, bool setCurrent)
QHash< int, bool > pendingRoomJoins
Definition tab_server.h:71
void joinRoomFinished(const Response &resp, const CommandContainer &commandContainer, const QVariant &extraData, int roomId)
Definition tab_server.cpp:231
void leaveAndRejoinRoom(int roomId, bool setCurrent)
Definition tab_server.cpp:295
QTextBrowser * serverInfoBox
Definition tab_server.h:68
TabServer(TabSupervisor *_tabSupervisor, AbstractClient *_client)
Definition tab_server.cpp:158
void processServerMessageEvent(const Event_ServerMessage &event)
Definition tab_server.cpp:184
QSet< int > healedRoomJoins
Definition tab_server.h:74
void roomJoinFailed(int roomId)
RoomSelector * roomSelector
Definition tab_server.h:67
QString getTabText() const override
Definition tab_server.h:80
AbstractClient * client
Definition tab_server.h:66
Definition tab_supervisor.h:92
Tab(TabSupervisor *_tabSupervisor)
Definition tab.cpp:16
Definition commands.proto:8
Definition event_list_rooms.proto:4
Definition event_server_message.proto:3
Definition response.proto:11
Definition serverinfo_room.proto:6