# HG changeset patch # User unc0rr # Date 1224853253 0 # Node ID ee4b28a1861dfc2b8ab954a01844314c6e43f1bd # Parent 2b6b6809c2e418f0190c5d01be30a936525db728 Show players ready status in chat nick list diff -r 2b6b6809c2e4 -r ee4b28a1861d QTfrontend/chatwidget.cpp --- a/QTfrontend/chatwidget.cpp Fri Oct 24 12:57:06 2008 +0000 +++ b/QTfrontend/chatwidget.cpp Fri Oct 24 13:00:53 2008 +0000 @@ -96,3 +96,18 @@ if (curritem) emit kick(curritem->text()); } + +void HWChatWidget::setReadyStatus(const QString & nick, bool isReady) +{ + QList items = chatNicks->findItems(nick, Qt::MatchExactly); + if (items.size() != 1) + { + qWarning("Bug: cannot find user in chat"); + return; + } + + if(isReady) + items[0]->setIcon(QIcon(":/res/checked.png")); + else + items[0]->setIcon(QIcon(":/res/unchecked.png")); +} diff -r 2b6b6809c2e4 -r ee4b28a1861d QTfrontend/chatwidget.h --- a/QTfrontend/chatwidget.h Fri Oct 24 12:57:06 2008 +0000 +++ b/QTfrontend/chatwidget.h Fri Oct 24 13:00:53 2008 +0000 @@ -38,6 +38,7 @@ void nickAdded(const QString& nick); void nickRemoved(const QString& nick); void clear(); + void setReadyStatus(const QString & nick, bool isReady); signals: void chatLine(const QString& str); diff -r 2b6b6809c2e4 -r ee4b28a1861d QTfrontend/hwform.cpp --- a/QTfrontend/hwform.cpp Fri Oct 24 12:57:06 2008 +0000 +++ b/QTfrontend/hwform.cpp Fri Oct 24 13:00:53 2008 +0000 @@ -440,6 +440,8 @@ connect(hwnet, SIGNAL(chatStringFromNet(const QString&)), ui.pageNetGame->pChatWidget, SLOT(onChatString(const QString&))); + connect(hwnet, SIGNAL(setReadyStatus(const QString &, bool)), + ui.pageNetGame->pChatWidget, SLOT(setReadyStatus(const QString &, bool))); connect(hwnet, SIGNAL(chatStringFromMe(const QString&)), ui.pageNetGame->pChatWidget, SLOT(onChatString(const QString&))); connect(ui.pageNetGame->pChatWidget, SIGNAL(chatLine(const QString&)), diff -r 2b6b6809c2e4 -r ee4b28a1861d QTfrontend/newnetclient.cpp --- a/QTfrontend/newnetclient.cpp Fri Oct 24 12:57:06 2008 +0000 +++ b/QTfrontend/newnetclient.cpp Fri Oct 24 13:00:53 2008 +0000 @@ -253,6 +253,25 @@ return; } + if (lst[0] == "READY") { + if(lst.size() != 2) + { + qWarning("Net: Malformed READY message"); + return; + } + emit setReadyStatus(lst[1], true); + return; + } + if (lst[0] == "NOT_READY") { + if(lst.size() != 2) + { + qWarning("Net: Malformed NOT_READY message"); + return; + } + emit setReadyStatus(lst[1], false); + return; + } + if (lst[0] == "ADD_TEAM") { if(lst.size() != 21) { diff -r 2b6b6809c2e4 -r ee4b28a1861d QTfrontend/newnetclient.h --- a/QTfrontend/newnetclient.h Fri Oct 24 12:57:06 2008 +0000 +++ b/QTfrontend/newnetclient.h Fri Oct 24 13:00:53 2008 +0000 @@ -111,6 +111,8 @@ void roomsList(const QStringList&); void serverMessage(const QString &); + void setReadyStatus(const QString & nick, bool isReady); + public slots: void ToggleReady(); void chatLineToNet(const QString& str);