Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
tab_admin.h
Go to the documentation of this file.
1
6
7#ifndef TAB_ADMIN_H
8#define TAB_ADMIN_H
9
10#include "tab.h"
11
12#include <QDialog>
13#include <libcockatrice/protocol/pb/commands.pb.h>
14#include <libcockatrice/protocol/pb/response.pb.h>
15
16class AbstractClient;
17
18class QGroupBox;
19class QPushButton;
20class QSpinBox;
21class QLineEdit;
22
23class ShutdownDialog : public QDialog
24{
25 Q_OBJECT
26private:
27 QLineEdit *reasonEdit;
28 QSpinBox *minutesEdit;
29
30public:
31 explicit ShutdownDialog(QWidget *parent = nullptr);
32 [[nodiscard]] QString getReason() const;
33 [[nodiscard]] int getMinutes() const;
34};
35
36class TabAdmin : public Tab
37{
38 Q_OBJECT
39private:
40 bool locked;
46 QPushButton *unlockButton, *lockButton;
48signals:
49 void adminLockChanged(bool lock);
50private slots:
52 void actShutdownServer();
53 void actReloadConfig();
56 void grantReplayAccessProcessResponse(const Response &response);
57 void activateUserProcessResponse(const Response &response);
58
59 void actUnlock();
60 void actLock();
61
62public:
63 TabAdmin(TabSupervisor *_tabSupervisor, AbstractClient *_client, bool _fullAdmin);
64 void retranslateUi() override;
65 [[nodiscard]] QString getTabText() const override
66 {
67 return tr("Administration");
68 }
69 [[nodiscard]] bool getLocked() const
70 {
71 return locked;
72 }
73};
74
75#endif
Definition abstract_client.h:51
QString getReason() const
Definition tab_admin.cpp:46
QSpinBox * minutesEdit
Definition tab_admin.h:28
ShutdownDialog(QWidget *parent=nullptr)
Definition tab_admin.cpp:18
int getMinutes() const
Definition tab_admin.cpp:51
QLineEdit * reasonEdit
Definition tab_admin.h:27
QGroupBox * adminGroupBox
Definition tab_admin.h:45
bool locked
Definition tab_admin.h:40
QLineEdit * replayIdToGrant
Definition tab_admin.h:47
QGroupBox * moderatorGroupBox
Definition tab_admin.h:45
bool getLocked() const
Definition tab_admin.h:69
QPushButton * updateServerMessageButton
Definition tab_admin.h:43
void actReloadConfig()
Definition tab_admin.cpp:163
void retranslateUi() override
Definition tab_admin.cpp:128
void actLock()
Definition tab_admin.cpp:251
void grantReplayAccessProcessResponse(const Response &response)
Definition tab_admin.cpp:201
void adminLockChanged(bool lock)
QPushButton * shutdownServerButton
Definition tab_admin.h:43
QPushButton * lockButton
Definition tab_admin.h:46
QPushButton * grantReplayAccessButton
Definition tab_admin.h:43
QPushButton * reloadConfigButton
Definition tab_admin.h:43
void actUpdateServerMessage()
Definition tab_admin.cpp:146
void actShutdownServer()
Definition tab_admin.cpp:151
QString getTabText() const override
Definition tab_admin.h:65
void actUnlock()
Definition tab_admin.cpp:237
void actForceActivateUser()
Definition tab_admin.cpp:184
bool fullAdmin
Definition tab_admin.h:42
QLineEdit * userToActivate
Definition tab_admin.h:47
void actGrantReplayAccess()
Definition tab_admin.cpp:169
QPushButton * activateUserButton
Definition tab_admin.h:44
AbstractClient * client
Definition tab_admin.h:41
TabAdmin(TabSupervisor *_tabSupervisor, AbstractClient *_client, bool _fullAdmin)
Definition tab_admin.cpp:56
QPushButton * unlockButton
Definition tab_admin.h:46
void activateUserProcessResponse(const Response &response)
Definition tab_admin.cpp:219
Definition tab_supervisor.h:83
Tab(TabSupervisor *_tabSupervisor)
Definition tab.cpp:11
TODO: Document this.