| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /*
- * lobby_moc.h, part of VCMI engine
- *
- * Authors: listed in file AUTHORS in main folder
- *
- * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
- #pragma once
- #include <QWidget>
- #include "lobby.h"
- namespace Ui {
- class Lobby;
- }
- class Lobby : public QWidget
- {
- Q_OBJECT
- void changeEvent(QEvent *event) override;
- public:
- explicit Lobby(QWidget *parent = nullptr);
- ~Lobby();
-
- signals:
-
- void enableMod(QString mod);
- void disableMod(QString mod);
-
- public slots:
- void updateMods();
- private slots:
- void dispatchMessage(QString);
- void serverCommand(const ServerCommand &);
- void onMessageSent(QString message);
- void onChannelSwitch(QString channel);
- void on_connectButton_toggled(bool checked);
- void on_newButton_clicked();
- void on_joinButton_clicked();
- void on_buttonLeave_clicked();
- void on_buttonReady_clicked();
- void onDisconnected();
- void on_sessionsTable_itemSelectionChanged();
- void on_playersList_currentRowChanged(int currentRow);
- void on_kickButton_clicked();
- void on_buttonResolve_clicked();
- void on_optNewGame_toggled(bool checked);
- void on_optLoadGame_toggled(bool checked);
- private:
- QString serverUrl;
- int serverPort;
- bool isLoadGameMode = false;
-
- Ui::Lobby *ui;
- SocketLobby socketLobby;
- QString hostSession;
- QString session;
- QString username;
- QStringList gameArgs;
- QMap<QString, QString> hostModsMap;
- enum AuthStatus
- {
- AUTH_NONE, AUTH_OK, AUTH_ERROR
- };
- AuthStatus authentificationStatus = AUTH_NONE;
- private:
- QMap<QString, QString> buildModsMap() const;
- bool isModAvailable(const QString & modName, const QString & modVersion) const;
- void protocolAssert(bool);
- };
|