Additional irc stuff - list of nicks, leaving/joining players. Not complete yet, renames are missing, as well as special stuff like being kicked.

This commit is contained in:
lotodore
2007-09-27 20:59:00 +00:00
parent a40b6dba5d
commit eb62635e02
14 changed files with 196 additions and 33 deletions
+4
View File
@@ -125,4 +125,8 @@ void ServerGuiWrapper::SignalNetClientWaitDialog() { if (myClientcb) myClientcb-
void ServerGuiWrapper::SignalNetServerSuccess(int actionID) { if (myServercb) myServercb->SignalNetServerSuccess(actionID); }
void ServerGuiWrapper::SignalNetServerError(int errorID, int osErrorID) { if (myServercb) myServercb->SignalNetServerError(errorID, osErrorID); }
void ServerGuiWrapper::SignalIrcConnect(const string &server) { if (myIrccb) myIrccb->SignalIrcConnect(server); }
void ServerGuiWrapper::SignalIrcSelfJoined(const string &nickName, const std::string &channel) { if (myIrccb) myIrccb->SignalIrcSelfJoined(nickName, channel); }
void ServerGuiWrapper::SignalIrcPlayerJoined(const string &nickName) { if (myIrccb) myIrccb->SignalIrcPlayerJoined(nickName); }
void ServerGuiWrapper::SignalIrcPlayerLeft(const string &nickName) { if (myIrccb) myIrccb->SignalIrcPlayerLeft(nickName); }
void ServerGuiWrapper::SignalIrcChatMsg(const string &nickName, const string &msg) { if (myIrccb) myIrccb->SignalIrcChatMsg(nickName, msg); }
+4
View File
@@ -110,6 +110,10 @@ public:
void SignalNetServerSuccess(int actionID);
void SignalNetServerError(int errorID, int osErrorID);
void SignalIrcConnect(const std::string &server);
void SignalIrcSelfJoined(const std::string &nickName, const std::string &channel);
void SignalIrcPlayerJoined(const std::string &nickName);
void SignalIrcPlayerLeft(const std::string &nickName);
void SignalIrcChatMsg(const std::string &nickName, const std::string &msg);
private:
@@ -33,7 +33,13 @@ gameLobbyDialogImpl::gameLobbyDialogImpl(QWidget *parent, ConfigFile *c)
connect( treeWidget_connectedPlayers, SIGNAL( currentItemChanged ( QTreeWidgetItem*, QTreeWidgetItem*) ), this, SLOT( playerSelected(QTreeWidgetItem*, QTreeWidgetItem*) ) );
connect( lineEdit_ChatInput, SIGNAL( returnPressed () ), this, SLOT( sendChatMessage() ) );
connect( lineEdit_ChatInput, SIGNAL( textChanged (QString) ), this, SLOT( checkChatInputLength(QString) ) );
connect( this, SIGNAL( signalChatConnect(QString) ), myChat, SLOT( connected (QString) ) );
connect( this, SIGNAL( signalChatSelfJoined(QString, QString) ), myChat, SLOT( selfJoined (QString, QString) ) );
connect( this, SIGNAL( signalChatPlayerJoined (QString) ), myChat, SLOT( playerJoined (QString) ) );
connect( this, SIGNAL( signalChatPlayerLeft (QString) ), myChat, SLOT( playerLeft (QString) ) );
connect( this, SIGNAL( signalChatMessage (QString, QString) ), myChat, SLOT( displayMessage (QString, QString) ) );
clearDialog();
}
@@ -75,7 +81,7 @@ void gameLobbyDialogImpl::createGame()
gameData.startMoney = myCreateInternetGameDialog->spinBox_startCash->value();
gameData.smallBlind = myCreateInternetGameDialog->getChangeCompleteBlindsDialog()->spinBox_firstSmallBlind->value();
gameData.handsBeforeRaise = myCreateInternetGameDialog->getChangeCompleteBlindsDialog()->spinBox_raiseSmallBlindEveryHands->value();
gameData.guiSpeed = myCreateInternetGameDialog->spinBox_gameSpeed->value();
gameData.guiSpeed = myCreateInternetGameDialog->spinBox_gameSpeed->value();
gameData.guiSpeed = myCreateInternetGameDialog->spinBox_gameSpeed->value();
gameData.playerActionTimeoutSec = myCreateInternetGameDialog->spinBox_netTimeOutPlayerAction->value();
@@ -267,6 +273,7 @@ void gameLobbyDialogImpl::clearDialog()
pushButton_CreateGame->clearFocus();
lineEdit_ChatInput->setFocus();
myChat->clearChat();
}
void gameLobbyDialogImpl::checkPlayerQuantity() {
@@ -391,7 +398,6 @@ void gameLobbyDialogImpl::kickPlayer() {
}
void gameLobbyDialogImpl::sendChatMessage() { myChat->sendMessage(); }
void gameLobbyDialogImpl::displayChatMessage(QString nickName, QString msg) { myChat->receiveMessage(nickName, msg); }
void gameLobbyDialogImpl::checkChatInputLength(QString string) { myChat->checkInputLength(string); }
void gameLobbyDialogImpl::keyPressEvent ( QKeyEvent * event ) {
@@ -44,7 +44,14 @@ public:
Session& getSession() { return *mySession; }
void setMyW ( mainWindowImpl* theValue ) { myW = theValue; }
signals:
void signalChatConnect(QString server);
void signalChatSelfJoined(QString nickName, QString channel);
void signalChatPlayerJoined(QString nickName);
void signalChatPlayerLeft(QString nickName);
void signalChatMessage(QString nickName, QString msg);
public slots:
void createGame();
@@ -79,7 +86,6 @@ public slots:
void clearDialog();
void sendChatMessage();
void displayChatMessage(QString nickName, QString msg);
void checkChatInputLength(QString string);
void keyPressEvent(QKeyEvent * event);
@@ -27,8 +27,6 @@ using namespace std;
LobbyChat::LobbyChat(gameLobbyDialogImpl* l) : myLobby(l)
{
connect(this, SIGNAL(signalChatMessage(QString, QString)), this, SLOT(receiveMessage(QString, QString)));
}
LobbyChat::~LobbyChat()
@@ -38,15 +36,48 @@ LobbyChat::~LobbyChat()
void LobbyChat::sendMessage() {
QString tmpMsg(myLobby->lineEdit_ChatInput->text());
myLobby->getSession().sendIrcChatMessage(tmpMsg.toUtf8().constData());
myLobby->lineEdit_ChatInput->setText("");
if (myNick.size())
{
QString tmpMsg(myLobby->lineEdit_ChatInput->text());
if (tmpMsg.size())
{
myLobby->getSession().sendIrcChatMessage(tmpMsg.toUtf8().constData());
myLobby->lineEdit_ChatInput->setText("");
// TODO: just temporary instead of callback
receiveMessage("(me)", tmpMsg);
displayMessage(myNick, tmpMsg);
}
}
}
void LobbyChat::receiveMessage(QString playerName, QString message) {
void LobbyChat::connected(QString server)
{
myLobby->textBrowser_ChatDisplay->append(tr("Successfully connected to") + " " + server + ".");
}
void LobbyChat::selfJoined(QString ownName, QString channel)
{
myNick = ownName;
myLobby->textBrowser_ChatDisplay->append(tr("Joined channel:") + " " + channel + " " + tr("as user") + " " + ownName + ".");
myLobby->textBrowser_ChatDisplay->append("");
playerJoined(ownName);
myLobby->lineEdit_ChatInput->setEnabled(true);
myLobby->lineEdit_ChatInput->setFocus();
}
void LobbyChat::playerJoined(QString playerName)
{
QTreeWidgetItem *item = new QTreeWidgetItem(myLobby->treeWidget_NickList, 0);
item->setData(0, Qt::DisplayRole, playerName);
}
void LobbyChat::playerLeft(QString playerName)
{
QList<QTreeWidgetItem *> tmpList(myLobby->treeWidget_NickList->findItems(playerName, Qt::MatchExactly));
if (!tmpList.empty())
myLobby->treeWidget_NickList->takeTopLevelItem(myLobby->treeWidget_NickList->indexOfTopLevelItem(tmpList.front()));
}
void LobbyChat::displayMessage(QString playerName, QString message) {
myLobby->textBrowser_ChatDisplay->append(playerName + ": " + message);
}
@@ -58,7 +89,11 @@ void LobbyChat::checkInputLength(QString string) {
void LobbyChat::clearChat() {
myNick = "";
myLobby->treeWidget_NickList->clear();
myLobby->textBrowser_ChatDisplay->clear();
myLobby->textBrowser_ChatDisplay->append(tr("Connecting to IRC server..."));
myLobby->lineEdit_ChatInput->setEnabled(false);
/* QStringList wordList;
wordList << "alpha" << "omega" << "omicron" << "zeta";*/
@@ -35,19 +35,21 @@ public:
~LobbyChat();
signals:
void signalChatMessage(QString playerName, QString msg);
public slots:
void sendMessage();
void receiveMessage(QString playerName, QString msg);
void connected(QString server);
void selfJoined(QString ownName, QString channel);
void playerJoined(QString playerName);
void playerLeft(QString playerName);
void displayMessage(QString playerName, QString msg);
void checkInputLength(QString);
void clearChat();
private:
gameLobbyDialogImpl *myLobby;
QString myNick;
// friend class GuiWrapper;
};
+4
View File
@@ -139,5 +139,9 @@ void GuiWrapper::SignalNetClientWaitDialog() { myW->signalShowNetworkStartDialog
void GuiWrapper::SignalNetServerSuccess(int actionID) { }
void GuiWrapper::SignalNetServerError(int errorID, int osErrorID) { myW->signalNetServerError(errorID, osErrorID); }
void GuiWrapper::SignalIrcConnect(const string &server) { myW->signalIrcConnect(QString::fromUtf8(server.c_str())); }
void GuiWrapper::SignalIrcSelfJoined(const string &nickName, const string &channel) { myW->signalIrcSelfJoined(QString::fromUtf8(nickName.c_str()), QString::fromUtf8(channel.c_str())); }
void GuiWrapper::SignalIrcPlayerJoined(const std::string &nickName) { myW->signalIrcPlayerJoined(QString::fromUtf8(nickName.c_str())); }
void GuiWrapper::SignalIrcPlayerLeft(const std::string &nickName) { myW->signalIrcPlayerLeft(QString::fromUtf8(nickName.c_str())); }
void GuiWrapper::SignalIrcChatMsg(const std::string &nickName, const std::string &msg) { myW->signalIrcChatMessage(QString::fromUtf8(nickName.c_str()), QString::fromUtf8(msg.c_str())); }
+4
View File
@@ -118,6 +118,10 @@ public:
void SignalNetServerSuccess(int actionID);
void SignalNetServerError(int errorID, int osErrorID);
void SignalIrcConnect(const std::string &server);
void SignalIrcSelfJoined(const std::string &nickName, const std::string &channel);
void SignalIrcPlayerJoined(const std::string &nickName);
void SignalIrcPlayerLeft(const std::string &nickName);
void SignalIrcChatMsg(const std::string &nickName, const std::string &msg);
private:
+5 -1
View File
@@ -677,7 +677,11 @@ mainWindowImpl::mainWindowImpl(ConfigFile *c, QMainWindow *parent)
connect(this, SIGNAL(signalNetServerError(int, int)), this, SLOT(networkError(int, int)));
connect(this, SIGNAL(signalNetClientGameStart(boost::shared_ptr<Game>)), this, SLOT(networkStart(boost::shared_ptr<Game>)));
connect(this, SIGNAL(signalIrcChatMessage(QString, QString)), myGameLobbyDialog, SLOT(displayChatMessage(QString, QString)));
connect(this, SIGNAL(signalIrcConnect(QString)), myGameLobbyDialog, SIGNAL(signalChatConnect(QString)));
connect(this, SIGNAL(signalIrcSelfJoined(QString, QString)), myGameLobbyDialog, SIGNAL(signalChatSelfJoined(QString, QString)));
connect(this, SIGNAL(signalIrcPlayerJoined(QString)), myGameLobbyDialog, SIGNAL(signalChatPlayerJoined(QString)));
connect(this, SIGNAL(signalIrcPlayerLeft(QString)), myGameLobbyDialog, SIGNAL(signalChatPlayerLeft(QString)));
connect(this, SIGNAL(signalIrcChatMessage(QString, QString)), myGameLobbyDialog, SIGNAL(signalChatMessage(QString, QString)));
//Sound
mySDLPlayer = new SDLPlayer(myConfig);
+4
View File
@@ -138,6 +138,10 @@ signals:
void signalNetClientGameListPlayerLeft(unsigned gameId, unsigned playerId);
void signalNetClientGameStart(boost::shared_ptr<Game> game);
void signalIrcConnect(QString server);
void signalIrcSelfJoined(QString nickName, QString channel);
void signalIrcPlayerJoined(QString nickName);
void signalIrcPlayerLeft(QString nickName);
void signalIrcChatMessage(QString nickName, QString msg);
public slots: