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:
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user