From f8a2718e9777e185c0398602493101ad1bb22a13 Mon Sep 17 00:00:00 2001 From: doitux Date: Mon, 9 Sep 2013 10:36:27 +0200 Subject: [PATCH 1/3] some specatator list fixes - debug output removed --- .../gamelobbydialog/gamelobbydialogimpl.cpp | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp index 2e23d6c8..34783226 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp @@ -565,6 +565,15 @@ void gameLobbyDialogImpl::gameSelected(const QModelIndex &index) ++i; } + treeWidget_connectedSpectators->clear(); + PlayerIdList::const_iterator s = info.spectators.begin(); + PlayerIdList::const_iterator s_end = info.spectators.end(); + while (s != s_end) { + PlayerInfo playerInfo(mySession->getClientPlayerInfo(*s)); + addConnectedSpectator(*s, QString::fromUtf8(playerInfo.playerName.c_str())); + ++s; + } + #ifdef __APPLE__ // Dirty workaround for a Qt redraw bug on Mac OS. treeWidget_connectedPlayers->setFocus(); @@ -792,7 +801,7 @@ void gameLobbyDialogImpl::gameAddPlayer(unsigned gameId, unsigned playerId) void gameLobbyDialogImpl::gameAddSpectator(unsigned, unsigned) { - qDebug("jojo GameADDSpecator"); + } void gameLobbyDialogImpl::gameRemovePlayer(unsigned gameId, unsigned playerId) @@ -833,7 +842,7 @@ void gameLobbyDialogImpl::gameRemovePlayer(unsigned gameId, unsigned playerId) void gameLobbyDialogImpl::gameRemoveSpectator(unsigned, unsigned) { - qDebug("jojo GameRemoveSpecator"); + } void gameLobbyDialogImpl::updateStats(ServerStats /*stats*/) @@ -863,6 +872,7 @@ void gameLobbyDialogImpl::clearDialog() myGameListSortFilterProxyModel->clear(); treeView_GameList->show(); treeWidget_connectedPlayers->clear(); + treeWidget_connectedSpectators->clear(); pushButton_Leave->hide(); pushButton_Kick->hide(); @@ -987,12 +997,9 @@ void gameLobbyDialogImpl::blinkingStartButtonAnimation() void gameLobbyDialogImpl::joinedNetworkGame(unsigned playerId, QString playerName, bool isGameAdmin) { - // Update dialog inGame = true; joinedGameDialogUpdate(); - - myPlayerId = playerId; isGameAdministrator = isGameAdmin; addConnectedPlayer(playerId, playerName, isGameAdmin); @@ -1043,7 +1050,6 @@ void gameLobbyDialogImpl::addConnectedPlayer(unsigned playerId, QString playerNa void gameLobbyDialogImpl::addConnectedSpectator(unsigned spectatorId, QString spectatorName) { - qDebug("JOJO add spect"); QTreeWidgetItem *item = new QTreeWidgetItem(treeWidget_connectedSpectators, 0); item->setData(0, Qt::UserRole, spectatorId); item->setData(0, Qt::DisplayRole, spectatorName); @@ -1107,7 +1113,6 @@ void gameLobbyDialogImpl::updatePlayer(unsigned playerId, QString newPlayerName) void gameLobbyDialogImpl::removePlayer(unsigned playerId, QString) { - qDebug("JOJO remove player"); QTreeWidgetItemIterator it(treeWidget_connectedPlayers); while (*it) { if ((*it)->data(0, Qt::UserRole) == playerId) { @@ -1122,7 +1127,6 @@ void gameLobbyDialogImpl::removePlayer(unsigned playerId, QString) void gameLobbyDialogImpl::removeSpectator(unsigned spectatorId, QString) { - qDebug("JOJO remove spect"); QTreeWidgetItemIterator it(treeWidget_connectedSpectators); while (*it) { if ((*it)->data(0, Qt::UserRole) == spectatorId) { @@ -1267,7 +1271,6 @@ void gameLobbyDialogImpl::joinedGameDialogUpdate() label_StartCash->setText(QString("%L1").arg(info.data.startMoney)); updateDialogBlinds(info.data); label_GameTiming->setText(QString::number(info.data.playerActionTimeoutSec)+" "+tr("sec (action)")+"\n"+QString::number(info.data.delayBetweenHandsSec)+" "+tr("sec (hand delay)")); - } void gameLobbyDialogImpl::leftGameDialogUpdate() @@ -1291,6 +1294,7 @@ void gameLobbyDialogImpl::leftGameDialogUpdate() label_GameTiming->setText(""); treeWidget_connectedPlayers->clear(); + treeWidget_connectedSpectators->clear(); pushButton_StartGame->hide(); pushButton_Leave->hide(); pushButton_Kick->hide(); From ae3def58c5b303f0cf3a3c74aef208d86ecb9609 Mon Sep 17 00:00:00 2001 From: doitux Date: Sat, 14 Sep 2013 14:39:14 +0200 Subject: [PATCH 2/3] possible fix for #136 (The lobby "display idle players" feature does not work after playing a game) --- .../gamelobbydialog/gamelobbydialogimpl.cpp | 72 ++++++++++++------- 1 file changed, 46 insertions(+), 26 deletions(-) diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp index 34783226..a9d25ecf 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp @@ -475,7 +475,6 @@ void gameLobbyDialogImpl::refresh(int actionID) treeView_GameList->setColumnWidth(3,25); treeView_GameList->setColumnWidth(4,25); treeView_GameList->setColumnWidth(5,30); - #endif QStringList headerList2; @@ -594,6 +593,16 @@ void gameLobbyDialogImpl::updateGameItem(QList 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))); @@ -677,6 +686,21 @@ void gameLobbyDialogImpl::updateGameItem(QList itemList, unsign treeView_GameList->sortByColumn(myConfig->readConfigInt("DlgGameLobbyGameListSortingSection"), (Qt::SortOrder)myConfig->readConfigInt("DlgGameLobbyGameListSortingOrder") ); refreshGameStats(); + + //mark spactators as active + PlayerIdList::const_iterator s = info.spectators.begin(); + PlayerIdList::const_iterator s_end = info.spectators.end(); + + while (s != s_end) { + int it2 = 0; + while (myNickListModel->item(it2)) { + if (myNickListModel->item(it2, 0)->data(Qt::UserRole) == *s) { + myNickListModel->item(it2, 0)->setData("active", 34); + break; + } + ++it2; + } + } } void gameLobbyDialogImpl::addGame(unsigned gameId) @@ -693,7 +717,6 @@ void gameLobbyDialogImpl::addGame(unsigned gameId) myGameListModel->appendRow(itemList); updateGameItem(itemList, gameId); - } void gameLobbyDialogImpl::updateGameMode(unsigned gameId, int /*newMode*/) @@ -781,14 +804,15 @@ void gameLobbyDialogImpl::gameAddPlayer(unsigned gameId, unsigned playerId) if (myGameListModel->item(it, 0)->data(Qt::UserRole) == gameId) { QList itemList; itemList << myGameListModel->item(it, 0) << myGameListModel->item(it, 1) << myGameListModel->item(it, 2) << myGameListModel->item(it, 3) << myGameListModel->item(it, 4) << myGameListModel->item(it, 5); - updateGameItem(itemList, gameId); break; } it++; } +} - //mark player as active +void gameLobbyDialogImpl::gameAddSpectator(unsigned /*gameId*/, unsigned playerId) +{ int it1 = 0; while (myNickListModel->item(it1)) { if (myNickListModel->item(it1, 0)->data(Qt::UserRole) == playerId) { @@ -799,11 +823,6 @@ void gameLobbyDialogImpl::gameAddPlayer(unsigned gameId, unsigned playerId) } } -void gameLobbyDialogImpl::gameAddSpectator(unsigned, unsigned) -{ - -} - void gameLobbyDialogImpl::gameRemovePlayer(unsigned gameId, unsigned playerId) { if (!inGame) { @@ -840,9 +859,17 @@ void gameLobbyDialogImpl::gameRemovePlayer(unsigned gameId, unsigned playerId) } } -void gameLobbyDialogImpl::gameRemoveSpectator(unsigned, unsigned) +void gameLobbyDialogImpl::gameRemoveSpectator(unsigned, unsigned playerId) { - + //mark spectator as idle again + int it1 = 0; + while (myNickListModel->item(it1)) { + if (myNickListModel->item(it1, 0)->data(Qt::UserRole) == playerId) { + myNickListModel->item(it1, 0)->setData("idle", 34); + break; + } + ++it1; + } } void gameLobbyDialogImpl::updateStats(ServerStats /*stats*/) @@ -1093,12 +1120,13 @@ void gameLobbyDialogImpl::updatePlayer(unsigned playerId, QString newPlayerName) myNickListModel->item(it1, 0)->setToolTip(getFullCountryString(countryString.toUpper())); } - unsigned gameIdOfPlayer = mySession->getGameIdOfPlayer(playerId); - if(gameIdOfPlayer) { - myNickListModel->item(it1, 0)->setData("active", 34); - } else { - myNickListModel->item(it1, 0)->setData("idle", 34); - } +// unsigned gameIdOfPlayer = mySession->getGameIdOfPlayer(playerId); +// if(gameIdOfPlayer) { +// myNickListModel->item(it1, 0)->setData("active", 34); +// } else { +// qDebug("updateplayer idle"); +// myNickListModel->item(it1, 0)->setData("idle", 34); +// } break; } @@ -1167,15 +1195,7 @@ void gameLobbyDialogImpl::playerJoinedLobby(unsigned playerId, QString /*playerN item->setIcon(QIcon(QString(":/cflags/cflags/%1.png").arg(countryString))); item->setToolTip(getFullCountryString(countryString.toUpper())); } - - unsigned gameIdOfPlayer = mySession->getGameIdOfPlayer(playerId); - if(gameIdOfPlayer) { - item->setData("active", 34); - } else { - item->setData("idle", 34); - } - - + item->setData("idle", 34); myNickListModel->appendRow(item); refreshPlayerStats(); From 196c4b2e0a5e67bb2367ced25b85a19bbc4265ed Mon Sep 17 00:00:00 2001 From: floty Date: Sun, 15 Sep 2013 16:10:43 +0200 Subject: [PATCH 3/3] delete waste code fpr cppcheck --- src/engine/local_engine/cardsvalue.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/engine/local_engine/cardsvalue.cpp b/src/engine/local_engine/cardsvalue.cpp index edb72451..e309d95f 100755 --- a/src/engine/local_engine/cardsvalue.cpp +++ b/src/engine/local_engine/cardsvalue.cpp @@ -1142,11 +1142,9 @@ std::string CardsValue::determineHandName(int myCardsValueInt, PlayerList active // 4.there are still same hands if(equal) { different = false; - equal = false; // third kicker? for(it = sameHandCardsValueInt.begin(); it != sameHandCardsValueInt.end(); ) { if((*it) == myCardsValueInt) { - equal = true; ++it; } else { different = true;