IRC polishing work - kicks are shown, error messages are displayed. Rename somehow buggy still.
This commit is contained in:
@@ -129,5 +129,9 @@ void ServerGuiWrapper::SignalNetServerError(int errorID, int osErrorID) { if (my
|
||||
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::SignalIrcPlayerChanged(const string &oldNick, const string &newNick) { if (myIrccb) myIrccb->SignalIrcPlayerChanged(oldNick, newNick); }
|
||||
void ServerGuiWrapper::SignalIrcPlayerKicked(const string &nickName, const string &byWhom, const string &reason) { if (myIrccb) myIrccb->SignalIrcPlayerKicked(nickName, byWhom, reason); }
|
||||
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); }
|
||||
void ServerGuiWrapper::SignalIrcError(int errorCode) { if (myIrccb) myIrccb->SignalIrcError(errorCode); }
|
||||
void ServerGuiWrapper::SignalIrcServerError(int errorCode) {if (myIrccb) myIrccb->SignalIrcServerError(errorCode); }
|
||||
|
||||
@@ -114,8 +114,12 @@ public:
|
||||
void SignalIrcConnect(const std::string &server);
|
||||
void SignalIrcSelfJoined(const std::string &nickName, const std::string &channel);
|
||||
void SignalIrcPlayerJoined(const std::string &nickName);
|
||||
void SignalIrcPlayerChanged(const std::string &oldNick, const std::string &newNick);
|
||||
void SignalIrcPlayerKicked(const std::string &nickName, const std::string &byWhom, const std::string &reason);
|
||||
void SignalIrcPlayerLeft(const std::string &nickName);
|
||||
void SignalIrcChatMsg(const std::string &nickName, const std::string &msg);
|
||||
void SignalIrcError(int errorCode);
|
||||
void SignalIrcServerError(int errorCode);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -36,12 +36,6 @@ gameLobbyDialogImpl::gameLobbyDialogImpl(QWidget *parent, ConfigFile *c)
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
@@ -40,18 +40,13 @@ public:
|
||||
|
||||
void exec();
|
||||
|
||||
LobbyChat *getLobbyChat() { return myChat; }
|
||||
|
||||
void setSession(Session *session);
|
||||
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();
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
#include "lobbychat.h"
|
||||
#define IN_INCLUDE_LIBIRC_H
|
||||
#include <core/libircclient/include/libirc_rfcnumeric.h>
|
||||
#include <net/socket_msg.h>
|
||||
|
||||
#include "gamelobbydialogimpl.h"
|
||||
#include "session.h"
|
||||
@@ -71,6 +74,29 @@ void LobbyChat::playerJoined(QString playerName)
|
||||
myLobby->treeWidget_NickList->sortItems(0, Qt::AscendingOrder);
|
||||
}
|
||||
|
||||
void LobbyChat::playerChanged(QString oldNick, QString newNick)
|
||||
{
|
||||
QList<QTreeWidgetItem *> tmpList(myLobby->treeWidget_NickList->findItems(oldNick, Qt::MatchExactly));
|
||||
if (!tmpList.empty())
|
||||
tmpList.front()->setData(0, Qt::DisplayRole, newNick);
|
||||
|
||||
if (myNick == oldNick)
|
||||
myNick = newNick;
|
||||
}
|
||||
|
||||
void LobbyChat::playerKicked(QString nickName, QString byWhom, QString reason)
|
||||
{
|
||||
if (myNick == nickName)
|
||||
{
|
||||
myLobby->accept();
|
||||
QMessageBox::warning(myLobby, tr("Network Notification"),
|
||||
tr("You were kicked from the server."),
|
||||
QMessageBox::Close);
|
||||
}
|
||||
else
|
||||
myLobby->textBrowser_ChatDisplay->append(nickName + " " + tr("was kicked from the server by") + " " + byWhom + " (" + reason + ")");
|
||||
}
|
||||
|
||||
void LobbyChat::playerLeft(QString playerName)
|
||||
{
|
||||
QList<QTreeWidgetItem *> tmpList(myLobby->treeWidget_NickList->findItems(playerName, Qt::MatchExactly));
|
||||
@@ -106,3 +132,92 @@ void LobbyChat::clearChat() {
|
||||
// // lineEdit_ChatInput->setCompleter(completer);
|
||||
|
||||
}
|
||||
|
||||
void LobbyChat::chatError(int errorCode)
|
||||
{
|
||||
QString errorMsg;
|
||||
switch (errorCode)
|
||||
{
|
||||
case ERR_IRC_INTERNAL :
|
||||
case ERR_IRC_SELECT_FAILED :
|
||||
case ERR_IRC_RECV_FAILED :
|
||||
case ERR_IRC_SEND_FAILED :
|
||||
case ERR_IRC_INVALID_PARAM :
|
||||
errorMsg = tr("An internal IRC error has occured:") + " " + QString::number(errorCode);
|
||||
break;
|
||||
case ERR_IRC_CONNECT_FAILED :
|
||||
errorMsg = tr("Could not connect to the IRC server. Chat will be unavailable.");
|
||||
break;
|
||||
case ERR_IRC_TERMINATED :
|
||||
errorMsg = tr("The IRC server terminated the connection. Chat will be unavailable.");
|
||||
break;
|
||||
case ERR_IRC_TIMEOUT :
|
||||
errorMsg = tr("An IRC action timed out.");
|
||||
break;
|
||||
}
|
||||
if (errorMsg.size())
|
||||
myLobby->textBrowser_ChatDisplay->append(errorMsg);
|
||||
}
|
||||
|
||||
void LobbyChat::chatServerError(int errorCode)
|
||||
{
|
||||
QString errorMsg;
|
||||
switch (errorCode)
|
||||
{
|
||||
case LIBIRC_RFC_ERR_NOSUCHNICK :
|
||||
case LIBIRC_RFC_ERR_NOSUCHCHANNEL :
|
||||
case LIBIRC_RFC_ERR_CANNOTSENDTOCHAN :
|
||||
case LIBIRC_RFC_ERR_TOOMANYCHANNELS :
|
||||
case LIBIRC_RFC_ERR_WASNOSUCHNICK :
|
||||
case LIBIRC_RFC_ERR_TOOMANYTARGETS :
|
||||
case LIBIRC_RFC_ERR_NOSUCHSERVICE :
|
||||
case LIBIRC_RFC_ERR_NOORIGIN :
|
||||
case LIBIRC_RFC_ERR_NORECIPIENT :
|
||||
case LIBIRC_RFC_ERR_NOTEXTTOSEND :
|
||||
case LIBIRC_RFC_ERR_NOTOPLEVEL :
|
||||
case LIBIRC_RFC_ERR_WILDTOPLEVEL :
|
||||
case LIBIRC_RFC_ERR_BADMASK :
|
||||
case LIBIRC_RFC_ERR_UNKNOWNCOMMAND :
|
||||
case LIBIRC_RFC_ERR_NOMOTD :
|
||||
case LIBIRC_RFC_ERR_NOADMININFO :
|
||||
case LIBIRC_RFC_ERR_FILEERROR :
|
||||
case LIBIRC_RFC_ERR_NONICKNAMEGIVEN :
|
||||
case LIBIRC_RFC_ERR_ERRONEUSNICKNAME :
|
||||
case LIBIRC_RFC_ERR_UNAVAILRESOURCE :
|
||||
case LIBIRC_RFC_ERR_USERNOTINCHANNEL :
|
||||
case LIBIRC_RFC_ERR_NOTONCHANNEL :
|
||||
case LIBIRC_RFC_ERR_USERONCHANNEL :
|
||||
case LIBIRC_RFC_ERR_NOLOGIN :
|
||||
case LIBIRC_RFC_ERR_SUMMONDISABLED :
|
||||
case LIBIRC_RFC_ERR_USERSDISABLED :
|
||||
case LIBIRC_RFC_ERR_NOTREGISTERED :
|
||||
case LIBIRC_RFC_ERR_NEEDMOREPARAMS :
|
||||
case LIBIRC_RFC_ERR_ALREADYREGISTRED :
|
||||
case LIBIRC_RFC_ERR_NOPERMFORHOST :
|
||||
case LIBIRC_RFC_ERR_PASSWDMISMATCH :
|
||||
case LIBIRC_RFC_ERR_YOUREBANNEDCREEP :
|
||||
case LIBIRC_RFC_ERR_YOUWILLBEBANNED :
|
||||
case LIBIRC_RFC_ERR_KEYSET :
|
||||
case LIBIRC_RFC_ERR_CHANNELISFULL :
|
||||
case LIBIRC_RFC_ERR_UNKNOWNMODE :
|
||||
case LIBIRC_RFC_ERR_INVITEONLYCHAN :
|
||||
case LIBIRC_RFC_ERR_BANNEDFROMCHAN :
|
||||
case LIBIRC_RFC_ERR_BADCHANNELKEY :
|
||||
case LIBIRC_RFC_ERR_BADCHANMASK :
|
||||
case LIBIRC_RFC_ERR_NOCHANMODES :
|
||||
case LIBIRC_RFC_ERR_BANLISTFULL :
|
||||
case LIBIRC_RFC_ERR_NOPRIVILEGES :
|
||||
case LIBIRC_RFC_ERR_CHANOPRIVSNEEDED :
|
||||
case LIBIRC_RFC_ERR_CANTKILLSERVER :
|
||||
case LIBIRC_RFC_ERR_RESTRICTED :
|
||||
case LIBIRC_RFC_ERR_UNIQOPPRIVSNEEDED :
|
||||
case LIBIRC_RFC_ERR_NOOPERHOST :
|
||||
case LIBIRC_RFC_ERR_UMODEUNKNOWNFLAG :
|
||||
case LIBIRC_RFC_ERR_USERSDONTMATCH :
|
||||
errorMsg = tr("The IRC server reported an error:") + " " + QString::number(errorCode);
|
||||
break;
|
||||
}
|
||||
// if (errorMsg.size())
|
||||
// myLobby->textBrowser_ChatDisplay->append(errorMsg);
|
||||
}
|
||||
|
||||
|
||||
@@ -41,11 +41,16 @@ public slots:
|
||||
void connected(QString server);
|
||||
void selfJoined(QString ownName, QString channel);
|
||||
void playerJoined(QString playerName);
|
||||
void playerChanged(QString oldNick, QString newNick);
|
||||
void playerKicked(QString nickName, QString byWhom, QString reason);
|
||||
void playerLeft(QString playerName);
|
||||
void displayMessage(QString playerName, QString msg);
|
||||
void checkInputLength(QString);
|
||||
void clearChat();
|
||||
|
||||
|
||||
void chatError(int errorCode);
|
||||
void chatServerError(int errorCode);
|
||||
|
||||
private:
|
||||
gameLobbyDialogImpl *myLobby;
|
||||
|
||||
|
||||
@@ -142,7 +142,11 @@ void GuiWrapper::SignalNetServerError(int errorID, int osErrorID) { myW->signalN
|
||||
|
||||
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::SignalIrcPlayerJoined(const string &nickName) { myW->signalIrcPlayerJoined(QString::fromUtf8(nickName.c_str())); }
|
||||
void GuiWrapper::SignalIrcPlayerChanged(const string &oldNick, const string &newNick) { myW->signalIrcPlayerChanged(QString::fromUtf8(oldNick.c_str()), QString::fromUtf8(newNick.c_str())); }
|
||||
void GuiWrapper::SignalIrcPlayerKicked(const std::string &nickName, const std::string &byWhom, const std::string &reason) { myW->signalIrcPlayerKicked(QString::fromUtf8(nickName.c_str()), QString::fromUtf8(byWhom.c_str()), QString::fromUtf8(reason.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())); }
|
||||
void GuiWrapper::SignalIrcError(int errorCode) { myW->signalIrcError(errorCode); }
|
||||
void GuiWrapper::SignalIrcServerError(int errorCode) {myW->signalIrcServerError(errorCode); }
|
||||
|
||||
|
||||
@@ -122,8 +122,12 @@ public:
|
||||
void SignalIrcConnect(const std::string &server);
|
||||
void SignalIrcSelfJoined(const std::string &nickName, const std::string &channel);
|
||||
void SignalIrcPlayerJoined(const std::string &nickName);
|
||||
void SignalIrcPlayerChanged(const std::string &oldNick, const std::string &newNick);
|
||||
void SignalIrcPlayerKicked(const std::string &nickName, const std::string &byWhom, const std::string &reason);
|
||||
void SignalIrcPlayerLeft(const std::string &nickName);
|
||||
void SignalIrcChatMsg(const std::string &nickName, const std::string &msg);
|
||||
void SignalIrcError(int errorCode);
|
||||
void SignalIrcServerError(int errorCode);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "changehumanplayernamedialogimpl.h"
|
||||
#include "changecompleteblindsdialogimpl.h"
|
||||
#include "gamelobbydialogimpl.h"
|
||||
#include "lobbychat.h"
|
||||
|
||||
#include "startsplash.h"
|
||||
#include "mycardspixmaplabel.h"
|
||||
@@ -678,11 +679,15 @@ 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(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)));
|
||||
connect(this, SIGNAL(signalIrcConnect(QString)), myGameLobbyDialog->getLobbyChat(), SLOT(connected(QString)));
|
||||
connect(this, SIGNAL(signalIrcSelfJoined(QString, QString)), myGameLobbyDialog->getLobbyChat(), SLOT(selfJoined(QString, QString)));
|
||||
connect(this, SIGNAL(signalIrcPlayerJoined(QString)), myGameLobbyDialog->getLobbyChat(), SLOT(playerJoined(QString)));
|
||||
connect(this, SIGNAL(signalIrcPlayerChanged(QString, QString)), myGameLobbyDialog->getLobbyChat(), SLOT(playerChanged(QString, QString)));
|
||||
connect(this, SIGNAL(signalIrcPlayerKicked(QString, QString, QString)), myGameLobbyDialog->getLobbyChat(), SLOT(playerKicked(QString, QString, QString)));
|
||||
connect(this, SIGNAL(signalIrcPlayerLeft(QString)), myGameLobbyDialog->getLobbyChat(), SLOT(playerLeft(QString)));
|
||||
connect(this, SIGNAL(signalIrcChatMessage(QString, QString)), myGameLobbyDialog->getLobbyChat(), SLOT(displayMessage(QString, QString)));
|
||||
connect(this, SIGNAL(signalIrcError(int)), myGameLobbyDialog->getLobbyChat(), SLOT(chatError(int)));
|
||||
connect(this, SIGNAL(signalIrcServerError(int)), myGameLobbyDialog->getLobbyChat(), SLOT(chatServerError(int)));
|
||||
|
||||
//Sound
|
||||
mySDLPlayer = new SDLPlayer(myConfig);
|
||||
|
||||
@@ -142,8 +142,12 @@ signals:
|
||||
void signalIrcConnect(QString server);
|
||||
void signalIrcSelfJoined(QString nickName, QString channel);
|
||||
void signalIrcPlayerJoined(QString nickName);
|
||||
void signalIrcPlayerChanged(QString oldNick, QString newNick);
|
||||
void signalIrcPlayerKicked(QString nickName, QString byWhom, QString reason);
|
||||
void signalIrcPlayerLeft(QString nickName);
|
||||
void signalIrcChatMessage(QString nickName, QString msg);
|
||||
void signalIrcError(int errorCode);
|
||||
void signalIrcServerError(int errorCode);
|
||||
|
||||
public slots:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user