2007-08-20 21:23:03 +00:00
|
|
|
//
|
|
|
|
|
// C++ Interface: gamelobbydialogimpl
|
|
|
|
|
//
|
|
|
|
|
// Description:
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// Author: FThauer FHammer <webmaster@pokerth.net>, (C) 2007
|
|
|
|
|
//
|
|
|
|
|
// Copyright: See COPYING file that comes with this distribution
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
#ifndef GAMELOBBYDIALOGIMPL_H
|
|
|
|
|
#define GAMELOBBYDIALOGIMPL_H
|
|
|
|
|
|
|
|
|
|
#include <ui_gamelobbydialog.h>
|
|
|
|
|
|
|
|
|
|
#include <QtGui>
|
|
|
|
|
#include <QtCore>
|
|
|
|
|
|
2007-09-07 08:58:36 +00:00
|
|
|
#include <iostream>
|
|
|
|
|
|
2007-08-21 23:31:09 +00:00
|
|
|
#include "createinternetgamedialogimpl.h"
|
2007-08-29 22:30:18 +00:00
|
|
|
#include "sdlplayer.h"
|
|
|
|
|
#include "mainwindowimpl.h"
|
|
|
|
|
|
2007-08-21 23:31:09 +00:00
|
|
|
|
2007-08-21 12:34:33 +00:00
|
|
|
class Session;
|
|
|
|
|
class ConfigFile;
|
2007-09-07 20:26:13 +00:00
|
|
|
class LobbyChat;
|
2007-08-21 12:34:33 +00:00
|
|
|
|
2007-08-20 21:23:03 +00:00
|
|
|
/**
|
|
|
|
|
@author FThauer FHammer <webmaster@pokerth.net>
|
|
|
|
|
*/
|
|
|
|
|
class gameLobbyDialogImpl: public QDialog, public Ui::gameLobbyDialog {
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
2007-08-21 12:34:33 +00:00
|
|
|
gameLobbyDialogImpl(QWidget *parent = 0, ConfigFile* = 0);
|
|
|
|
|
|
|
|
|
|
~gameLobbyDialogImpl();
|
2007-08-20 21:23:03 +00:00
|
|
|
|
|
|
|
|
void exec();
|
|
|
|
|
|
2007-08-21 12:34:33 +00:00
|
|
|
void setSession(Session *session);
|
2007-09-07 20:26:13 +00:00
|
|
|
Session& getSession() { return *mySession; }
|
|
|
|
|
|
2007-08-29 22:30:18 +00:00
|
|
|
void setMyW ( mainWindowImpl* theValue ) { myW = theValue; }
|
2007-09-27 20:59:00 +00:00
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
void signalChatConnect(QString server);
|
|
|
|
|
void signalChatSelfJoined(QString nickName, QString channel);
|
|
|
|
|
void signalChatPlayerJoined(QString nickName);
|
|
|
|
|
void signalChatPlayerLeft(QString nickName);
|
|
|
|
|
void signalChatMessage(QString nickName, QString msg);
|
|
|
|
|
|
2007-08-20 21:23:03 +00:00
|
|
|
public slots:
|
|
|
|
|
|
2007-08-21 12:34:33 +00:00
|
|
|
void createGame();
|
|
|
|
|
void joinGame();
|
2007-08-20 21:23:03 +00:00
|
|
|
|
2007-09-02 16:36:52 +00:00
|
|
|
void gameSelected(QTreeWidgetItem*, QTreeWidgetItem*);
|
2007-09-04 12:44:11 +00:00
|
|
|
void updateGameItem(QTreeWidgetItem *item, unsigned gameId);
|
2007-08-21 17:27:13 +00:00
|
|
|
|
2007-09-04 12:44:11 +00:00
|
|
|
void addGame(unsigned gameId);
|
2007-09-29 20:20:01 +00:00
|
|
|
void updateGameMode(unsigned gameId, int newMode);
|
2007-09-04 12:44:11 +00:00
|
|
|
void removeGame(unsigned gameId);
|
2007-09-02 16:36:52 +00:00
|
|
|
void gameAddPlayer(unsigned gameId, unsigned playerId);
|
|
|
|
|
void gameRemovePlayer(unsigned gameId, unsigned playerId);
|
2007-08-21 12:34:33 +00:00
|
|
|
|
2007-08-22 20:03:19 +00:00
|
|
|
void setCurrentGameName ( const QString& theValue ) { currentGameName = theValue; }
|
|
|
|
|
QString getCurrentGameName() const { return currentGameName; }
|
|
|
|
|
|
2007-08-29 22:30:18 +00:00
|
|
|
void checkPlayerQuantity();
|
|
|
|
|
|
2007-09-02 16:36:52 +00:00
|
|
|
void joinedNetworkGame(unsigned, QString, int);
|
|
|
|
|
void addConnectedPlayer(unsigned, QString, int);
|
|
|
|
|
void updatePlayer(unsigned, QString);
|
|
|
|
|
void removePlayer(unsigned, QString);
|
|
|
|
|
|
2007-09-05 19:14:34 +00:00
|
|
|
void playerSelected(QTreeWidgetItem*, QTreeWidgetItem*);
|
|
|
|
|
void refresh(int actionID);
|
2007-09-06 19:09:05 +00:00
|
|
|
void removedFromGame(int reason);
|
2007-09-05 19:14:34 +00:00
|
|
|
void startGame();
|
2007-09-06 19:09:05 +00:00
|
|
|
void leaveGame();
|
2007-09-05 19:14:34 +00:00
|
|
|
void kickPlayer();
|
|
|
|
|
|
2007-09-29 14:05:41 +00:00
|
|
|
void joinedGameDialogUpdate();
|
|
|
|
|
void leftGameDialogUpdate();
|
2007-09-02 16:36:52 +00:00
|
|
|
void clearDialog();
|
2007-08-27 09:57:51 +00:00
|
|
|
|
2007-09-07 08:58:36 +00:00
|
|
|
void sendChatMessage();
|
2007-09-07 20:26:13 +00:00
|
|
|
void checkChatInputLength(QString string);
|
|
|
|
|
|
|
|
|
|
void keyPressEvent(QKeyEvent * event);
|
2007-09-07 08:58:36 +00:00
|
|
|
|
2007-08-21 12:34:33 +00:00
|
|
|
private:
|
2007-08-29 22:30:18 +00:00
|
|
|
|
|
|
|
|
mainWindowImpl* myW;
|
2007-08-21 12:34:33 +00:00
|
|
|
ConfigFile *myConfig;
|
|
|
|
|
Session *mySession;
|
2007-08-21 23:31:09 +00:00
|
|
|
createInternetGameDialogImpl *myCreateInternetGameDialog;
|
2007-08-22 20:03:19 +00:00
|
|
|
QString currentGameName;
|
2007-08-29 22:30:18 +00:00
|
|
|
bool isAdmin;
|
2007-09-29 14:05:41 +00:00
|
|
|
bool inGame;
|
2007-09-28 05:23:13 +00:00
|
|
|
LobbyChat *myChat;
|
2007-09-29 22:50:20 +00:00
|
|
|
QString myAppDataPath;
|
2007-09-28 05:23:13 +00:00
|
|
|
|
2007-08-20 21:23:03 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|