diff --git a/src/gui/qt/joinnetworkgamedialog.ui b/src/gui/qt/joinnetworkgamedialog.ui index 8d38b7b1..eb2d2b63 100644 --- a/src/gui/qt/joinnetworkgamedialog.ui +++ b/src/gui/qt/joinnetworkgamedialog.ui @@ -287,5 +287,21 @@ + + treeWidget + itemDoubleClicked(QTreeWidgetItem*,int) + pushButton_connect + click() + + + 113 + 206 + + + 394 + 427 + + + diff --git a/src/gui/qt/mainwindow/mainwindowimpl.cpp b/src/gui/qt/mainwindow/mainwindowimpl.cpp index 8f5123e0..4c1f770a 100755 --- a/src/gui/qt/mainwindow/mainwindowimpl.cpp +++ b/src/gui/qt/mainwindow/mainwindowimpl.cpp @@ -703,6 +703,7 @@ void mainWindowImpl::callCreateNetworkGameDialog() { myServerGuiInterface->getSession().startNetworkServer(gameData); mySession->startNetworkClientForLocalServer(); + myStartNetworkGameDialog->setMaxPlayerNumber(gameData.numberOfPlayers); myStartNetworkGameDialog->exec(); diff --git a/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.cpp b/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.cpp index 37d0d1bc..e81b861f 100644 --- a/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.cpp +++ b/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.cpp @@ -45,6 +45,8 @@ void startNetworkGameDialogImpl::addConnectedPlayer(QString playerName) { QTreeWidgetItem *item = new QTreeWidgetItem(treeWidget,0); item->setData(0, 0, playerName); + + checkPlayerQuantity(); } void startNetworkGameDialogImpl::removePlayer(QString playerName) { @@ -53,6 +55,15 @@ void startNetworkGameDialogImpl::removePlayer(QString playerName) { if(!list.empty()) { treeWidget->takeTopLevelItem(treeWidget->indexOfTopLevelItem(list[0])); } + + checkPlayerQuantity(); +} + +void startNetworkGameDialogImpl::checkPlayerQuantity() { + + if(treeWidget->topLevelItemCount() == maxPlayerNumber) pushButton_startGame->setEnabled(TRUE); + else pushButton_startGame->setDisabled(TRUE); + } void startNetworkGameDialogImpl::keyPressEvent ( QKeyEvent * event ) { diff --git a/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.h b/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.h index 1290b6b4..e87f00ab 100644 --- a/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.h +++ b/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.h @@ -39,8 +39,17 @@ public slots: void cancel(); void addConnectedPlayer(QString playerName); void removePlayer(QString playerName); - + void checkPlayerQuantity(); + void keyPressEvent ( QKeyEvent*); + + void setMaxPlayerNumber ( int theValue ) { maxPlayerNumber = theValue; label_maxPlayerNumber->setText(QString::number(theValue,10)); } + int getMaxPlayerNumber() const { return maxPlayerNumber; } + + +private: + + int maxPlayerNumber; }; #endif