bugfix for "Idle players are not show correctly if they join YOUR game" #198

This commit is contained in:
doitux
2013-10-09 23:45:57 +02:00
parent 2d6db51465
commit 7ffd85b1c1
@@ -563,16 +563,6 @@ void gameLobbyDialogImpl::updateGameItem(QList <QStandardItem*> itemList, unsign
PlayerIdList::const_iterator end = info.players.end();
while (i != end) {
//mark players as active
int it1 = 0;
while (myNickListModel->item(it1)) {
if (myNickListModel->item(it1, 0)->data(Qt::UserRole) == *i) {
myNickListModel->item(it1, 0)->setData("active", 34);
break;
}
++it1;
}
if(myPlayerId == *i) {
itemList.at(0)->setData( "MeInThisGame", 16);
itemList.at(0)->setBackground(QBrush(QColor(0, 255, 0, 127)));
@@ -594,6 +584,22 @@ void gameLobbyDialogImpl::updateGameItem(QList <QStandardItem*> itemList, unsign
++i;
}
//reset players iterator
i = info.players.begin();
end = info.players.end();
while (i != end) {
//mark players as active
int it1 = 0;
while (myNickListModel->item(it1)) {
if (myNickListModel->item(it1, 0)->data(Qt::UserRole) == *i) {
myNickListModel->item(it1, 0)->setData("active", 34);
break;
}
++it1;
}
++i;
}
QString playerStr;
playerStr.sprintf("%u/%u", (unsigned)info.players.size(), (unsigned)info.data.maxNumberOfPlayers);
itemList.at(1)->setData(playerStr, Qt::DisplayRole);