mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-10 08:14:47 -07:00
* Fix local variable double declaration. Took 44 seconds * Mark functions as [[nodiscard]] Took 31 minutes --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
75 lines
1.7 KiB
C++
75 lines
1.7 KiB
C++
/**
|
|
* @file tab_admin.h
|
|
* @ingroup ServerTabs
|
|
* @brief TODO: Document this.
|
|
*/
|
|
|
|
#ifndef TAB_ADMIN_H
|
|
#define TAB_ADMIN_H
|
|
|
|
#include "tab.h"
|
|
|
|
#include <QDialog>
|
|
#include <libcockatrice/protocol/pb/commands.pb.h>
|
|
#include <libcockatrice/protocol/pb/response.pb.h>
|
|
|
|
class AbstractClient;
|
|
|
|
class QGroupBox;
|
|
class QPushButton;
|
|
class QSpinBox;
|
|
class QLineEdit;
|
|
|
|
class ShutdownDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
private:
|
|
QLineEdit *reasonEdit;
|
|
QSpinBox *minutesEdit;
|
|
|
|
public:
|
|
explicit ShutdownDialog(QWidget *parent = nullptr);
|
|
[[nodiscard]] QString getReason() const;
|
|
[[nodiscard]] int getMinutes() const;
|
|
};
|
|
|
|
class TabAdmin : public Tab
|
|
{
|
|
Q_OBJECT
|
|
private:
|
|
bool locked;
|
|
AbstractClient *client;
|
|
bool fullAdmin;
|
|
QPushButton *updateServerMessageButton, *shutdownServerButton, *reloadConfigButton, *grantReplayAccessButton,
|
|
*activateUserButton;
|
|
QGroupBox *adminGroupBox, *moderatorGroupBox;
|
|
QPushButton *unlockButton, *lockButton;
|
|
QLineEdit *replayIdToGrant, *userToActivate;
|
|
signals:
|
|
void adminLockChanged(bool lock);
|
|
private slots:
|
|
void actUpdateServerMessage();
|
|
void actShutdownServer();
|
|
void actReloadConfig();
|
|
void actGrantReplayAccess();
|
|
void actForceActivateUser();
|
|
void grantReplayAccessProcessResponse(const Response &response);
|
|
void activateUserProcessResponse(const Response &response);
|
|
|
|
void actUnlock();
|
|
void actLock();
|
|
|
|
public:
|
|
TabAdmin(TabSupervisor *_tabSupervisor, AbstractClient *_client, bool _fullAdmin);
|
|
void retranslateUi() override;
|
|
[[nodiscard]] QString getTabText() const override
|
|
{
|
|
return tr("Administration");
|
|
}
|
|
[[nodiscard]] bool getLocked() const
|
|
{
|
|
return locked;
|
|
}
|
|
};
|
|
|
|
#endif
|