diff --git a/src/gui/qt/gamelobbydialog.ui b/src/gui/qt/gamelobbydialog.ui index 96f2067a..3b43406d 100644 --- a/src/gui/qt/gamelobbydialog.ui +++ b/src/gui/qt/gamelobbydialog.ui @@ -6,7 +6,7 @@ 0 0 875 - 610 + 618 @@ -120,9 +120,21 @@ 221 - 0 + 221 + + 1 + + + + 25 + 25 + + + + 15 + Connected Players diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp index ea1fc021..d56c14d5 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp @@ -36,6 +36,7 @@ gameLobbyDialogImpl::gameLobbyDialogImpl(QWidget *parent, ConfigFile *c) waitStartGameMsgBoxTimer->setSingleShot(TRUE); treeWidget_GameList->setGameListBackgroundImage(myAppDataPath +"gfx/gui/misc/background_gamelist.png"); +// treeWidget_connectedPlayers->setSpacing(1); connect( pushButton_CreateGame, SIGNAL( clicked() ), this, SLOT( createGame() ) ); connect( pushButton_JoinGame, SIGNAL( clicked() ), this, SLOT( joinGame() ) ); @@ -459,6 +460,7 @@ void gameLobbyDialogImpl::addConnectedPlayer(unsigned playerId, QString playerNa } checkPlayerQuantity(); + refreshConnectedPlayerAvatars(); } void gameLobbyDialogImpl::updatePlayer(unsigned playerId, QString newPlayerName) { @@ -472,6 +474,7 @@ void gameLobbyDialogImpl::updatePlayer(unsigned playerId, QString newPlayerName) } ++it; } + refreshConnectedPlayerAvatars(); } void gameLobbyDialogImpl::removePlayer(unsigned playerId, QString) { @@ -506,6 +509,24 @@ void gameLobbyDialogImpl::newGameAdmin(unsigned playerId, QString) } } +void gameLobbyDialogImpl::refreshConnectedPlayerAvatars() { + + QTreeWidgetItemIterator it(treeWidget_connectedPlayers); + while (*it) { + + std::string myAvatarFileName; + PlayerInfo playerInfo(mySession->getClientPlayerInfo((*it)->data(0, Qt::UserRole).toInt())); + mySession->getAvatarFile(playerInfo.avatar, myAvatarFileName); + QString myAvatarString(QString::fromUtf8(myAvatarFileName.c_str())); + + if(QFile::QFile(myAvatarString).exists()) { + (*it)->setIcon(0, QIcon(myAvatarString)); + } + + ++it; + } +} + void gameLobbyDialogImpl::joinedGameDialogUpdate() { groupBox_GameInfo->setEnabled(true); groupBox_GameInfo->setTitle(currentGameName); diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h index b1abfbe2..6dc0cb6e 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h @@ -79,6 +79,8 @@ public slots: void removePlayer(unsigned, QString); void newGameAdmin(unsigned, QString); + void refreshConnectedPlayerAvatars(); + void playerSelected(QTreeWidgetItem*, QTreeWidgetItem*); void refresh(int actionID); void removedFromGame(int reason);