diff --git a/src/game_defs.h b/src/game_defs.h
index 2f2bf073..c03e3d9d 100644
--- a/src/game_defs.h
+++ b/src/game_defs.h
@@ -35,7 +35,7 @@
#define POKERTH_VERSION ((POKERTH_VERSION_MAJOR << 8) | POKERTH_VERSION_MINOR)
#define POKERTH_BETA_REVISION 0
-#define POKERTH_BETA_RELEASE_STRING "0.8.3"
+#define POKERTH_BETA_RELEASE_STRING "0.9 beta1"
#define RANKING_GAME_START_CASH 10000
#define RANKING_GAME_NUMBER_OF_PLAYERS 10
diff --git a/src/gui/qt/gamelobbydialog.ui b/src/gui/qt/gamelobbydialog.ui
index e1a90409..699f9a9d 100644
--- a/src/gui/qt/gamelobbydialog.ui
+++ b/src/gui/qt/gamelobbydialog.ui
@@ -144,6 +144,9 @@
237
+
+ Qt::CustomContextMenu
+
1
diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp
index b490b6e2..8bd016a1 100644
--- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp
+++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp
@@ -125,6 +125,11 @@ gameLobbyDialogImpl::gameLobbyDialogImpl(startWindowImpl *parent, ConfigFile *c)
nickListPlayerInfoSubMenu = nickListContextMenu->addMenu(QIcon(":/gfx/dialog-information.png"), tr("Player infos ..."));
nickListPlayerInGameInfo = new QAction(nickListContextMenu);
nickListPlayerInfoSubMenu->addAction(nickListPlayerInGameInfo);
+ nickListOpenPlayerStats = new QAction(QIcon(":/gfx/view-statistics.png"), tr("Show player stats"), nickListContextMenu);
+ nickListContextMenu->addAction(nickListOpenPlayerStats);
+
+ connectedPlayersListPlayerInfoSubMenu = new QMenu();
+ connectedPlayersListPlayerInfoSubMenu->addAction(nickListOpenPlayerStats);
connect( pushButton_CreateGame, SIGNAL( clicked() ), this, SLOT( createGame() ) );
connect( pushButton_JoinGame, SIGNAL( clicked() ), this, SLOT( joinGame() ) );
@@ -146,8 +151,10 @@ gameLobbyDialogImpl::gameLobbyDialogImpl(startWindowImpl *parent, ConfigFile *c)
connect( comboBox_gameListFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(changeGameListFilter(int)));
connect( comboBox_nickListFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(changeNickListFilter(int)));
connect( treeView_NickList, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT( showNickListContextMenu(QPoint) ) );
+ connect( treeWidget_connectedPlayers, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT( showConnectedPlayersContextMenu(QPoint) ) );
connect( nickListInviteAction, SIGNAL(triggered()), this, SLOT( invitePlayerToCurrentGame() ));
connect( nickListIgnorePlayerAction, SIGNAL(triggered()), this, SLOT( putPlayerOnIgnoreList() ));
+ connect( nickListOpenPlayerStats, SIGNAL(triggered()), this, SLOT( openPlayerStats() ));
connect( lineEdit_searchForPlayers, SIGNAL(textChanged(QString)),this, SLOT(searchForPlayerRegExpChanged()));
lineEdit_searchForPlayers->installEventFilter(this);
@@ -1630,3 +1637,32 @@ void gameLobbyDialogImpl::updateAutoStartTimer()
autoStartTimerOverlay->hide();
}
}
+
+void gameLobbyDialogImpl::openPlayerStats()
+{
+ if(myNickListSelectionModel->currentIndex().isValid()) {
+
+ unsigned playerId = myNickListSelectionModel->currentIndex().data(Qt::UserRole).toUInt();
+ if(!mySession->getClientPlayerInfo(playerId).isGuest) {
+ QUrl url("http://pokerth.net/redirect_user_profile.php?nick="+QUrl::toPercentEncoding(myNickListSelectionModel->currentIndex().data(Qt::DisplayRole).toString()));
+ QDesktopServices::openUrl(url);
+ }
+ }
+}
+
+void gameLobbyDialogImpl::showConnectedPlayersContextMenu(QPoint p)
+{
+ if(treeWidget_connectedPlayers->currentItem()) {
+
+ assert(mySession);
+ unsigned playerUid = treeWidget_connectedPlayers->currentItem()->data(0, Qt::UserRole).toUInt();
+
+ if(!mySession->getClientPlayerInfo(playerUid).isGuest) {
+
+ //popup a little more to the right to avaoid double click action
+ QPoint tempPoint = p;
+ tempPoint.setX(p.x()+5);
+ connectedPlayersListPlayerInfoSubMenu->popup(treeWidget_connectedPlayers->mapToGlobal(tempPoint));
+ }
+ }
+}
diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h
index 1060ce4f..627894ba 100644
--- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h
+++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h
@@ -119,6 +119,7 @@ public slots:
void registeredUserMode();
void guestUserMode();
void showNickListContextMenu(QPoint);
+ void showConnectedPlayersContextMenu(QPoint);
void invitePlayerToCurrentGame();
void showInfoMsgBox();
void showInvitationDialog(unsigned gameId, unsigned playerIdFrom);
@@ -129,6 +130,7 @@ public slots:
void searchForPlayerRegExpChanged();
void showAutoStartTimer();
void updateAutoStartTimer();
+ void openPlayerStats();
private:
@@ -163,7 +165,9 @@ private:
QAction *nickListInviteAction;
QAction *nickListIgnorePlayerAction;
QMenu *nickListPlayerInfoSubMenu;
+ QMenu *connectedPlayersListPlayerInfoSubMenu;
QAction *nickListPlayerInGameInfo;
+ QAction *nickListOpenPlayerStats;
int infoMsgToShowId;
int currentInvitationGameId;
bool inviteDialogIsCurrentlyShown;
diff --git a/src/gui/qt/resources/pokerth.qrc b/src/gui/qt/resources/pokerth.qrc
index 63b6fba2..963557d0 100644
--- a/src/gui/qt/resources/pokerth.qrc
+++ b/src/gui/qt/resources/pokerth.qrc
@@ -52,6 +52,7 @@
emblem-important.png
emblem-important-64.png
dialog-information.png
+ view-statistics.png
cflags/ad.png
diff --git a/src/gui/qt/resources/view-statistics.png b/src/gui/qt/resources/view-statistics.png
new file mode 100644
index 00000000..5a05fa48
Binary files /dev/null and b/src/gui/qt/resources/view-statistics.png differ