# HG changeset patch # User smxx # Date 1269888622 0 # Node ID e5eff81d76359481114be2f76e2a32bc43c1e398 # Parent 9cd05b3353da9edb45dad21b90609e382c99c6e0 Frontend: * Enabled deletion of teams * Buttons to modify teams (add/edit/delete) are now disabled if options menu is opened from within a game room / local game setup (might change once open issues are fixed) * No longer load/save ignore and friends lists in local game setup diff -r 9cd05b3353da -r e5eff81d7635 QTfrontend/hwform.cpp --- a/QTfrontend/hwform.cpp Mon Mar 29 16:43:47 2010 +0000 +++ b/QTfrontend/hwform.cpp Mon Mar 29 18:50:22 2010 +0000 @@ -137,6 +137,7 @@ connect(ui.pageOptions->BtnBack, SIGNAL(clicked()), this, SLOT(GoBack())); connect(ui.pageOptions->BtnNewTeam, SIGNAL(clicked()), this, SLOT(NewTeam())); connect(ui.pageOptions->BtnEditTeam, SIGNAL(clicked()), this, SLOT(EditTeam())); + connect(ui.pageOptions->BtnDeleteTeam, SIGNAL(clicked()), this, SLOT(DeleteTeam())); connect(ui.pageOptions->BtnSaveOptions, SIGNAL(clicked()), config, SLOT(SaveOptions())); connect(ui.pageOptions->BtnSaveOptions, SIGNAL(clicked()), this, SLOT(GoBack())); @@ -415,6 +416,9 @@ if (id == ID_PAGE_MULTIPLAYER || id == ID_PAGE_NETGAME) { QStringList tmNames = config->GetTeamsList(); TeamSelWidget* curTeamSelWidget; + ui.pageOptions->BtnNewTeam->setEnabled(false); + ui.pageOptions->BtnEditTeam->setEnabled(false); + ui.pageOptions->BtnDeleteTeam->setEnabled(false); if(id == ID_PAGE_MULTIPLAYER) { curTeamSelWidget = ui.pageMultiplayer->teamsSelect; @@ -445,12 +449,20 @@ ui.pageGameStats->renderStats(); } + if(id == ID_PAGE_MAIN) + { + ui.pageOptions->BtnNewTeam->setEnabled(true); + ui.pageOptions->BtnEditTeam->setEnabled(true); + ui.pageOptions->BtnDeleteTeam->setEnabled(true); + } + // load and save ignore/friends lists - if(lastid == ID_PAGE_MULTIPLAYER || lastid == ID_PAGE_NETGAME) // leaving a room + if(lastid == ID_PAGE_NETGAME) // leaving a room ui.pageNetGame->pChatWidget->saveLists(ui.pageOptions->editNetNick->text()); else if(lastid == ID_PAGE_ROOMSLIST) // leaving the lobby ui.pageRoomsList->chatWidget->saveLists(ui.pageOptions->editNetNick->text()); - if(id == ID_PAGE_MULTIPLAYER || id == ID_PAGE_NETGAME) // joining a room + + if(id == ID_PAGE_NETGAME) // joining a room ui.pageNetGame->pChatWidget->loadLists(ui.pageOptions->editNetNick->text()); else if(id == ID_PAGE_ROOMSLIST) // joining the lobby ui.pageRoomsList->chatWidget->loadLists(ui.pageOptions->editNetNick->text()); @@ -547,6 +559,15 @@ GoToPage(ID_PAGE_SETUP_TEAM); } +void HWForm::DeleteTeam() +{ + editedTeam = new HWTeam(ui.pageOptions->CBTeamName->currentText()); + editedTeam->DeleteFile(); + + // Remove from lists + ui.pageOptions->CBTeamName->removeItem(ui.pageOptions->CBTeamName->currentIndex()); +} + void HWForm::RandomNames() { editedTeam->GetFromPage(this); diff -r 9cd05b3353da -r e5eff81d7635 QTfrontend/hwform.h --- a/QTfrontend/hwform.h Mon Mar 29 16:43:47 2010 +0000 +++ b/QTfrontend/hwform.h Mon Mar 29 18:50:22 2010 +0000 @@ -82,6 +82,7 @@ void IntermediateSetup(); void NewTeam(); void EditTeam(); + void DeleteTeam(); void RandomNames(); void RandomName(const int &i); void TeamSave(); diff -r 9cd05b3353da -r e5eff81d7635 QTfrontend/pages.cpp --- a/QTfrontend/pages.cpp Mon Mar 29 16:43:47 2010 +0000 +++ b/QTfrontend/pages.cpp Mon Mar 29 18:50:22 2010 +0000 @@ -418,8 +418,6 @@ BtnDeleteTeam->setIconSize(pmDelete.size()); BtnDeleteTeam->setIcon(pmDelete); BtnDeleteTeam->setMaximumWidth(pmDelete.width() + 6); - BtnDeleteTeam->setEnabled(false); - BtnDeleteTeam->setVisible(false); // hide for now GBTlayout->addWidget(BtnDeleteTeam, 0, 3); gbTBLayout->addWidget(teamsBox, 0, 0); diff -r 9cd05b3353da -r e5eff81d7635 QTfrontend/team.cpp --- a/QTfrontend/team.cpp Mon Mar 29 16:43:47 2010 +0000 +++ b/QTfrontend/team.cpp Mon Mar 29 18:50:22 2010 +0000 @@ -180,6 +180,18 @@ return true; } +bool HWTeam::DeleteFile() +{ + if(m_isNetTeam) + return false; + + QFile cfgfile(cfgdir->absolutePath() + "/" + TeamName + ".cfg"); + cfgfile.remove(); + + + return true; +} + bool HWTeam::SaveToFile() { if (OldTeamName != TeamName) diff -r 9cd05b3353da -r e5eff81d7635 QTfrontend/team.h --- a/QTfrontend/team.h Mon Mar 29 16:43:47 2010 +0000 +++ b/QTfrontend/team.h Mon Mar 29 18:50:22 2010 +0000 @@ -55,6 +55,7 @@ QColor teamColor; bool LoadFromFile(); + bool DeleteFile(); bool SaveToFile(); void SetToPage(HWForm * hwform); void GetFromPage(HWForm * hwform);