# HG changeset patch # User displacer # Date 1168701203 0 # Node ID e7175ae57945de536be1ff672b0935f5fcdf04e9 # Parent 1148eeb0557e3a2a2a69ac6b48c3c20b833f778d first new widgets added to net game diff -r 1148eeb0557e -r e7175ae57945 QTfrontend/hwform.cpp --- a/QTfrontend/hwform.cpp Fri Jan 12 16:04:45 2007 +0000 +++ b/QTfrontend/hwform.cpp Sat Jan 13 15:13:23 2007 +0000 @@ -77,7 +77,7 @@ connect(ui.pageNet->BtnNetSvrStart, SIGNAL(clicked()), this, SLOT(NetStartServer())); connect(ui.pageNetGame->BtnBack, SIGNAL(clicked()), this, SLOT(GoBack())); - connect(ui.pageNetGame->BtnAddTeam, SIGNAL(clicked()), this, SLOT(NetAddTeam())); + connect(ui.pageNetGame->pNetTeamsWidget, SIGNAL(teamWillPlay(HWTeam)), this, SLOT(NetAddTeam(HWTeam))); connect(ui.pageNetGame->BtnGo, SIGNAL(clicked()), this, SLOT(NetStartGame())); connect(ui.pageNetChat->BtnDisconnect, SIGNAL(clicked()), this, SLOT(NetDisconnect())); @@ -156,15 +156,18 @@ void HWForm::OnPageShown(quint8 id) { - if (id == ID_PAGE_MULTIPLAYER) { + if (id == ID_PAGE_MULTIPLAYER || id == ID_PAGE_NETCFG) { QStringList tmNames=config->GetTeamsList(); + TeamSelWidget* curTeamSelWidget; + id == ID_PAGE_MULTIPLAYER ? curTeamSelWidget=ui.pageMultiplayer->teamsSelect : + curTeamSelWidget=ui.pageNetGame->pNetTeamsWidget; QList teamsList; for(QStringList::iterator it=tmNames.begin(); it!=tmNames.end(); it++) { HWTeam team(*it); team.LoadFromFile(); teamsList.push_back(team); } - ui.pageMultiplayer->teamsSelect->resetPlayingTeams(teamsList); + curTeamSelWidget->resetPlayingTeams(teamsList); } } @@ -236,7 +239,6 @@ void HWForm::_NetConnect(const QString & hostName, quint16 port, const QString & nick) { hwnet = new HWNewNet(config); - connect(hwnet, SIGNAL(Connected()), this, SLOT(GoToNetChat())); connect(hwnet, SIGNAL(AddGame(const QString &)), this, SLOT(AddGame(const QString &))); connect(hwnet, SIGNAL(EnteredGame()), this, SLOT(NetGameEnter())); connect(hwnet, SIGNAL(ChangeInTeams(const QStringList &)), this, SLOT(ChangeInNetTeams(const QStringList &))); @@ -289,11 +291,9 @@ hwnet->JoinGame("#hw"); } -void HWForm::NetAddTeam() +void HWForm::NetAddTeam(HWTeam team) { - HWTeam team("DefaultTeam"); - team.LoadFromFile(); - hwnet->AddTeam(team); + hwnet->AddTeam(team); } void HWForm::NetStartGame() @@ -303,8 +303,16 @@ void HWForm::ChangeInNetTeams(const QStringList & teams) { - ui.pageNetGame->listNetTeams->clear(); - ui.pageNetGame->listNetTeams->addItems(teams); + QStringList addedTeams=teams; + list lstPlaying=ui.pageNetGame->pNetTeamsWidget->getPlayingTeams(); + for(list::iterator it=lstPlaying.begin(); it!=lstPlaying.end(); ++it) { + QString nm=it->TeamName; + QStringList::iterator itt=std::find(addedTeams.begin(), addedTeams.end(), nm); + if(itt!=addedTeams.end()) addedTeams.erase(itt); + } + for(QStringList::iterator it=addedTeams.begin(); it!=addedTeams.end(); ++it) { + ui.pageNetGame->pNetTeamsWidget->addTeam(*it, true); + } } void HWForm::StartMPGame() diff -r 1148eeb0557e -r e7175ae57945 QTfrontend/hwform.h --- a/QTfrontend/hwform.h Fri Jan 12 16:04:45 2007 +0000 +++ b/QTfrontend/hwform.h Sat Jan 13 15:13:23 2007 +0000 @@ -64,7 +64,7 @@ void NetJoin(); void NetCreate(); void AddGame(const QString & chan); - void NetAddTeam(); + void NetAddTeam(HWTeam team); void NetGameEnter(); void NetStartGame(); void ChangeInNetTeams(const QStringList & teams); diff -r 1148eeb0557e -r e7175ae57945 QTfrontend/newnetclient.cpp --- a/QTfrontend/newnetclient.cpp Fri Jan 12 16:04:45 2007 +0000 +++ b/QTfrontend/newnetclient.cpp Sat Jan 13 15:13:23 2007 +0000 @@ -70,8 +70,8 @@ void HWNewNet::SendNet(const QByteArray & buf) { - qDebug() << "to net:" << buf; QString msg = QString(buf.toBase64()); + qDebug() << "to net:" << buf << ":" << msg; //NetBuffer += buf; RawSendNet(QString(msg)); diff -r 1148eeb0557e -r e7175ae57945 QTfrontend/pages.cpp --- a/QTfrontend/pages.cpp Fri Jan 12 16:04:45 2007 +0000 +++ b/QTfrontend/pages.cpp Sat Jan 13 15:13:23 2007 +0000 @@ -447,27 +447,34 @@ { QFont * font14 = new QFont("MS Shell Dlg", 14); QGridLayout * pageLayout = new QGridLayout(this); - pageLayout->setColumnStretch(0, 1); - pageLayout->setColumnStretch(1, 1); - pageLayout->setColumnStretch(2, 1); + //pageLayout->setColumnStretch(0, 1); + //pageLayout->setColumnStretch(1, 2); + //pageLayout->setColumnStretch(2, 1); + + pGameCFG=new GameCFGWidget(this); + pageLayout->addWidget(pGameCFG, 0, 0); + + + pNetTeamsWidget=new TeamSelWidget(this); + pageLayout->addWidget(pNetTeamsWidget, 0, 1); BtnBack = new QPushButton(this); BtnBack->setFont(*font14); BtnBack->setText(QPushButton::tr("Back")); - pageLayout->addWidget(BtnBack, 2, 0); + pageLayout->addWidget(BtnBack, 1, 0); BtnAddTeam = new QPushButton(this); BtnAddTeam->setFont(*font14); BtnAddTeam->setText(QPushButton::tr("Add Team")); - pageLayout->addWidget(BtnAddTeam, 1, 1); + //pageLayout->addWidget(BtnAddTeam, 1, 1); BtnGo = new QPushButton(this); BtnGo->setFont(*font14); BtnGo->setText(QPushButton::tr("Go!")); - pageLayout->addWidget(BtnGo, 2, 2); + pageLayout->addWidget(BtnGo, 1, 1); listNetTeams = new QListWidget(this); - pageLayout->addWidget(listNetTeams, 0, 1); + //pageLayout->addWidget(listNetTeams, 0, 1); } PageInfo::PageInfo(QWidget* parent) : QWidget(parent) diff -r 1148eeb0557e -r e7175ae57945 QTfrontend/pages.h --- a/QTfrontend/pages.h Fri Jan 12 16:04:45 2007 +0000 +++ b/QTfrontend/pages.h Sat Jan 13 15:13:23 2007 +0000 @@ -22,6 +22,7 @@ #include #include "binds.h" +#include "mapContainer.h" class GameCFGWidget; class QPushButton; @@ -189,6 +190,11 @@ QPushButton *BtnAddTeam; QPushButton *BtnGo; QListWidget *listNetTeams; + + TeamSelWidget* pNetTeamsWidget; + + private: + GameCFGWidget* pGameCFG; }; class PageInfo : public QWidget diff -r 1148eeb0557e -r e7175ae57945 QTfrontend/teamselect.cpp --- a/QTfrontend/teamselect.cpp Fri Jan 12 16:04:45 2007 +0000 +++ b/QTfrontend/teamselect.cpp Sat Jan 13 15:13:23 2007 +0000 @@ -26,12 +26,17 @@ #include "teamselhelper.h" #include "frameTeam.h" -void TeamSelWidget::addTeam(HWTeam team) +void TeamSelWidget::addTeam(HWTeam team, bool netTeam) { - frameDontPlaying->addTeam(team, false); - curDontPlayingTeams.push_back(team); - QObject::connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)), - this, SLOT(changeTeamStatus(HWTeam))); + if(netTeam) { + framePlaying->addTeam(team, true); + curPlayingTeams.push_back(team); + } else { + frameDontPlaying->addTeam(team, false); + curDontPlayingTeams.push_back(team); + QObject::connect(frameDontPlaying->getTeamWidget(team), SIGNAL(teamStatusChanged(HWTeam)), + this, SLOT(changeTeamStatus(HWTeam))); + } } //void TeamSelWidget::removeTeam(__attribute__ ((unused)) HWTeam team) @@ -55,6 +60,7 @@ if(framePlaying->isFullTeams()) return; // dont playing team => playing curPlayingTeams.push_back(*itDontPlay); + emit teamWillPlay(*itDontPlay); curDontPlayingTeams.erase(itDontPlay); } diff -r 1148eeb0557e -r e7175ae57945 QTfrontend/teamselect.h --- a/QTfrontend/teamselect.h Fri Jan 12 16:04:45 2007 +0000 +++ b/QTfrontend/teamselect.h Sat Jan 13 15:13:23 2007 +0000 @@ -40,17 +40,20 @@ public: TeamSelWidget(QWidget* parent=0); - void addTeam(HWTeam team); //void removeTeam(HWTeam team); void resetPlayingTeams(const QList& teamslist); bool isPlaying(HWTeam team) const; HWTeamTempParams getTeamParams(HWTeam team) const; list getPlayingTeams() const; - signals: - void NewTeam(); + public slots: + void addTeam(HWTeam team, bool netTeam=false); -private slots: + signals: + void NewTeam(); + void teamWillPlay(HWTeam team); + + private slots: void changeTeamStatus(HWTeam team); void newTeamClicked();