Cockatrice/cockatrice/src/tabs/tab_server.h
BruebachL c5b361e94d
[Documentation] Doxygen regroup files and reorder group structure (#6208)
* Regroup a whole bunch of files.

Took 1 hour 38 minutes

* Reorder the structure.

Took 15 minutes

* Link some more things.

Took 18 minutes

* More links.

Took 14 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2025-10-02 16:28:08 +02:00

72 lines
1.6 KiB
C++

/**
* @file tab_server.h
* @ingroup ServerTabs
* @brief TODO: Document this.
*/
#ifndef TAB_SERVER_H
#define TAB_SERVER_H
#include "tab.h"
#include <QGroupBox>
#include <QTextBrowser>
#include <QTreeWidget>
class AbstractClient;
class QTextEdit;
class QLabel;
class UserListWidget;
class QPushButton;
class Event_ListRooms;
class Event_ServerMessage;
class Response;
class ServerInfo_Room;
class CommandContainer;
class RoomSelector : public QGroupBox
{
Q_OBJECT
private:
QTreeWidget *roomList;
QPushButton *joinButton;
AbstractClient *client;
QString getRoomPermissionDisplay(const ServerInfo_Room &room);
private slots:
void processListRoomsEvent(const Event_ListRooms &event);
void joinClicked();
signals:
void joinRoomRequest(int, bool setCurrent);
public:
explicit RoomSelector(AbstractClient *_client, QWidget *parent = nullptr);
void retranslateUi();
};
class TabServer : public Tab
{
Q_OBJECT
signals:
void roomJoined(const ServerInfo_Room &info, bool setCurrent);
private slots:
void processServerMessageEvent(const Event_ServerMessage &event);
void joinRoom(int id, bool setCurrent);
void joinRoomFinished(const Response &resp, const CommandContainer &commandContainer, const QVariant &extraData);
private:
AbstractClient *client;
RoomSelector *roomSelector;
QTextBrowser *serverInfoBox;
bool shouldEmitUpdate = false;
public:
TabServer(TabSupervisor *_tabSupervisor, AbstractClient *_client);
void retranslateUi() override;
QString getTabText() const override
{
return tr("Server");
}
};
#endif