Update of /home/kde/kdegames/atlantik/client In directory office:/tmp/cvs-serv7491/client Modified Files: Tag: atlantik_3_3_branch atlantik.cpp selectgame_widget.cpp selectgame_widget.h Log Message: update join game message when player name changes Index: atlantik.cpp =================================================================== RCS file: /home/kde/kdegames/atlantik/client/atlantik.cpp,v retrieving revision 1.157.2.7 retrieving revision 1.157.2.8 diff -u -d -r1.157.2.7 -r1.157.2.8 --- atlantik.cpp 8 Dec 2003 21:55:36 -0000 1.157.2.7 +++ atlantik.cpp 9 Dec 2003 02:21:19 -0000 1.157.2.8 @@ -428,7 +428,8 @@ showSelectServer(); break; default: - slotMsgStatus( i18n("Disconnected from %1:%2.").arg(m_atlantikNetwork->host()).arg(m_atlantikNetwork->port()), QString("connect_no") ); + if ( !m_atlantikNetwork->host().isEmpty() ) + slotMsgStatus( i18n("Disconnected from %1:%2.").arg(m_atlantikNetwork->host()).arg(m_atlantikNetwork->port()), QString("connect_no") ); break; } } Index: selectgame_widget.cpp =================================================================== RCS file: /home/kde/kdegames/atlantik/client/selectgame_widget.cpp,v retrieving revision 1.28.2.4 retrieving revision 1.28.2.5 diff -u -d -r1.28.2.4 -r1.28.2.5 --- selectgame_widget.cpp 8 Dec 2003 18:24:26 -0000 1.28.2.4 +++ selectgame_widget.cpp 9 Dec 2003 02:21:19 -0000 1.28.2.5 @@ -85,11 +85,14 @@ } else { - QListViewItem *item = new QListViewItem( m_gameList, i18n("Join %1's %2 Game").arg( (game->master() ? game->master()->name() : QString::null), game->name() ), game->description(), QString::number(game->id()), QString::number(game->players()), game->type() ); + Player *master = game->master(); + QListViewItem *item = new QListViewItem( m_gameList, i18n("Join %1's %2 Game").arg( (master ? master->name() : QString::null), game->name() ), game->description(), QString::number(game->id()), QString::number(game->players()), game->type() ); item->setPixmap( 0, QPixmap(SmallIcon("atlantik")) ); item->setEnabled(game->canBeJoined()); KNotifyClient::event(this->winId(), "newgame"); + + connect(master, SIGNAL(changed(Player *)), this, SLOT(playerChanged(Player *))); } // validateConnectButton(); @@ -118,13 +121,33 @@ item->setText(0, i18n("Create a new %1 Game").arg(game->name())); else { - item->setText( 0, i18n("Join %1's %2 Game").arg( (game->master() ? game->master()->name() : QString::null), game->name() ) ); + Player *master = game->master(); + item->setText( 0, i18n("Join %1's %2 Game").arg( (master ? master->name() : QString::null), game->name() ) ); item->setText( 3, QString::number( game->players() ) ); item->setEnabled( game->canBeJoined() ); + + connect(master, SIGNAL(changed(Player *)), this, SLOT(playerChanged(Player *))); } m_gameList->triggerUpdate(); validateConnectButton(); +} + +void SelectGame::playerChanged(Player *player) +{ + QListViewItem *item = m_gameList->firstChild(); + Game *game = 0; + + while (item) + { + game = m_atlanticCore->findGame( item->text(2).toInt() ); + if ( game && game->master() == player ) + { + item->setText( 0, i18n("Join %1's %2 Game").arg( player->name(), game->name() ) ); + return; + } + item = item->nextSibling(); + } } QListViewItem *SelectGame::findItem(Game *game) Index: selectgame_widget.h =================================================================== RCS file: /home/kde/kdegames/atlantik/client/selectgame_widget.h,v retrieving revision 1.16.2.2 retrieving revision 1.16.2.3 diff -u -d -r1.16.2.2 -r1.16.2.3 --- selectgame_widget.h 15 Nov 2003 22:09:06 -0000 1.16.2.2 +++ selectgame_widget.h 9 Dec 2003 02:21:19 -0000 1.16.2.3 @@ -1,4 +1,4 @@ - +// Copyright (c) 2002-2003 Rob Kaper // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -24,6 +24,8 @@ #include class AtlanticCore; +class Game; +class Player; class SelectGame : public QWidget { @@ -42,6 +44,7 @@ void addGame(Game *game); void delGame(Game *game); void updateGame(Game *game); + void playerChanged(Player *player); void validateConnectButton(); signals: _______________________________________________ atlantik-cvs mailing list atlantik-cvs@kde.org https://mail.kde.org/mailman/listinfo/atlantik-cvs