# HG changeset patch # User claymore # Date 1302281412 -7200 # Node ID 50803f3403a5887e1a1a281daa4d4314bbd15e03 # Parent 715cf3f2b34296264e361c0cc2a7293970fa3d63 Frontend: room rename diff -r 715cf3f2b342 -r 50803f3403a5 QTfrontend/hwform.cpp --- a/QTfrontend/hwform.cpp Fri Apr 08 13:42:25 2011 +0200 +++ b/QTfrontend/hwform.cpp Fri Apr 08 18:50:12 2011 +0200 @@ -1116,9 +1116,13 @@ { // disconnect connections first to ensure their inexistance and not to connect twice ui.pageNetGame->BtnStart->disconnect(hwnet); + ui.pageNetGame->BtnUpdate->disconnect(hwnet); + ui.pageNetGame->leRoomName->setText(hwnet->getRoom()); ui.pageNetGame->restrictJoins->disconnect(hwnet); ui.pageNetGame->restrictTeamAdds->disconnect(hwnet); connect(ui.pageNetGame->BtnStart, SIGNAL(clicked()), hwnet, SLOT(startGame())); + connect(ui.pageNetGame, SIGNAL(askForUpdateRoomName(const QString &)), + hwnet, SLOT(updateRoomName(const QString &))); connect(ui.pageNetGame->restrictJoins, SIGNAL(triggered()), hwnet, SLOT(toggleRestrictJoins())); connect(ui.pageNetGame->restrictTeamAdds, SIGNAL(triggered()), hwnet, SLOT(toggleRestrictTeamAdds())); connect(ui.pageNetGame->pGameCFG->GameSchemes->model(), diff -r 715cf3f2b342 -r 50803f3403a5 QTfrontend/newnetclient.cpp --- a/QTfrontend/newnetclient.cpp Fri Apr 08 13:42:25 2011 +0200 +++ b/QTfrontend/newnetclient.cpp Fri Apr 08 18:50:12 2011 +0200 @@ -747,6 +747,12 @@ RawSendNet(QString("START_GAME")); } +void HWNewNet::updateRoomName(const QString & name) +{ + RawSendNet(QString("ROOM_NAME%1%2").arg(delimeter).arg(name)); +} + + void HWNewNet::toggleRestrictJoins() { RawSendNet(QString("TOGGLE_RESTRICT_JOINS")); diff -r 715cf3f2b342 -r 50803f3403a5 QTfrontend/newnetclient.h --- a/QTfrontend/newnetclient.h Fri Apr 08 13:42:25 2011 +0200 +++ b/QTfrontend/newnetclient.h Fri Apr 08 18:50:12 2011 +0200 @@ -148,6 +148,7 @@ void JoinRoom(const QString & room); void CreateRoom(const QString & room); + void updateRoomName(const QString &); void askRoomsList(); void gameFinished(bool correcly); void banPlayer(const QString &); diff -r 715cf3f2b342 -r 50803f3403a5 QTfrontend/pagenetgame.cpp --- a/QTfrontend/pagenetgame.cpp Fri Apr 08 13:42:25 2011 +0200 +++ b/QTfrontend/pagenetgame.cpp Fri Apr 08 18:50:12 2011 +0200 @@ -20,6 +20,7 @@ #include #include #include +#include #include "pages.h" #include "gamecfgwidget.h" @@ -59,6 +60,13 @@ BtnBack = addButton(":/res/Exit.png", bottomLayout, 0, true); + leRoomName = new QLineEdit(this); + leRoomName->setMaxLength(60); + leRoomName->setMinimumWidth(200); + leRoomName->setMaximumWidth(400); + bottomLayout->addWidget(leRoomName, 8,0); + BtnUpdate = addButton(QAction::tr("Update"), bottomLayout, 1, false); + BtnGo = new QPushButton(this); BtnGo->setToolTip(QPushButton::tr("Ready")); BtnGo->setIcon(QIcon(":/res/lightbulb_off.png")); @@ -82,7 +90,9 @@ BtnStart = addButton(QAction::tr("Start"), bottomLayout, 3); - bottomLayout->insertStretch(1, 100); + bottomLayout->insertStretch(3, 100); + + connect(BtnUpdate, SIGNAL(clicked()), this, SLOT(onUpdateClick())); } void PageNetGame::setReadyStatus(bool isReady) @@ -93,8 +103,21 @@ BtnGo->setIcon(QIcon(":/res/lightbulb_off.png")); } +void PageNetGame::onUpdateClick() +{ + if (leRoomName->text().size()) + emit askForUpdateRoomName(leRoomName->text()); + else + QMessageBox::critical(this, + tr("Error"), + tr("Please enter room name"), + tr("OK")); +} + void PageNetGame::setMasterMode(bool isMaster) { BtnMaster->setVisible(isMaster); BtnStart->setVisible(isMaster); + BtnUpdate->setVisible(isMaster); + leRoomName->setVisible(isMaster); } diff -r 715cf3f2b342 -r 50803f3403a5 QTfrontend/pages.h --- a/QTfrontend/pages.h Fri Apr 08 13:42:25 2011 +0200 +++ b/QTfrontend/pages.h Fri Apr 08 18:50:12 2011 +0200 @@ -325,6 +325,9 @@ QPushButton *BtnGo; QPushButton *BtnMaster; QPushButton *BtnStart; + QPushButton *BtnUpdate; + + QLineEdit * leRoomName; QAction * restrictJoins; QAction * restrictTeamAdds; @@ -336,10 +339,12 @@ public slots: void setReadyStatus(bool isReady); + void onUpdateClick(); void setMasterMode(bool isMaster); signals: void SetupClicked(); + void askForUpdateRoomName(const QString &); }; class PageInfo : public AbstractPage