check for maxnumberofplayers to start network game

doubleclick on join list item will directly connect
This commit is contained in:
doitux
2007-05-23 07:16:28 +00:00
parent 2e12f1bc25
commit e8cbac12cc
4 changed files with 38 additions and 1 deletions
+16
View File
@@ -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>
+1
View File
@@ -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