From 8dacafa498627f50bbc9829e428f8048a29c47d2 Mon Sep 17 00:00:00 2001 From: doitux Date: Wed, 11 Jan 2012 21:38:42 +0000 Subject: [PATCH] bugfix for "Show player stats" item doesn't work in game info field (#100) --- .../gamelobbydialog/gamelobbydialogimpl.cpp | 24 +++++++++++++++---- .../qt/gamelobbydialog/gamelobbydialogimpl.h | 6 +++-- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp index b75a267f..772d713f 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp @@ -143,11 +143,12 @@ 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); + nickListOpenPlayerStats1 = new QAction(QIcon(":/gfx/view-statistics.png"), tr("Show player stats"), nickListContextMenu); + nickListContextMenu->addAction(nickListOpenPlayerStats1); connectedPlayersListPlayerInfoSubMenu = new QMenu(); - connectedPlayersListPlayerInfoSubMenu->addAction(nickListOpenPlayerStats); + nickListOpenPlayerStats2 = new QAction(QIcon(":/gfx/view-statistics.png"), tr("Show player stats"), nickListContextMenu); + connectedPlayersListPlayerInfoSubMenu->addAction(nickListOpenPlayerStats2); connect( pushButton_CreateGame, SIGNAL( clicked() ), this, SLOT( createGame() ) ); connect( pushButton_JoinGame, SIGNAL( clicked() ), this, SLOT( joinGame() ) ); @@ -172,7 +173,8 @@ gameLobbyDialogImpl::gameLobbyDialogImpl(startWindowImpl *parent, ConfigFile *c) 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( nickListOpenPlayerStats1, SIGNAL(triggered()), this, SLOT( openPlayerStats1() )); + connect( nickListOpenPlayerStats2, SIGNAL(triggered()), this, SLOT( openPlayerStats2() )); connect( lineEdit_searchForPlayers, SIGNAL(textChanged(QString)),this, SLOT(searchForPlayerRegExpChanged())); lineEdit_searchForPlayers->installEventFilter(this); @@ -1689,7 +1691,7 @@ void gameLobbyDialogImpl::updateAutoStartTimer() } } -void gameLobbyDialogImpl::openPlayerStats() +void gameLobbyDialogImpl::openPlayerStats1() { if(myNickListSelectionModel->currentIndex().isValid()) { @@ -1701,6 +1703,18 @@ void gameLobbyDialogImpl::openPlayerStats() } } +void gameLobbyDialogImpl::openPlayerStats2() +{ + if(treeWidget_connectedPlayers->currentItem()) { + + unsigned playerId = treeWidget_connectedPlayers->currentItem()->data(0, Qt::UserRole).toUInt(); + if(!mySession->getClientPlayerInfo(playerId).isGuest) { + QUrl url("http://pokerth.net/redirect_user_profile.php?nick="+QUrl::toPercentEncoding(treeWidget_connectedPlayers->currentItem()->data(0, Qt::DisplayRole).toString())); + QDesktopServices::openUrl(url); + } + } +} + void gameLobbyDialogImpl::showConnectedPlayersContextMenu(QPoint p) { if(treeWidget_connectedPlayers->currentItem()) { diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h index 617e2787..c67a0b18 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h @@ -138,7 +138,8 @@ public slots: void searchForPlayerRegExpChanged(); void showAutoStartTimer(); void updateAutoStartTimer(); - void openPlayerStats(); + void openPlayerStats1(); + void openPlayerStats2(); QString getFullCountryString(QString); void closeAllChildDialogs(); @@ -181,7 +182,8 @@ private: QMenu *nickListPlayerInfoSubMenu; QMenu *connectedPlayersListPlayerInfoSubMenu; QAction *nickListPlayerInGameInfo; - QAction *nickListOpenPlayerStats; + QAction *nickListOpenPlayerStats1; + QAction *nickListOpenPlayerStats2; int infoMsgToShowId; int currentInvitationGameId; bool inviteDialogIsCurrentlyShown;