From c5592c1ab8813dc2110cac4960e40676157b981c Mon Sep 17 00:00:00 2001 From: doitux Date: Mon, 29 Mar 2010 13:08:59 +0000 Subject: [PATCH] GUI: next steps invitation system --- src/gui/generic/serverguiwrapper.h | 5 +++ .../gamelobbydialog/gamelobbydialogimpl.cpp | 40 ++++++++++++++++-- .../qt/gamelobbydialog/gamelobbydialogimpl.h | 5 +++ .../mygamelistsortfilterproxymodel.cpp | 2 + src/gui/qt/guiwrapper.cpp | 4 ++ src/gui/qt/guiwrapper.h | 3 ++ .../mymessagedialog/mymessagedialogimpl.cpp | 5 ++- .../qt/mymessagedialog/mymessagedialogimpl.h | 2 +- src/gui/qt/resources/pokerth.qrc | 2 + src/gui/qt/resources/system_help_64.png | Bin 0 -> 5423 bytes src/gui/qt/startwindow/startwindowimpl.cpp | 4 ++ src/gui/qt/startwindow/startwindowimpl.h | 4 ++ 12 files changed, 70 insertions(+), 6 deletions(-) create mode 100644 src/gui/qt/resources/system_help_64.png diff --git a/src/gui/generic/serverguiwrapper.h b/src/gui/generic/serverguiwrapper.h index 1b869e36..8047a431 100644 --- a/src/gui/generic/serverguiwrapper.h +++ b/src/gui/generic/serverguiwrapper.h @@ -151,6 +151,11 @@ public: void SignalLobbyPlayerKicked(const std::string &nickName, const std::string &byWhom, const std::string &reason); void SignalLobbyPlayerLeft(unsigned playerId); + void SignalSelfGameInvitation(unsigned gameId, unsigned playerIdFrom); + void SignalPlayerGameInvitation(unsigned gameId, unsigned playerIdWho, unsigned playerIdFrom); + void SignalRejectedGameInvitation(unsigned gameId, unsigned playerIdWho, DenyGameInvitationReason reason); + + private: boost::shared_ptr mySession; diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp index 10ea27f9..6ae70cc6 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp @@ -17,11 +17,12 @@ #include "session.h" #include "configfile.h" #include "gamedata.h" +#include "game_defs.h" #include #include "mymessagedialogimpl.h" gameLobbyDialogImpl::gameLobbyDialogImpl(startWindowImpl *parent, ConfigFile *c) - : QDialog(parent), myW(NULL), myStartWindow(parent), myConfig(c), currentGameName(""), myPlayerId(0), myCurrentGameId(0), isGameAdministrator(false), inGame(false), guestMode(false), blinkingButtonAnimationState(true), myChat(NULL), keyUpCounter(0), infoMsgToShowId(0) + : QDialog(parent), myW(NULL), myStartWindow(parent), myConfig(c), currentGameName(""), myPlayerId(0), myCurrentGameId(0), isGameAdministrator(false), inGame(false), guestMode(false), blinkingButtonAnimationState(true), myChat(NULL), keyUpCounter(0), infoMsgToShowId(0), currentInvitationGameId(0) { #ifdef __APPLE__ @@ -1030,7 +1031,7 @@ void gameLobbyDialogImpl::kickPlayer() { void gameLobbyDialogImpl::keyPressEvent ( QKeyEvent * event ) { -// std::cout << "key" << "\n"; +// qDebug() << event->key() << "\n"; if (event->key() == Qt::Key_Enter && lineEdit_ChatInput->hasFocus()) { myChat->sendMessage(); } @@ -1048,7 +1049,7 @@ void gameLobbyDialogImpl::keyPressEvent ( QKeyEvent * event ) { // if (event->key() == Qt::Key_Tab) event->ignore(); else { /*blah*/ } -// if (event->key() == Qt::Key_N) registeredUserMode(); +// if (event->key() == Qt::Key_N) showInvitationDialog(); // if (event->key() == Qt::Key_M) guestUserMode(); } @@ -1323,7 +1324,9 @@ void gameLobbyDialogImpl::showNickListContextMenu(QPoint p) void gameLobbyDialogImpl::invitePlayerToCurrentGame() { - qDebug() << "invitePlayer"; + if(!treeWidget_NickList->selectedItems().isEmpty()) { + mySession->invitePlayerToCurrentGame(treeWidget_NickList->selectedItems().at(0)->data(0, Qt::UserRole).toUInt()); + }\ } void gameLobbyDialogImpl::showInfoMsgBox() @@ -1338,3 +1341,32 @@ void gameLobbyDialogImpl::showInfoMsgBox() break; } } + +void gameLobbyDialogImpl::showInvitationDialog(unsigned gameId, unsigned playerIdFrom) +{ + + myMessageDialogImpl dialog(myConfig, this); + if(dialog.exec(3, tr("You've been invited to the game %1 by %2.
Do you want to join this game?").arg(QString::fromUtf8(mySession->getClientGameInfo(gameId).name.c_str())).arg(QString::fromUtf8(mySession->getClientPlayerInfo(playerIdFrom).playerName.c_str())), tr("PokerTH - Info Message"), QPixmap(":/gfx/list_add_user_64.png"), QDialogButtonBox::Yes|QDialogButtonBox::No, false)) { + + mySession->acceptGameInvitation(currentInvitationGameId); + } + else { + mySession->rejectGameInvitation(currentInvitationGameId, DENY_GAME_INVITATION_NO); + } +} + + +void gameLobbyDialogImpl::chatInfoPlayerInviation(unsigned gameId, unsigned playerIdWho, unsigned playerIdFrom) +{ + textBrowser_ChatDisplay->append(tr("Player %1 has been invited to %2 by %3.").arg(QString::fromUtf8(mySession->getClientPlayerInfo(playerIdFrom).playerName.c_str())).arg(QString::fromUtf8(mySession->getClientGameInfo(gameId).name.c_str())).arg(QString::fromUtf8(mySession->getClientPlayerInfo(playerIdFrom).playerName.c_str()))); +} + +void gameLobbyDialogImpl::chatInfoPlayerRejectedInviation(unsigned gameId, unsigned playerIdWho, DenyGameInvitationReason reason) +{ + QString string; + if(reason == DENY_GAME_INVITATION_NO) string = tr("Player %1 has rejected intivation to %2."); + + if(reason == DENY_GAME_INVITATION_BUSY) string = tr("Player %1 can not join %2 because he is busy."); + + textBrowser_ChatDisplay->append(string.arg(QString::fromUtf8(mySession->getClientPlayerInfo(playerIdWho).playerName.c_str())).arg(QString::fromUtf8(mySession->getClientGameInfo(gameId).name.c_str()))); +} diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h index 643d0ec0..ca61d0a3 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h @@ -105,6 +105,9 @@ public slots: void showNickListContextMenu(QPoint); void invitePlayerToCurrentGame(); void showInfoMsgBox(); + void showInvitationDialog(unsigned gameId, unsigned playerIdFrom); + void chatInfoPlayerInviation(unsigned gameId, unsigned playerIdWho, unsigned playerIdFrom); + void chatInfoPlayerRejectedInviation(unsigned gameId, unsigned playerIdWho, DenyGameInvitationReason reason); private: @@ -137,7 +140,9 @@ private: MyGameListSortFilterProxyModel *myGameListSortFilterProxyModel; QMenu *nickListContextMenu; QAction *nickListInviteAction; + QAction *ignorePlayerAction; int infoMsgToShowId; + int currentInvitationGameId; protected: diff --git a/src/gui/qt/gamelobbydialog/mygamelistsortfilterproxymodel.cpp b/src/gui/qt/gamelobbydialog/mygamelistsortfilterproxymodel.cpp index b23b1463..4942a196 100644 --- a/src/gui/qt/gamelobbydialog/mygamelistsortfilterproxymodel.cpp +++ b/src/gui/qt/gamelobbydialog/mygamelistsortfilterproxymodel.cpp @@ -15,6 +15,8 @@ bool MyGameListSortFilterProxyModel::filterAcceptsRow(int sourceRow, const QMode QModelIndex index3 = sourceModel()->index(sourceRow, 3, sourceParent); QModelIndex index4 = sourceModel()->index(sourceRow, 4, sourceParent); + qDebug() << sourceModel()->data(index1, 16).toString() << sourceModel()->data(index2, 16).toString() << sourceModel()->data(index3, 16).toString() << sourceModel()->data(index4, 16).toString(); + return ((sourceModel()->data(index1, 16).toString().contains(column1RegExp) && sourceModel()->data(index2, 16).toString().contains(column2RegExp) && sourceModel()->data(index3, 16).toString().contains(column3RegExp) diff --git a/src/gui/qt/guiwrapper.cpp b/src/gui/qt/guiwrapper.cpp index efca8db0..a1ce15e8 100644 --- a/src/gui/qt/guiwrapper.cpp +++ b/src/gui/qt/guiwrapper.cpp @@ -185,3 +185,7 @@ void GuiWrapper::SignalIrcServerError(int /*errorCode*/) {/*myStartWindow->signa void GuiWrapper::SignalLobbyPlayerJoined(unsigned playerId, const string &nickName) { myStartWindow->signalLobbyPlayerJoined(playerId, QString::fromUtf8(nickName.c_str())); } void GuiWrapper::SignalLobbyPlayerKicked(const std::string &nickName, const std::string &byWhom, const std::string &reason) { myStartWindow->signalLobbyPlayerKicked(QString::fromUtf8(nickName.c_str()), QString::fromUtf8(byWhom.c_str()), QString::fromUtf8(reason.c_str())); } void GuiWrapper::SignalLobbyPlayerLeft(unsigned playerId) { myStartWindow->signalLobbyPlayerLeft(playerId); } + +void GuiWrapper::SignalSelfGameInvitation(unsigned gameId, unsigned playerIdFrom) { myStartWindow->signalSelfGameInvitation(gameId, playerIdFrom); } +void GuiWrapper::SignalPlayerGameInvitation(unsigned gameId, unsigned playerIdWho, unsigned playerIdFrom) { myStartWindow->signalPlayerGameInvitation(gameId, playerIdWho, playerIdFrom); } +void GuiWrapper::SignalRejectedGameInvitation(unsigned gameId, unsigned playerIdWho, DenyGameInvitationReason reason) { myStartWindow->signalRejectedGameInvitation(gameId, playerIdWho, reason); } diff --git a/src/gui/qt/guiwrapper.h b/src/gui/qt/guiwrapper.h index 80c34505..a1622772 100644 --- a/src/gui/qt/guiwrapper.h +++ b/src/gui/qt/guiwrapper.h @@ -157,6 +157,9 @@ public: void SignalLobbyPlayerKicked(const std::string &nickName, const std::string &byWhom, const std::string &reason); void SignalLobbyPlayerLeft(unsigned playerId); + void SignalSelfGameInvitation(unsigned gameId, unsigned playerIdFrom); + void SignalPlayerGameInvitation(unsigned gameId, unsigned playerIdWho, unsigned playerIdFrom); + void SignalRejectedGameInvitation(unsigned gameId, unsigned playerIdWho, DenyGameInvitationReason reason); private: diff --git a/src/gui/qt/mymessagedialog/mymessagedialogimpl.cpp b/src/gui/qt/mymessagedialog/mymessagedialogimpl.cpp index aac1b089..310604e2 100644 --- a/src/gui/qt/mymessagedialog/mymessagedialogimpl.cpp +++ b/src/gui/qt/mymessagedialog/mymessagedialogimpl.cpp @@ -39,8 +39,11 @@ myMessageDialogImpl::myMessageDialogImpl(ConfigFile *c, QWidget *parent) setupUi(this); } -int myMessageDialogImpl::exec(int messageId, QString msg, QString title, QPixmap pix, QDialogButtonBox::StandardButtons buttons) +int myMessageDialogImpl::exec(int messageId, QString msg, QString title, QPixmap pix, QDialogButtonBox::StandardButtons buttons, bool showCheckBox) { + if(showCheckBox) checkBox->show(); + else checkBox->hide(); + bool show = false; bool found = false; diff --git a/src/gui/qt/mymessagedialog/mymessagedialogimpl.h b/src/gui/qt/mymessagedialog/mymessagedialogimpl.h index 49c93897..f0024b62 100644 --- a/src/gui/qt/mymessagedialog/mymessagedialogimpl.h +++ b/src/gui/qt/mymessagedialog/mymessagedialogimpl.h @@ -33,7 +33,7 @@ public: public slots: bool checkIfMesssageWillBeDisplayed(int id); - int exec(int messageId, QString msg, QString title, QPixmap pix, QDialogButtonBox::StandardButtons buttons); + int exec(int messageId, QString msg, QString title, QPixmap pix, QDialogButtonBox::StandardButtons buttons, bool showCheckBox = false); void accept(); void reject(); void writeConfig(); diff --git a/src/gui/qt/resources/pokerth.qrc b/src/gui/qt/resources/pokerth.qrc index 366a5d51..cb84425c 100644 --- a/src/gui/qt/resources/pokerth.qrc +++ b/src/gui/qt/resources/pokerth.qrc @@ -42,6 +42,8 @@ player_play.png logoChip3D.png ktip.png + system_help_64.png + list_add_user_64.png cflags/ad.png diff --git a/src/gui/qt/resources/system_help_64.png b/src/gui/qt/resources/system_help_64.png new file mode 100644 index 0000000000000000000000000000000000000000..072927c22be04a67e0a3b549dbd5822072b3bd04 GIT binary patch literal 5423 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, this, SLOT(networkStart(boost::shared_ptr))); + + connect(this, SIGNAL(signalSelfGameInvitation(unsigned, unsigned)), myGameLobbyDialog, SLOT(showInvitationDialog(unsigned, unsigned))); + connect(this, SIGNAL(signalPlayerGameInvitation(unsigned, unsigned, unsigned)), myGameLobbyDialog, SLOT(chatInfoPlayerInviation(unsigned, unsigned, unsigned))); + connect(this, SIGNAL(signalRejectedGameInvitation(unsigned, unsigned, DenyGameInvitationReason)), myGameLobbyDialog, SLOT(chatInfoPlayerRejectedInviation(unsigned, unsigned, DenyGameInvitationReason))); this->show(); diff --git a/src/gui/qt/startwindow/startwindowimpl.h b/src/gui/qt/startwindow/startwindowimpl.h index a4ad1aaa..df1b9a73 100644 --- a/src/gui/qt/startwindow/startwindowimpl.h +++ b/src/gui/qt/startwindow/startwindowimpl.h @@ -102,6 +102,10 @@ signals: void signalLobbyPlayerKicked(QString nickName, QString byWhom, QString reason); void signalLobbyPlayerLeft(unsigned playerId); + void signalSelfGameInvitation(unsigned gameId, unsigned playerIdFrom); + void signalPlayerGameInvitation(unsigned gameId, unsigned playerIdWho, unsigned playerIdFrom); + void signalRejectedGameInvitation(unsigned gameId, unsigned playerIdWho, DenyGameInvitationReason reason); + public slots: void callAboutPokerthDialog();