* refactoring * allow for creation of games as spectator allow setting the amount of games per user to none remove limit on amount of games when creating a game as judge as spectator * refactor common/server_player.cpp * do not close games with spectating host automatically * remove check that filters out 0 player games this check didn't really do anything, deleted games are removed before it would be reached * don't transfer host to spectators this seems to cause a bug, also present on master
50 lines
1.4 KiB
C++
50 lines
1.4 KiB
C++
#ifndef DLG_CREATEGAME_H
|
|
#define DLG_CREATEGAME_H
|
|
|
|
#include <QDialog>
|
|
#include <QMap>
|
|
|
|
class QCheckBox;
|
|
class QDialogButtonBox;
|
|
class QGroupBox;
|
|
class QLabel;
|
|
class QLineEdit;
|
|
class QPushButton;
|
|
class QRadioButton;
|
|
class QSpinBox;
|
|
class Response;
|
|
class ServerInfo_Game;
|
|
class TabRoom;
|
|
|
|
class DlgCreateGame : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
DlgCreateGame(TabRoom *_room, const QMap<int, QString> &_gameTypes, QWidget *parent = nullptr);
|
|
DlgCreateGame(const ServerInfo_Game &game, const QMap<int, QString> &_gameTypes, QWidget *parent = nullptr);
|
|
private slots:
|
|
void actOK();
|
|
void actReset();
|
|
void checkResponse(const Response &response);
|
|
void spectatorsAllowedChanged(int state);
|
|
|
|
private:
|
|
TabRoom *room;
|
|
QMap<int, QString> gameTypes;
|
|
QMap<int, QRadioButton *> gameTypeCheckBoxes;
|
|
|
|
QGroupBox *generalGroupBox, *spectatorsGroupBox;
|
|
QLabel *descriptionLabel, *passwordLabel, *maxPlayersLabel;
|
|
QLineEdit *descriptionEdit, *passwordEdit;
|
|
QSpinBox *maxPlayersEdit;
|
|
QCheckBox *onlyBuddiesCheckBox, *onlyRegisteredCheckBox;
|
|
QCheckBox *spectatorsAllowedCheckBox, *spectatorsNeedPasswordCheckBox, *spectatorsCanTalkCheckBox,
|
|
*spectatorsSeeEverythingCheckBox, *createGameAsSpectatorCheckBox;
|
|
QDialogButtonBox *buttonBox;
|
|
QPushButton *clearButton;
|
|
QCheckBox *rememberGameSettings;
|
|
|
|
void sharedCtor();
|
|
};
|
|
|
|
#endif
|