check for maxnumberofplayers to start network game
doubleclick on join list item will directly connect
This commit is contained in:
@@ -287,5 +287,21 @@
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>treeWidget</sender>
|
||||
<signal>itemDoubleClicked(QTreeWidgetItem*,int)</signal>
|
||||
<receiver>pushButton_connect</receiver>
|
||||
<slot>click()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel" >
|
||||
<x>113</x>
|
||||
<y>206</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel" >
|
||||
<x>394</x>
|
||||
<y>427</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
|
||||
@@ -703,6 +703,7 @@ void mainWindowImpl::callCreateNetworkGameDialog() {
|
||||
myServerGuiInterface->getSession().startNetworkServer(gameData);
|
||||
mySession->startNetworkClientForLocalServer();
|
||||
|
||||
myStartNetworkGameDialog->setMaxPlayerNumber(gameData.numberOfPlayers);
|
||||
myStartNetworkGameDialog->exec();
|
||||
|
||||
|
||||
|
||||
@@ -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 ) {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user