From ce5b83acf961b1619cc3447dce198bb7c50b06b5 Mon Sep 17 00:00:00 2001 From: doitux Date: Sat, 31 Dec 2011 13:33:34 +0000 Subject: [PATCH] really fix leave game button bug --- .../qt/gamelobbydialog/gamelobbydialogimpl.cpp | 17 +++++++++++------ .../qt/gamelobbydialog/gamelobbydialogimpl.h | 1 + src/gui/qt/gametable/myavatarlabel.cpp | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp index 4ab2c4fc..f5e35b4f 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp @@ -377,7 +377,6 @@ void gameLobbyDialogImpl::refresh(int actionID) myGameListSelectionModel->clear(); myGameListSelectionModel->clearSelection(); myGameListSortFilterProxyModel->clear(); - myNickListModel->clear(); myNickListSelectionModel->clear(); myNickListSelectionModel->clearSelection();; @@ -398,19 +397,15 @@ void gameLobbyDialogImpl::refresh(int actionID) //stop waitStartGameMsgBoxes waitStartGameMsgBoxTimer->stop(); closeAllChildDialogs(); - this->accept(); myW->show(); } else if(actionID == MSG_NET_GAME_CLIENT_SYNCSTART) { - waitStartGameMsgBoxTimer->start(2000); } else if(actionID == MSG_NET_GAME_CLIENT_SYNCREJOIN) { - if(this->isVisible()) { //break the autoStartTimer animation autoStartTimer->stop(); autoStartTimerOverlay->hide(); - //show msg dialog waitRejoinStartGameMsgBox->show(); waitRejoinStartGameMsgBox->raise(); @@ -1379,15 +1374,25 @@ void gameLobbyDialogImpl::reject() void gameLobbyDialogImpl::closeEvent(QCloseEvent *event) { - event->accept(); //stop waitStartGameMsgBoxes waitStartGameMsgBoxTimer->stop(); waitStartGameMsgBox->hide(); waitRejoinStartGameMsgBox->hide(); //enable leave button again - it was disabled during waitxyzMsgBoxes pushButton_Leave->setEnabled(true); + event->accept(); } +void gameLobbyDialogImpl::accept() +{ + //stop waitStartGameMsgBoxes + waitStartGameMsgBoxTimer->stop(); + closeAllChildDialogs(); + //enable leave button again - it was disabled during waitxyzMsgBoxes + pushButton_Leave->setEnabled(true); + qDebug() << "hide"; + QDialog::accept(); +} void gameLobbyDialogImpl::writeDialogSettings(int saveMode) { diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h index 18bd0cda..617e2787 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h @@ -118,6 +118,7 @@ public slots: void joinAnyGameButtonRefresh(); void reject(); void closeEvent(QCloseEvent *event); + void accept(); void writeDialogSettings(int); void readDialogSettings(); void changeGameListFilter(int); diff --git a/src/gui/qt/gametable/myavatarlabel.cpp b/src/gui/qt/gametable/myavatarlabel.cpp index f187840b..19907da0 100644 --- a/src/gui/qt/gametable/myavatarlabel.cpp +++ b/src/gui/qt/gametable/myavatarlabel.cpp @@ -199,7 +199,7 @@ void MyAvatarLabel::refreshTooltips() if((*it_c)->getMyType() == PLAYER_TYPE_COMPUTER) { computerPlayer = true; } - if(!computerPlayer && getPlayerTip(QString::fromUtf8((*it_c)->getMyName().c_str()))!="") { + if(!computerPlayer && getPlayerTip(QString::fromUtf8((*it_c)->getMyName().c_str()))!="" && seatPlace!=0) { myW->playerTipLabelArray[(*it_c)->getMyID()]->setText(QString("getMyName().c_str())+"\'>i"); myW->playerTipLabelArray[(*it_c)->getMyID()]->setToolTip( getPlayerTip(QString::fromUtf8((*it_c)->getMyName().c_str())) ); myW->playerAvatarLabelArray[(*it_c)->getMyID()]->setToolTip( getPlayerTip(QString::fromUtf8((*it_c)->getMyName().c_str())) );