next steps startwindow-integration --> UNSTABLE
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 5.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 5.1 KiB |
+1
-1
@@ -33,7 +33,7 @@
|
||||
#define POKERTH_VERSION ((POKERTH_VERSION_MAJOR << 8) | POKERTH_VERSION_MINOR)
|
||||
|
||||
#define POKERTH_BETA_REVISION 0
|
||||
#define POKERTH_BETA_RELEASE_STRING "0.6.2"
|
||||
#define POKERTH_BETA_RELEASE_STRING "0.6.3"
|
||||
|
||||
enum ServerNetworkMode {
|
||||
NETWORK_MODE_TCP = 1,
|
||||
|
||||
@@ -19,20 +19,8 @@
|
||||
***************************************************************************/
|
||||
#include "gametableimpl.h"
|
||||
|
||||
#include "newgamedialogimpl.h"
|
||||
#include "aboutpokerthimpl.h"
|
||||
#include "mymessagedialogimpl.h"
|
||||
#include "settingsdialogimpl.h"
|
||||
#include "selectavatardialogimpl.h"
|
||||
#include "joinnetworkgamedialogimpl.h"
|
||||
#include "connecttoserverdialogimpl.h"
|
||||
#include "createnetworkgamedialogimpl.h"
|
||||
#include "startnetworkgamedialogimpl.h"
|
||||
#include "changehumanplayernamedialogimpl.h"
|
||||
#include "changecompleteblindsdialogimpl.h"
|
||||
#include "gamelobbydialogimpl.h"
|
||||
#include "timeoutmsgboximpl.h"
|
||||
#include "lobbychat.h"
|
||||
#include "startwindowimpl.h"
|
||||
|
||||
#include "startsplash.h"
|
||||
@@ -472,17 +460,6 @@ gameTableImpl::gameTableImpl(ConfigFile *c, QMainWindow *parent)
|
||||
}
|
||||
|
||||
// Dialogs
|
||||
// myNewGameDialog = boost::shared_ptr<newGameDialogImpl>(new newGameDialogImpl(this, myConfig));
|
||||
// // mySelectAvatarDialog = boost::shared_ptr<selectAvatarDialogImpl>(new selectAvatarDialogImpl(this, myConfig));
|
||||
// // // mySettingsDialog = boost::shared_ptr<settingsDialogImpl>(new settingsDialogImpl(this, myConfig, mySelectAvatarDialog.get()));
|
||||
// // myChangeHumanPlayerNameDialog = boost::shared_ptr<changeHumanPlayerNameDialogImpl>(new changeHumanPlayerNameDialogImpl(this, myConfig));
|
||||
// // myJoinNetworkGameDialog = boost::shared_ptr<joinNetworkGameDialogImpl>(new joinNetworkGameDialogImpl(this, myConfig));
|
||||
// // myConnectToServerDialog = boost::shared_ptr<connectToServerDialogImpl>(new connectToServerDialogImpl(this));
|
||||
// // myStartNetworkGameDialog = boost::shared_ptr<startNetworkGameDialogImpl>(new startNetworkGameDialogImpl(this, myConfig));
|
||||
// // myCreateNetworkGameDialog = boost::shared_ptr<createNetworkGameDialogImpl>(new createNetworkGameDialogImpl(this, myConfig));
|
||||
|
||||
myTimeoutDialog.reset(new timeoutMsgBoxImpl(this));
|
||||
|
||||
myChat = new Chat(this, myConfig);
|
||||
|
||||
lineEdit_ChatInput->installEventFilter(this);
|
||||
@@ -558,9 +535,6 @@ gameTableImpl::gameTableImpl(ConfigFile *c, QMainWindow *parent)
|
||||
|
||||
//Nachrichten Thread-Save
|
||||
connect(this, SIGNAL(signalInitGui(int)), this, SLOT(initGui(int)));
|
||||
|
||||
// connect(this, SIGNAL(signalShowClientDialog()), this, SLOT(showClientDialog()));
|
||||
|
||||
connect(this, SIGNAL(signalRefreshSet()), this, SLOT(refreshSet()));
|
||||
connect(this, SIGNAL(signalRefreshCash()), this, SLOT(refreshCash()));
|
||||
connect(this, SIGNAL(signalRefreshAction(int, int)), this, SLOT(refreshAction(int, int)));
|
||||
@@ -572,26 +546,19 @@ gameTableImpl::gameTableImpl(ConfigFile *c, QMainWindow *parent)
|
||||
connect(this, SIGNAL(signalRefreshButton()), this, SLOT(refreshButton()));
|
||||
connect(this, SIGNAL(signalRefreshGameLabels(int)), this, SLOT(refreshGameLabels(int)));
|
||||
connect(this, SIGNAL(signalSetPlayerAvatar(int, QString)), this, SLOT(setPlayerAvatar(int, QString)));
|
||||
// connect(this, SIGNAL(signalSetPlayerAvatar(int, QString)), myGameLobbyDialog.get(), SLOT(refreshConnectedPlayerAvatars()));
|
||||
|
||||
connect(this, SIGNAL(signalGuiUpdateDone()), this, SLOT(guiUpdateDone()));
|
||||
|
||||
connect(this, SIGNAL(signalMeInAction()), this, SLOT(meInAction()));
|
||||
connect(this, SIGNAL(signalDisableMyButtons()), this, SLOT(disableMyButtons()));
|
||||
connect(this, SIGNAL(signalUpdateMyButtonsState()), this, SLOT(updateMyButtonsState()));
|
||||
connect(this, SIGNAL(signalStartTimeoutAnimation(int, int)), this, SLOT(startTimeoutAnimation(int, int)));
|
||||
connect(this, SIGNAL(signalStopTimeoutAnimation(int)), this, SLOT(stopTimeoutAnimation(int)));
|
||||
|
||||
connect(this, SIGNAL(signalDealBeRoCards(int)), this, SLOT(dealBeRoCards(int)));
|
||||
connect(this, SIGNAL(signalDealHoleCards()), this, SLOT(dealHoleCards()));
|
||||
connect(this, SIGNAL(signalDealFlopCards0()), this, SLOT(dealFlopCards0()));
|
||||
connect(this, SIGNAL(signalDealTurnCards0()), this, SLOT(dealTurnCards0()));
|
||||
connect(this, SIGNAL(signalDealRiverCards0()), this, SLOT(dealRiverCards0()));
|
||||
|
||||
connect(this, SIGNAL(signalNextPlayerAnimation()), this, SLOT(nextPlayerAnimation()));
|
||||
|
||||
connect(this, SIGNAL(signalBeRoAnimation2(int)), this, SLOT(beRoAnimation2(int)));
|
||||
|
||||
connect(this, SIGNAL(signalPreflopAnimation1()), this, SLOT(preflopAnimation1()));
|
||||
connect(this, SIGNAL(signalPreflopAnimation2()), this, SLOT(preflopAnimation2()));
|
||||
connect(this, SIGNAL(signalFlopAnimation1()), this, SLOT(flopAnimation1()));
|
||||
@@ -602,59 +569,9 @@ gameTableImpl::gameTableImpl(ConfigFile *c, QMainWindow *parent)
|
||||
connect(this, SIGNAL(signalRiverAnimation2()), this, SLOT(riverAnimation2()));
|
||||
connect(this, SIGNAL(signalPostRiverAnimation1()), this, SLOT(postRiverAnimation1()));
|
||||
connect(this, SIGNAL(signalPostRiverRunAnimation1()), this, SLOT(postRiverRunAnimation1()));
|
||||
|
||||
connect(this, SIGNAL(signalFlipHolecardsAllIn()), this, SLOT(flipHolecardsAllIn()));
|
||||
|
||||
connect(this, SIGNAL(signalNextRoundCleanGui()), this, SLOT(nextRoundCleanGui()));
|
||||
|
||||
// connect(this, SIGNAL(signalNetClientConnect(int)), myConnectToServerDialog.get(), SLOT(refresh(int)));
|
||||
// connect(this, SIGNAL(signalNetClientGameInfo(int)), myStartNetworkGameDialog.get(), SLOT(refresh(int)));
|
||||
// connect(this, SIGNAL(signalNetClientGameInfo(int)), myGameLobbyDialog.get(), SLOT(refresh(int)));
|
||||
|
||||
// connect(this, SIGNAL(signalNetClientSelfJoined(unsigned, QString, int)), myStartNetworkGameDialog.get(), SLOT(joinedNetworkGame(unsigned, QString, int)));
|
||||
// connect(this, SIGNAL(signalNetClientPlayerJoined(unsigned, QString, int)), myStartNetworkGameDialog.get(), SLOT(addConnectedPlayer(unsigned, QString, int)));
|
||||
// connect(this, SIGNAL(signalNetClientPlayerChanged(unsigned, QString)), myStartNetworkGameDialog.get(), SLOT(updatePlayer(unsigned, QString)));
|
||||
// connect(this, SIGNAL(signalNetClientPlayerLeft(unsigned, QString)), myStartNetworkGameDialog.get(), SLOT(removePlayer(unsigned, QString)));
|
||||
// connect(this, SIGNAL(signalNetClientNewGameAdmin(unsigned, QString)), myStartNetworkGameDialog.get(), SLOT(newGameAdmin(unsigned, QString)));
|
||||
// connect(this, SIGNAL(signalNetClientGameListNew(unsigned)), myStartNetworkGameDialog.get(), SLOT(gameCreated(unsigned)));
|
||||
|
||||
// connect(this, SIGNAL(signalNetClientSelfJoined(unsigned, QString, int)), myGameLobbyDialog.get(), SLOT(joinedNetworkGame(unsigned, QString, int)));
|
||||
// connect(this, SIGNAL(signalNetClientPlayerJoined(unsigned, QString, int)), myGameLobbyDialog.get(), SLOT(addConnectedPlayer(unsigned, QString, int)));
|
||||
// connect(this, SIGNAL(signalNetClientPlayerChanged(unsigned, QString)), myGameLobbyDialog.get(), SLOT(updatePlayer(unsigned, QString)));
|
||||
// connect(this, SIGNAL(signalNetClientPlayerLeft(unsigned, QString)), myGameLobbyDialog.get(), SLOT(removePlayer(unsigned, QString)));
|
||||
// connect(this, SIGNAL(signalNetClientNewGameAdmin(unsigned, QString)), myGameLobbyDialog.get(), SLOT(newGameAdmin(unsigned, QString)));
|
||||
//
|
||||
// connect(this, SIGNAL(signalNetClientGameListNew(unsigned)), myGameLobbyDialog.get(), SLOT(addGame(unsigned)));
|
||||
// connect(this, SIGNAL(signalNetClientGameListRemove(unsigned)), myGameLobbyDialog.get(), SLOT(removeGame(unsigned)));
|
||||
// connect(this, SIGNAL(signalNetClientGameListUpdateMode(unsigned, int)), myGameLobbyDialog.get(), SLOT(updateGameMode(unsigned, int)));
|
||||
// connect(this, SIGNAL(signalNetClientGameListUpdateAdmin(unsigned, unsigned)), myGameLobbyDialog.get(), SLOT(updateGameAdmin(unsigned, unsigned)));
|
||||
// connect(this, SIGNAL(signalNetClientGameListPlayerJoined(unsigned, unsigned)), myGameLobbyDialog.get(), SLOT(gameAddPlayer(unsigned, unsigned)));
|
||||
// connect(this, SIGNAL(signalNetClientGameListPlayerLeft(unsigned, unsigned)), myGameLobbyDialog.get(), SLOT(gameRemovePlayer(unsigned, unsigned)));
|
||||
// connect(this, SIGNAL(signalNetClientRemovedFromGame(int)), myGameLobbyDialog.get(), SLOT(removedFromGame(int)));
|
||||
// connect(this, SIGNAL(signalNetClientStatsUpdate(ServerStats)), myGameLobbyDialog.get(), SLOT(updateStats(ServerStats)));
|
||||
connect(this, SIGNAL(signalNetClientShowTimeoutDialog(int, unsigned)), this, SLOT(showTimeoutDialog(int, unsigned)));
|
||||
|
||||
// Errors are handled globally, not within one dialog.
|
||||
connect(this, SIGNAL(signalNetClientError(int, int)), this, SLOT(networkError(int, int)));
|
||||
connect(this, SIGNAL(signalNetClientNotification(int)), this, SLOT(networkNotification(int)));
|
||||
connect(this, SIGNAL(signalNetClientRemovedFromGame(int)), this, SLOT(networkNotification(int)));
|
||||
connect(this, SIGNAL(signalNetServerError(int, int)), this, SLOT(networkError(int, int)));
|
||||
connect(this, SIGNAL(signalNetClientGameStart(boost::shared_ptr<Game>)), this, SLOT(networkStart(boost::shared_ptr<Game>)));
|
||||
|
||||
//Chat Messages
|
||||
// connect(this, SIGNAL(signalNetClientChatMsg(QString, QString)), myChat, SLOT(receiveMessage(QString, QString)));
|
||||
// connect(this, SIGNAL(signalNetClientChatMsg(QString, QString)), myStartNetworkGameDialog.get(), SLOT(receiveChatMsg(QString, QString)));
|
||||
|
||||
// connect(this, SIGNAL(signalIrcConnect(QString)), myGameLobbyDialog->getLobbyChat(), SLOT(connected(QString)));
|
||||
// connect(this, SIGNAL(signalIrcSelfJoined(QString, QString)), myGameLobbyDialog->getLobbyChat(), SLOT(selfJoined(QString, QString)));
|
||||
// connect(this, SIGNAL(signalIrcPlayerJoined(QString)), myGameLobbyDialog->getLobbyChat(), SLOT(playerJoined(QString)));
|
||||
// connect(this, SIGNAL(signalIrcPlayerChanged(QString, QString)), myGameLobbyDialog->getLobbyChat(), SLOT(playerChanged(QString, QString)));
|
||||
// connect(this, SIGNAL(signalIrcPlayerKicked(QString, QString, QString)), myGameLobbyDialog->getLobbyChat(), SLOT(playerKicked(QString, QString, QString)));
|
||||
// connect(this, SIGNAL(signalIrcPlayerLeft(QString)), myGameLobbyDialog->getLobbyChat(), SLOT(playerLeft(QString)));
|
||||
// connect(this, SIGNAL(signalIrcChatMessage(QString, QString)), myGameLobbyDialog->getLobbyChat(), SLOT(displayMessage(QString, QString)));
|
||||
// connect(this, SIGNAL(signalIrcError(int)), myGameLobbyDialog->getLobbyChat(), SLOT(chatError(int)));
|
||||
// connect(this, SIGNAL(signalIrcServerError(int)), myGameLobbyDialog->getLobbyChat(), SLOT(chatServerError(int)));
|
||||
|
||||
}
|
||||
|
||||
gameTableImpl::~gameTableImpl() {
|
||||
@@ -887,18 +804,6 @@ void gameTableImpl::refreshPlayerName() {
|
||||
}
|
||||
}
|
||||
|
||||
QStringList gameTableImpl::getPlayerNicksList() {
|
||||
|
||||
QStringList list;
|
||||
PlayerListConstIterator it_c;
|
||||
|
||||
for (it_c=mySession->getCurrentGame()->getSeatsList()->begin(); it_c!=mySession->getCurrentGame()->getSeatsList()->end(); it_c++) {
|
||||
list << QString::fromUtf8((*it_c)->getMyName().c_str());
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
void gameTableImpl::refreshPlayerAvatar() {
|
||||
|
||||
QPixmap onePix = QPixmap::fromImage(QImage(myAppDataPath +"gfx/gui/misc/1px.png"));
|
||||
@@ -1499,7 +1404,7 @@ void gameTableImpl::provideMyActions(int mode) {
|
||||
if( currentHand->getSeatsList()->front()->getMyAction() != PLAYER_ACTION_FOLD ) {
|
||||
pushButtonBetRaiseString = "Bet $"+QString::number(getMyBetAmount());
|
||||
pushButtonCallCheckString = "Check";
|
||||
if( currentGame->getActivePlayerList()->size() > 2 && currentGame->getSeatsList()->front()->getMyButton() == BUTTON_SMALL_BLIND || ( currentGame->getActivePlayerList()->size() <= 2 && currentGame->getSeatsList()->front()->getMyButton() == BUTTON_BIG_BLIND)) { pushButtonFoldString = "Fold"; }
|
||||
if( (currentGame->getActivePlayerList()->size() > 2 && currentGame->getSeatsList()->front()->getMyButton() == BUTTON_SMALL_BLIND ) || ( currentGame->getActivePlayerList()->size() <= 2 && currentGame->getSeatsList()->front()->getMyButton() == BUTTON_BIG_BLIND)) { pushButtonFoldString = "Fold"; }
|
||||
else { pushButtonFoldString = "Check / Fold"; }
|
||||
}
|
||||
else {
|
||||
@@ -2667,323 +2572,6 @@ void gameTableImpl::breakButtonClicked() {
|
||||
}
|
||||
}
|
||||
|
||||
void gameTableImpl::networkError(int errorID, int /*osErrorID*/) {
|
||||
|
||||
hideTimeoutDialog();
|
||||
switch (errorID) {
|
||||
case ERR_SOCK_SERVERADDR_NOT_SET:
|
||||
{QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Server address was not set."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_PORT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An invalid port was set (ports 0-1023 are not allowed)."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_CREATION_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not create a socket for TCP communication."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_SET_ADDR_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not set the IP address."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_SET_PORT_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not set the port for this type of address."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_RESOLVE_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The server name could not be resolved."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_BIND_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Bind failed - please choose a different port."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_LISTEN_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal network error: \"listen\" failed."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_ACCEPT_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Server execution was terminated."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_CONNECT_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not connect to the server."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_CONNECT_TIMEOUT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Connection timed out.\nPlease check the server address.\n\nIf the server is behind a NAT-Router, make sure port forwarding has been set up on server side."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_SELECT_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal network error: \"select\" failed."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_SEND_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal network error: \"send\" failed."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_RECV_FAILED: // Sometimes windows reports recv failed on close.
|
||||
case ERR_SOCK_CONN_RESET:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Connection was closed by the server."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_CONN_EXISTS:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal network error: Duplicate TCP connection."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_PACKET:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An invalid network packet was received.\nPlease make sure that all players use the same version of PokerTH."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_STATE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal state error.\nPlease make sure that all players use the same version of PokerTH."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_SERVERLIST_URL:
|
||||
case ERR_SOCK_DOWNLOAD_INVALID_URL:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Invalid server list URL.\nPlease correct the address in the settings."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_OPEN_MD5_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not open the server list MD5 file.\nPlease make sure that the server list URL is correct."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_SERVERLIST_MD5:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Synchronization of the PokerTH internet server list has failed.\nPlease make sure that the server list URL is correct."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_SERVERLIST_XML:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The PokerTH internet server list contains invalid data.\nIf you use a custom server list, please make sure its format is correct."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_UNZIP_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not unzip the PokerTH internet server list."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_DOWNLOAD_INIT_FAILED:
|
||||
case ERR_SOCK_DOWNLOAD_SELECT_FAILED:
|
||||
case ERR_SOCK_DOWNLOAD_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not download the PokerTH internet server list.\nPlease make sure you are directly connected to the internet."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_DOWNLOAD_OPEN_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not open the target file when downloading the server list."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_VERSION_NOT_SUPPORTED:
|
||||
{ QMessageBox msgBox(QMessageBox::Warning, tr("Network Error"),
|
||||
tr("The PokerTH server does not support this version of the game.<br>Please go to <a href=\"http://www.pokerth.net/\" target=\"_blank\">http://www.pokerth.net</a> and download the latest version."),
|
||||
QMessageBox::Close, this);
|
||||
msgBox.setTextFormat(Qt::RichText);
|
||||
msgBox.exec();
|
||||
}
|
||||
break;
|
||||
case ERR_NET_SERVER_FULL:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Sorry, this server is already full."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_PASSWORD:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Invalid password when joining the game.\nPlease reenter the password and try again."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_PASSWORD_STR:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The password is too long. Please choose another one."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_PLAYER_NAME_IN_USE:
|
||||
{ /*myChangeHumanPlayerNameDialog->label_Message->setText(tr("Your player name is already used by another player.\nPlease choose a different name."));
|
||||
myChangeHumanPlayerNameDialog->exec();*/ }
|
||||
break;
|
||||
case ERR_NET_INVALID_PLAYER_NAME:
|
||||
{ /*myChangeHumanPlayerNameDialog->label_Message->setText(tr("The player name is too short, too long or invalid. Please choose another one."));
|
||||
myChangeHumanPlayerNameDialog->exec();*/ }
|
||||
break;
|
||||
case ERR_NET_INVALID_GAME_NAME:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The game name is either too short or too long. Please choose another one."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_UNKNOWN_GAME:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The game could not be found."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_CHAT_TEXT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The chat text is invalid."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_UNKNOWN_PLAYER_ID:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The server referred to an unknown player. Aborting."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_NO_CURRENT_PLAYER:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal error: The current player could not be found."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_PLAYER_NOT_ACTIVE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal error: The current player is not active."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_PLAYER_KICKED:
|
||||
{ mySession->terminateNetworkClient();
|
||||
QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("You were kicked from the server."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_PLAYER_BANNED:
|
||||
{ mySession->terminateNetworkClient();
|
||||
QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("You were temporarily banned from the server."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_SESSION_TIMED_OUT:
|
||||
{ mySession->terminateNetworkClient();
|
||||
QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Your server connection timed out due to inactivity. You are very welcome to reconnect!"),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_PLAYER_COUNT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The client player count is invalid."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_TOO_MANY_MANUAL_BLINDS:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Too many manual blinds were set. Please reconfigure the manual blinds."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_AVATAR_FILE:
|
||||
case ERR_NET_WRONG_AVATAR_SIZE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An invalid avatar file was configured. Please choose a different avatar."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_AVATAR_TOO_LARGE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The selected avatar file is too large. Please choose a different avatar."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_AVATAR_UPLOAD_BLOCKED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("You cannot upload a new avatar file at this time. Please try again in a few seconds."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_REQUEST_ID:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An internal avatar error occured. Please report this to an admin in the lobby chat."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_START_TIMEOUT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not start game: Synchronization failed."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_SERVER_MAINTENANCE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The server is down for maintenance. Please try again later."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
default: { QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An internal error occured."),
|
||||
QMessageBox::Close); }
|
||||
}
|
||||
// close dialogs
|
||||
// myGameLobbyDialog->reject();
|
||||
// myConnectToServerDialog->reject();
|
||||
// myStartNetworkGameDialog->reject();
|
||||
}
|
||||
|
||||
void gameTableImpl::networkNotification(int notificationId)
|
||||
{
|
||||
hideTimeoutDialog();
|
||||
switch (notificationId)
|
||||
{
|
||||
case NTF_NET_REMOVED_KICKED:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("You were kicked from the game."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_REMOVED_GAME_FULL:
|
||||
case NTF_NET_JOIN_GAME_FULL:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("Sorry, this game is already full."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_REMOVED_ALREADY_RUNNING:
|
||||
case NTF_NET_JOIN_ALREADY_RUNNING:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("Unable to join - the server has already started the game."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_REMOVED_TIMEOUT:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("Your admin state timed out due to inactivity. Feel free to create a new game!"),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_JOIN_INVALID_PASSWORD:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("Invalid password when joining the game.\nPlease reenter the password and try again."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_NEW_RELEASE_AVAILABLE:
|
||||
{ QMessageBox msgBox(QMessageBox::Information, tr("Network Notification"),
|
||||
tr("A new release of PokerTH is available.<br>Please go to <a href=\"http://www.pokerth.net/\" target=\"_blank\">http://www.pokerth.net</a> and download the latest version."),
|
||||
QMessageBox::Close, this);
|
||||
msgBox.setTextFormat(Qt::RichText);
|
||||
msgBox.exec();
|
||||
}
|
||||
break;
|
||||
case NTF_NET_OUTDATED_BETA:
|
||||
{ QMessageBox msgBox(QMessageBox::Information, tr("Network Notification"),
|
||||
tr("This beta release of PokerTH is outdated.<br>Please go to <a href=\"http://www.pokerth.net/\" target=\"_blank\">http://www.pokerth.net</a> and download the latest version."),
|
||||
QMessageBox::Close, this);
|
||||
msgBox.setTextFormat(Qt::RichText);
|
||||
msgBox.exec();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void gameTableImpl::networkStart(boost::shared_ptr<Game> game)
|
||||
{
|
||||
mySession->startClientGame(game);
|
||||
|
||||
//send playerNicksList to chat for nick-autocompletition
|
||||
myChat->setPlayerNicksList(getPlayerNicksList());
|
||||
}
|
||||
|
||||
void gameTableImpl::keyPressEvent ( QKeyEvent * event ) {
|
||||
|
||||
// cout << event->key() << endl;
|
||||
@@ -3447,19 +3035,3 @@ void gameTableImpl::leaveCurrentNetworkGame() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void gameTableImpl::showTimeoutDialog(int msgID, unsigned duration) {
|
||||
|
||||
if(myTimeoutDialog->isHidden()) {
|
||||
myTimeoutDialog->setMySession(mySession);
|
||||
myTimeoutDialog->setMsgID((NetTimeoutReason)msgID);
|
||||
myTimeoutDialog->setTimeoutDuration(duration);
|
||||
myTimeoutDialog->show();
|
||||
myTimeoutDialog->raise();
|
||||
myTimeoutDialog->activateWindow();
|
||||
myTimeoutDialog->startTimeout();
|
||||
}
|
||||
}
|
||||
|
||||
void gameTableImpl::hideTimeoutDialog() { myTimeoutDialog->hide(); }
|
||||
|
||||
@@ -37,21 +37,11 @@ class Game;
|
||||
|
||||
class GuiInterface;
|
||||
class BoardInterface;
|
||||
// class HandInterface;
|
||||
class PlayerInterface;
|
||||
class MyCardsPixmapLabel;
|
||||
class MyAvatarLabel;
|
||||
class newGameDialogImpl;
|
||||
|
||||
class settingsDialogImpl;
|
||||
class selectAvatarDialogImpl;
|
||||
class aboutPokerthImpl;
|
||||
class joinNetworkGameDialogImpl;
|
||||
class connectToServerDialogImpl;
|
||||
class createNetworkGameDialogImpl;
|
||||
class startNetworkGameDialogImpl;
|
||||
class changeHumanPlayerNameDialogImpl;
|
||||
class gameLobbyDialogImpl;
|
||||
class timeoutMsgBoxImpl;
|
||||
class startWindowImpl;
|
||||
|
||||
class QColor;
|
||||
@@ -74,7 +64,8 @@ public:
|
||||
void setLog(Log* l) { myLog = l; }
|
||||
|
||||
SDLPlayer* getMySDLPlayer() const { return mySDLPlayer; }
|
||||
|
||||
Chat* getMyChat() const { return myChat; }
|
||||
|
||||
void setSpeeds();
|
||||
|
||||
signals:
|
||||
@@ -129,38 +120,6 @@ signals:
|
||||
|
||||
void signalNextRoundCleanGui();
|
||||
|
||||
void signalNetClientConnect(int actionID);
|
||||
void signalNetClientGameInfo(int actionID);
|
||||
void signalNetClientError(int errorID, int osErrorID);
|
||||
void signalNetClientNotification(int notificationId);
|
||||
void signalNetClientStatsUpdate(ServerStats stats);
|
||||
void signalNetClientShowTimeoutDialog(int, unsigned);
|
||||
void signalNetClientRemovedFromGame(int notificationId);
|
||||
void signalNetServerError(int errorID, int osErrorID);
|
||||
void signalNetClientSelfJoined(unsigned playerId, QString playerName, int rights);
|
||||
void signalNetClientPlayerJoined(unsigned playerId, QString playerName, int rights);
|
||||
void signalNetClientPlayerChanged(unsigned playerId, QString newPlayerName);
|
||||
void signalNetClientPlayerLeft(unsigned playerId, QString playerName);
|
||||
void signalNetClientNewGameAdmin(unsigned playerId, QString playerName);
|
||||
void signalNetClientGameListNew(unsigned gameId);
|
||||
void signalNetClientGameListRemove(unsigned gameId);
|
||||
void signalNetClientGameListUpdateMode(unsigned gameId, int mode);
|
||||
void signalNetClientGameListUpdateAdmin(unsigned gameId, unsigned adminPlayerId);
|
||||
void signalNetClientGameListPlayerJoined(unsigned gameId, unsigned playerId);
|
||||
void signalNetClientGameListPlayerLeft(unsigned gameId, unsigned playerId);
|
||||
void signalNetClientGameStart(boost::shared_ptr<Game> game);
|
||||
void signalNetClientChatMsg(QString nickName, QString msg);
|
||||
|
||||
void signalIrcConnect(QString server);
|
||||
void signalIrcSelfJoined(QString nickName, QString channel);
|
||||
void signalIrcPlayerJoined(QString nickName);
|
||||
void signalIrcPlayerChanged(QString oldNick, QString newNick);
|
||||
void signalIrcPlayerKicked(QString nickName, QString byWhom, QString reason);
|
||||
void signalIrcPlayerLeft(QString nickName);
|
||||
void signalIrcChatMessage(QString nickName, QString msg);
|
||||
void signalIrcError(int errorCode);
|
||||
void signalIrcServerError(int errorCode);
|
||||
|
||||
public slots:
|
||||
|
||||
void initGui(int speed);
|
||||
@@ -174,7 +133,6 @@ public slots:
|
||||
void refreshGroupbox(int =-1, int =-1);
|
||||
void refreshAll();
|
||||
void refreshPlayerName();
|
||||
QStringList getPlayerNicksList();
|
||||
void refreshGameLabels(int);
|
||||
void refreshButton();
|
||||
void refreshPlayerAvatar();
|
||||
@@ -299,10 +257,6 @@ public slots:
|
||||
void tabSwitchAction();
|
||||
|
||||
void leaveCurrentNetworkGame();
|
||||
|
||||
void networkError(int, int);
|
||||
void networkNotification(int);
|
||||
void networkStart(boost::shared_ptr<Game> game);
|
||||
|
||||
void localGameModification();
|
||||
void networkGameModification();
|
||||
@@ -322,11 +276,6 @@ public slots:
|
||||
void showMaximized ();
|
||||
void closeGameTable();
|
||||
|
||||
void showTimeoutDialog(int msgID, unsigned duration);
|
||||
void hideTimeoutDialog();
|
||||
|
||||
Chat* getMyChat() const { return myChat; }
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -391,16 +340,6 @@ private:
|
||||
QPixmap *flipside;
|
||||
|
||||
// Dialogs
|
||||
// boost::shared_ptr<newGameDialogImpl> myNewGameDialog;
|
||||
// boost::shared_ptr<settingsDialogImpl> mySettingsDialog;
|
||||
// boost::shared_ptr<selectAvatarDialogImpl> mySelectAvatarDialog;
|
||||
// boost::shared_ptr<changeHumanPlayerNameDialogImpl> myChangeHumanPlayerNameDialog;
|
||||
// boost::shared_ptr<joinNetworkGameDialogImpl> myJoinNetworkGameDialog;
|
||||
// boost::shared_ptr<connectToServerDialogImpl> myConnectToServerDialog;
|
||||
// boost::shared_ptr<startNetworkGameDialogImpl> myStartNetworkGameDialog;
|
||||
// boost::shared_ptr<createNetworkGameDialogImpl> myCreateNetworkGameDialog;
|
||||
// boost::shared_ptr<gameLobbyDialogImpl> myGameLobbyDialog;
|
||||
boost::shared_ptr<timeoutMsgBoxImpl> myTimeoutDialog;
|
||||
startWindowImpl *myStartWindow;
|
||||
|
||||
//Sound
|
||||
|
||||
@@ -119,14 +119,7 @@ void GuiWrapper::logPlayerWinGame(std::string playerName, int gameID) { myLog->s
|
||||
void GuiWrapper::flushLogAtGame(int gameID) { myLog->signalFlushLogAtGame(gameID); }
|
||||
void GuiWrapper::flushLogAtHand() { myLog->signalFlushLogAtHand(); }
|
||||
|
||||
void GuiWrapper::SignalNetClientGameStart(boost::shared_ptr<Game> game) { myW->signalNetClientGameStart(game); }
|
||||
|
||||
|
||||
|
||||
|
||||
////////// this is for startwindow ////////////////////
|
||||
|
||||
|
||||
void GuiWrapper::SignalNetClientConnect(int actionID) { myStartWindow->signalNetClientConnect(actionID); }
|
||||
void GuiWrapper::SignalNetClientGameInfo(int actionID) { myStartWindow->signalNetClientGameInfo(actionID); }
|
||||
void GuiWrapper::SignalNetClientError(int errorID, int osErrorID) { myStartWindow->signalNetClientError(errorID, osErrorID); }
|
||||
@@ -161,13 +154,14 @@ void GuiWrapper::SignalNetClientGameListUpdateMode(unsigned gameId, GameMode mod
|
||||
void GuiWrapper::SignalNetClientGameListUpdateAdmin(unsigned gameId, unsigned adminPlayerId) {myStartWindow->signalNetClientGameListUpdateAdmin(gameId, adminPlayerId); }
|
||||
void GuiWrapper::SignalNetClientGameListPlayerJoined(unsigned gameId, unsigned playerId) { myStartWindow->signalNetClientGameListPlayerJoined(gameId, playerId); }
|
||||
void GuiWrapper::SignalNetClientGameListPlayerLeft(unsigned gameId, unsigned playerId) { myStartWindow->signalNetClientGameListPlayerLeft(gameId, playerId); }
|
||||
void GuiWrapper::SignalNetClientGameStart(boost::shared_ptr<Game> game) { myStartWindow->signalNetClientGameStart(game); }
|
||||
|
||||
|
||||
void GuiWrapper::SignalNetClientWaitDialog() { myStartWindow->signalShowClientDialog(); }
|
||||
void GuiWrapper::SignalNetClientChatMsg(const string &playerName, const string &msg) { myStartWindow->signalNetClientChatMsg(QString::fromUtf8(playerName.c_str()), QString::fromUtf8(msg.c_str())); }
|
||||
|
||||
void GuiWrapper::SignalNetServerSuccess(int /*actionID*/) { }
|
||||
void GuiWrapper::SignalNetServerError(int errorID, int osErrorID) { myW->signalNetServerError(errorID, osErrorID); }
|
||||
void GuiWrapper::SignalNetServerError(int errorID, int osErrorID) { myStartWindow->signalNetServerError(errorID, osErrorID); }
|
||||
|
||||
void GuiWrapper::SignalIrcConnect(const string &server) { myStartWindow->signalIrcConnect(QString::fromUtf8(server.c_str())); }
|
||||
void GuiWrapper::SignalIrcSelfJoined(const string &nickName, const string &channel) { myStartWindow->signalIrcSelfJoined(QString::fromUtf8(nickName.c_str()), QString::fromUtf8(channel.c_str())); }
|
||||
|
||||
@@ -74,8 +74,6 @@ selectAvatarDialogImpl::selectAvatarDialogImpl(QWidget *parent, ConfigFile *c)
|
||||
peopleAvatarList << myAppDataPath +"gfx/avatars/default/people/14e3f39cc775608bcecf5597248b3558.png";
|
||||
peopleAvatarList << myAppDataPath +"gfx/avatars/default/people/0c04318e6fa54534935e3e6cfe12c4a1.png";
|
||||
peopleAvatarList << myAppDataPath +"gfx/avatars/default/people/6ecea83d9fac6b4cae97e2fccd09a5f6.png";
|
||||
peopleAvatarList << myAppDataPath +"gfx/avatars/default/people/d90bd3fbbe3671ebac5f9f223d0c6d65.png";
|
||||
peopleAvatarList << myAppDataPath +"gfx/avatars/default/people/93dec21823a314fb8ef2261b7aa75ae5.png";
|
||||
peopleAvatarList << myAppDataPath +"gfx/avatars/default/people/74672ebfa2ab02968386c4e441a08668.png";
|
||||
peopleAvatarList << myAppDataPath +"gfx/avatars/default/people/e54e67ebd5265cf549362a2cda5a999c.png";
|
||||
peopleAvatarList << myAppDataPath +"gfx/avatars/default/people/da34195981d255656f39c05481de3b6a.png";
|
||||
|
||||
@@ -166,6 +166,9 @@
|
||||
<property name="text" >
|
||||
<string>Quit</string>
|
||||
</property>
|
||||
<property name="shortcut" >
|
||||
<string>Ctrl+Q</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionCreate_Network_Game" >
|
||||
<property name="text" >
|
||||
@@ -179,5 +182,22 @@
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>actionQuit</sender>
|
||||
<signal>triggered()</signal>
|
||||
<receiver>startWindow</receiver>
|
||||
<slot>close()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel" >
|
||||
<x>-1</x>
|
||||
<y>-1</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel" >
|
||||
<x>221</x>
|
||||
<y>168</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
***************************************************************************/
|
||||
#include "startwindowimpl.h"
|
||||
|
||||
#include "playerinterface.h"
|
||||
|
||||
#include <gamedata.h>
|
||||
#include <generic/serverguiwrapper.h>
|
||||
#include <net/socket_msg.h>
|
||||
@@ -84,7 +86,6 @@ startWindowImpl::startWindowImpl(ConfigFile *c)
|
||||
|
||||
myTimeoutDialog = new timeoutMsgBoxImpl(this);
|
||||
|
||||
|
||||
connect( actionStart_Local_Game, SIGNAL( triggered() ), this, SLOT( callNewGameDialog() ) );
|
||||
connect( pushButtonStart_Local_Game, SIGNAL( clicked() ), this, SLOT( callNewGameDialog() ) );
|
||||
connect( actionInternet_Game, SIGNAL( triggered() ), this, SLOT( callGameLobbyDialog() ) );
|
||||
@@ -129,6 +130,15 @@ startWindowImpl::startWindowImpl(ConfigFile *c)
|
||||
connect(this, SIGNAL(signalNetClientChatMsg(QString, QString)), myStartNetworkGameDialog, SLOT(receiveChatMsg(QString, QString)));
|
||||
connect(this, SIGNAL(signalNetClientChatMsg(QString, QString)), myGuiInterface->getMyW()->getMyChat(), SLOT(receiveMessage(QString, QString)));
|
||||
|
||||
connect(this, SIGNAL(signalNetClientShowTimeoutDialog(int, unsigned)), this, SLOT(showTimeoutDialog(int, unsigned)));
|
||||
|
||||
// Errors are handled globally, not within one dialog.
|
||||
connect(this, SIGNAL(signalNetClientError(int, int)), this, SLOT(networkError(int, int)));
|
||||
connect(this, SIGNAL(signalNetClientNotification(int)), this, SLOT(networkNotification(int)));
|
||||
connect(this, SIGNAL(signalNetServerError(int, int)), this, SLOT(networkError(int, int)));
|
||||
connect(this, SIGNAL(signalNetClientRemovedFromGame(int)), this, SLOT(networkNotification(int)));
|
||||
connect(this, SIGNAL(signalNetClientGameStart(boost::shared_ptr<Game>)), this, SLOT(networkStart(boost::shared_ptr<Game>)));
|
||||
|
||||
connect(this, SIGNAL(signalIrcConnect(QString)), myGameLobbyDialog->getLobbyChat(), SLOT(connected(QString)));
|
||||
connect(this, SIGNAL(signalIrcSelfJoined(QString, QString)), myGameLobbyDialog->getLobbyChat(), SLOT(selfJoined(QString, QString)));
|
||||
connect(this, SIGNAL(signalIrcPlayerJoined(QString)), myGameLobbyDialog->getLobbyChat(), SLOT(playerJoined(QString)));
|
||||
@@ -520,3 +530,348 @@ void startWindowImpl::callSettingsDialog() {
|
||||
myGuiInterface->getMyW()->applySettings(mySettingsDialog);
|
||||
}
|
||||
}
|
||||
|
||||
void startWindowImpl::showTimeoutDialog(int msgID, unsigned duration) {
|
||||
|
||||
if(myTimeoutDialog->isHidden()) {
|
||||
myTimeoutDialog->setMySession(mySession);
|
||||
myTimeoutDialog->setMsgID((NetTimeoutReason)msgID);
|
||||
myTimeoutDialog->setTimeoutDuration(duration);
|
||||
myTimeoutDialog->show();
|
||||
myTimeoutDialog->raise();
|
||||
myTimeoutDialog->activateWindow();
|
||||
myTimeoutDialog->startTimeout();
|
||||
}
|
||||
}
|
||||
|
||||
void startWindowImpl::hideTimeoutDialog() { myTimeoutDialog->hide(); }
|
||||
|
||||
void startWindowImpl::networkError(int errorID, int /*osErrorID*/) {
|
||||
|
||||
hideTimeoutDialog();
|
||||
switch (errorID) {
|
||||
case ERR_SOCK_SERVERADDR_NOT_SET:
|
||||
{QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Server address was not set."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_PORT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An invalid port was set (ports 0-1023 are not allowed)."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_CREATION_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not create a socket for TCP communication."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_SET_ADDR_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not set the IP address."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_SET_PORT_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not set the port for this type of address."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_RESOLVE_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The server name could not be resolved."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_BIND_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Bind failed - please choose a different port."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_LISTEN_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal network error: \"listen\" failed."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_ACCEPT_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Server execution was terminated."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_CONNECT_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not connect to the server."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_CONNECT_TIMEOUT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Connection timed out.\nPlease check the server address.\n\nIf the server is behind a NAT-Router, make sure port forwarding has been set up on server side."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_SELECT_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal network error: \"select\" failed."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_SEND_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal network error: \"send\" failed."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_RECV_FAILED: // Sometimes windows reports recv failed on close.
|
||||
case ERR_SOCK_CONN_RESET:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Connection was closed by the server."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_CONN_EXISTS:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal network error: Duplicate TCP connection."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_PACKET:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An invalid network packet was received.\nPlease make sure that all players use the same version of PokerTH."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_STATE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal state error.\nPlease make sure that all players use the same version of PokerTH."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_SERVERLIST_URL:
|
||||
case ERR_SOCK_DOWNLOAD_INVALID_URL:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Invalid server list URL.\nPlease correct the address in the settings."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_OPEN_MD5_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not open the server list MD5 file.\nPlease make sure that the server list URL is correct."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_SERVERLIST_MD5:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Synchronization of the PokerTH internet server list has failed.\nPlease make sure that the server list URL is correct."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_INVALID_SERVERLIST_XML:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The PokerTH internet server list contains invalid data.\nIf you use a custom server list, please make sure its format is correct."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_UNZIP_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not unzip the PokerTH internet server list."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_DOWNLOAD_INIT_FAILED:
|
||||
case ERR_SOCK_DOWNLOAD_SELECT_FAILED:
|
||||
case ERR_SOCK_DOWNLOAD_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not download the PokerTH internet server list.\nPlease make sure you are directly connected to the internet."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_SOCK_DOWNLOAD_OPEN_FAILED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not open the target file when downloading the server list."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_VERSION_NOT_SUPPORTED:
|
||||
{ QMessageBox msgBox(QMessageBox::Warning, tr("Network Error"),
|
||||
tr("The PokerTH server does not support this version of the game.<br>Please go to <a href=\"http://www.pokerth.net/\" target=\"_blank\">http://www.pokerth.net</a> and download the latest version."),
|
||||
QMessageBox::Close, this);
|
||||
msgBox.setTextFormat(Qt::RichText);
|
||||
msgBox.exec();
|
||||
}
|
||||
break;
|
||||
case ERR_NET_SERVER_FULL:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Sorry, this server is already full."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_PASSWORD:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Invalid password when joining the game.\nPlease reenter the password and try again."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_PASSWORD_STR:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The password is too long. Please choose another one."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_PLAYER_NAME_IN_USE:
|
||||
{ /*myChangeHumanPlayerNameDialog->label_Message->setText(tr("Your player name is already used by another player.\nPlease choose a different name."));
|
||||
myChangeHumanPlayerNameDialog->exec();*/ }
|
||||
break;
|
||||
case ERR_NET_INVALID_PLAYER_NAME:
|
||||
{ /*myChangeHumanPlayerNameDialog->label_Message->setText(tr("The player name is too short, too long or invalid. Please choose another one."));
|
||||
myChangeHumanPlayerNameDialog->exec();*/ }
|
||||
break;
|
||||
case ERR_NET_INVALID_GAME_NAME:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The game name is either too short or too long. Please choose another one."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_UNKNOWN_GAME:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The game could not be found."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_CHAT_TEXT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The chat text is invalid."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_UNKNOWN_PLAYER_ID:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The server referred to an unknown player. Aborting."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_NO_CURRENT_PLAYER:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal error: The current player could not be found."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_PLAYER_NOT_ACTIVE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Internal error: The current player is not active."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_PLAYER_KICKED:
|
||||
{ mySession->terminateNetworkClient();
|
||||
QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("You were kicked from the server."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_PLAYER_BANNED:
|
||||
{ mySession->terminateNetworkClient();
|
||||
QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("You were temporarily banned from the server."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_SESSION_TIMED_OUT:
|
||||
{ mySession->terminateNetworkClient();
|
||||
QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Your server connection timed out due to inactivity. You are very welcome to reconnect!"),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_PLAYER_COUNT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The client player count is invalid."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_TOO_MANY_MANUAL_BLINDS:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Too many manual blinds were set. Please reconfigure the manual blinds."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_AVATAR_FILE:
|
||||
case ERR_NET_WRONG_AVATAR_SIZE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An invalid avatar file was configured. Please choose a different avatar."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_AVATAR_TOO_LARGE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The selected avatar file is too large. Please choose a different avatar."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_AVATAR_UPLOAD_BLOCKED:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("You cannot upload a new avatar file at this time. Please try again in a few seconds."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_INVALID_REQUEST_ID:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An internal avatar error occured. Please report this to an admin in the lobby chat."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_START_TIMEOUT:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("Could not start game: Synchronization failed."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case ERR_NET_SERVER_MAINTENANCE:
|
||||
{ QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("The server is down for maintenance. Please try again later."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
default: { QMessageBox::warning(this, tr("Network Error"),
|
||||
tr("An internal error occured."),
|
||||
QMessageBox::Close); }
|
||||
}
|
||||
// close dialogs
|
||||
myGameLobbyDialog->reject();
|
||||
myConnectToServerDialog->reject();
|
||||
myStartNetworkGameDialog->reject();
|
||||
}
|
||||
|
||||
void startWindowImpl::networkNotification(int notificationId)
|
||||
{
|
||||
hideTimeoutDialog();
|
||||
switch (notificationId)
|
||||
{
|
||||
case NTF_NET_REMOVED_KICKED:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("You were kicked from the game."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_REMOVED_GAME_FULL:
|
||||
case NTF_NET_JOIN_GAME_FULL:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("Sorry, this game is already full."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_REMOVED_ALREADY_RUNNING:
|
||||
case NTF_NET_JOIN_ALREADY_RUNNING:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("Unable to join - the server has already started the game."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_REMOVED_TIMEOUT:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("Your admin state timed out due to inactivity. Feel free to create a new game!"),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_JOIN_INVALID_PASSWORD:
|
||||
{ QMessageBox::warning(this, tr("Network Notification"),
|
||||
tr("Invalid password when joining the game.\nPlease reenter the password and try again."),
|
||||
QMessageBox::Close); }
|
||||
break;
|
||||
case NTF_NET_NEW_RELEASE_AVAILABLE:
|
||||
{ QMessageBox msgBox(QMessageBox::Information, tr("Network Notification"),
|
||||
tr("A new release of PokerTH is available.<br>Please go to <a href=\"http://www.pokerth.net/\" target=\"_blank\">http://www.pokerth.net</a> and download the latest version."),
|
||||
QMessageBox::Close, this);
|
||||
msgBox.setTextFormat(Qt::RichText);
|
||||
msgBox.exec();
|
||||
}
|
||||
break;
|
||||
case NTF_NET_OUTDATED_BETA:
|
||||
{ QMessageBox msgBox(QMessageBox::Information, tr("Network Notification"),
|
||||
tr("This beta release of PokerTH is outdated.<br>Please go to <a href=\"http://www.pokerth.net/\" target=\"_blank\">http://www.pokerth.net</a> and download the latest version."),
|
||||
QMessageBox::Close, this);
|
||||
msgBox.setTextFormat(Qt::RichText);
|
||||
msgBox.exec();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void startWindowImpl::networkStart(boost::shared_ptr<Game> game)
|
||||
{
|
||||
mySession->startClientGame(game);
|
||||
|
||||
//send playerNicksList to chat for nick-autocompletition
|
||||
myGuiInterface->getMyW()->getMyChat()->setPlayerNicksList(getPlayerNicksList());
|
||||
}
|
||||
|
||||
|
||||
QStringList startWindowImpl::getPlayerNicksList() {
|
||||
|
||||
QStringList list;
|
||||
PlayerListConstIterator it_c;
|
||||
|
||||
for (it_c=mySession->getCurrentGame()->getSeatsList()->begin(); it_c!=mySession->getCurrentGame()->getSeatsList()->end(); it_c++) {
|
||||
list << QString::fromUtf8((*it_c)->getMyName().c_str());
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
@@ -103,6 +103,15 @@ public slots:
|
||||
|
||||
void startNewLocalGame(newGameDialogImpl* =0);
|
||||
|
||||
void showTimeoutDialog(int msgID, unsigned duration);
|
||||
void hideTimeoutDialog();
|
||||
|
||||
void networkError(int, int);
|
||||
void networkNotification(int);
|
||||
|
||||
void networkStart(boost::shared_ptr<Game> game);
|
||||
QStringList getPlayerNicksList();
|
||||
|
||||
private:
|
||||
ConfigFile *myConfig;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user