From 4b56af8c42e4f7c685811dc9cc548f983edccf77 Mon Sep 17 00:00:00 2001 From: doitux Date: Sat, 29 Sep 2007 09:47:09 +0000 Subject: [PATCH] Human_Player check before join Lobby, Sortable AvailablePlayer List in Lobby --- src/config/configfile.cpp | 4 +-- src/gui/qt/changehumanplayernamedialog.ui | 22 +++++++++----- src/gui/qt/gamelobbydialog.ui | 9 ++++++ .../gamelobbydialog/lobbychat/lobbychat.cpp | 4 +++ src/gui/qt/mainwindow/mainwindowimpl.cpp | 30 ++++++++++++++----- src/gui/qt/mainwindow/mainwindowimpl.h | 1 + 6 files changed, 54 insertions(+), 16 deletions(-) diff --git a/src/config/configfile.cpp b/src/config/configfile.cpp index 0af69c59..7e125797 100644 --- a/src/config/configfile.cpp +++ b/src/config/configfile.cpp @@ -55,7 +55,7 @@ ConfigFile::ConfigFile(int argc, char **argv) : noWriteAccess(0) if(strcmp(argv[i], "--nowriteaccess") == 0) { noWriteAccess = 1; } } // !!!! Revisionsnummer der Configdefaults !!!!! - configRev = 41; + configRev = 42; //standard defaults logOnOffDefault = "1"; @@ -214,7 +214,7 @@ ConfigFile::ConfigFile(int argc, char **argv) : noWriteAccess(0) configList.push_back(ConfigInfo("InternetGamePassword", CONFIG_TYPE_STRING, "")); configList.push_back(ConfigInfo("IRCServerAddress", CONFIG_TYPE_STRING, "chat.freenode.net")); configList.push_back(ConfigInfo("IRCServerPort", CONFIG_TYPE_INT, "6667")); - configList.push_back(ConfigInfo("IRCChannel", CONFIG_TYPE_STRING, "#pokerth")); + configList.push_back(ConfigInfo("IRCChannel", CONFIG_TYPE_STRING, "#pokerth-lobby")); configList.push_back(ConfigInfo("IRCServerUseIpv6", CONFIG_TYPE_INT, "0")); configList.push_back(ConfigInfo("MyName", CONFIG_TYPE_STRING, "Human Player")); configList.push_back(ConfigInfo("MyAvatar", CONFIG_TYPE_STRING, "")); diff --git a/src/gui/qt/changehumanplayernamedialog.ui b/src/gui/qt/changehumanplayernamedialog.ui index 9fa088a9..23ad41a2 100644 --- a/src/gui/qt/changehumanplayernamedialog.ui +++ b/src/gui/qt/changehumanplayernamedialog.ui @@ -13,18 +13,26 @@ Network Error - + 9 - + + 9 + + + 9 + + + 9 + + + 6 + + 6 - - - Qt::AlignCenter - - + diff --git a/src/gui/qt/gamelobbydialog.ui b/src/gui/qt/gamelobbydialog.ui index 65eb5f85..048622c7 100644 --- a/src/gui/qt/gamelobbydialog.ui +++ b/src/gui/qt/gamelobbydialog.ui @@ -33,6 +33,15 @@ 16777215 + + 5 + + + false + + + true + Available Players diff --git a/src/gui/qt/gamelobbydialog/lobbychat/lobbychat.cpp b/src/gui/qt/gamelobbydialog/lobbychat/lobbychat.cpp index 25bcae83..cf314ce1 100644 --- a/src/gui/qt/gamelobbydialog/lobbychat/lobbychat.cpp +++ b/src/gui/qt/gamelobbydialog/lobbychat/lobbychat.cpp @@ -68,6 +68,8 @@ void LobbyChat::playerJoined(QString playerName) { QTreeWidgetItem *item = new QTreeWidgetItem(myLobby->treeWidget_NickList, 0); item->setData(0, Qt::DisplayRole, playerName); + + myLobby->treeWidget_NickList->sortItems(0, Qt::AscendingOrder); } void LobbyChat::playerLeft(QString playerName) @@ -75,6 +77,8 @@ void LobbyChat::playerLeft(QString playerName) QList tmpList(myLobby->treeWidget_NickList->findItems(playerName, Qt::MatchExactly)); if (!tmpList.empty()) myLobby->treeWidget_NickList->takeTopLevelItem(myLobby->treeWidget_NickList->indexOfTopLevelItem(tmpList.front())); + + myLobby->treeWidget_NickList->sortItems(0, Qt::AscendingOrder); } void LobbyChat::displayMessage(QString playerName, QString message) { diff --git a/src/gui/qt/mainwindow/mainwindowimpl.cpp b/src/gui/qt/mainwindow/mainwindowimpl.cpp index 2ad4dcc1..8df34ccf 100755 --- a/src/gui/qt/mainwindow/mainwindowimpl.cpp +++ b/src/gui/qt/mainwindow/mainwindowimpl.cpp @@ -935,26 +935,42 @@ void mainWindowImpl::callJoinNetworkGameDialog() { void mainWindowImpl::callGameLobbyDialog() { + //Avoid join Lobby with "Human Player" nick + if(QString::fromUtf8(myConfig->readConfigString("MyName").c_str()) == QString("Human Player")) { + myChangeHumanPlayerNameDialog->label_Message->setText(tr("You cannot join Internet-Game-Lobby with \"Human Player\" as nickname.\nPlease choose another one.")); + myChangeHumanPlayerNameDialog->exec(); + + if(myChangeHumanPlayerNameDialog->result() == QDialog::Accepted) { + joinGameLobby(); + } + } + else { + joinGameLobby(); + } +} + +void mainWindowImpl::joinGameLobby() { + +// Join Lobby mySession->terminateNetworkClient(); if (myServerGuiInterface.get()) myServerGuiInterface->getSession().terminateNetworkServer(); - - myGameLobbyDialog->setSession(&getSession()); - myStartNetworkGameDialog->setSession(&getSession()); - + myGameLobbyDialog->setSession(&getSession()); + myStartNetworkGameDialog->setSession(&getSession()); + // Start client for dedicated server. mySession->startInternetClient(); - + //Dialog mit Statusbalken myConnectToServerDialog->exec(); - + if (myConnectToServerDialog->result() == QDialog::Rejected ) { mySession->terminateNetworkClient(); } else { myGameLobbyDialog->exec(); - + if (myGameLobbyDialog->result() == QDialog::Accepted) { //some gui modifications diff --git a/src/gui/qt/mainwindow/mainwindowimpl.h b/src/gui/qt/mainwindow/mainwindowimpl.h index 69a60c68..2b33f90e 100755 --- a/src/gui/qt/mainwindow/mainwindowimpl.h +++ b/src/gui/qt/mainwindow/mainwindowimpl.h @@ -183,6 +183,7 @@ public slots: void callCreateNetworkGameDialog(); void callJoinNetworkGameDialog(); void callGameLobbyDialog(); + void joinGameLobby(); void myBetRaise(); void myFoldAllin();