File indexing completed on 2024-05-05 08:07:37
0001 /*************************************************************************** 0002 newGameSummaryWidget.cpp - description 0003 ------------------- 0004 begin : Fri Jul 31 2009 0005 copyright : (C) 2009 by Gaƫl de Chalendar 0006 email : kleag@free.fr 0007 ***************************************************************************/ 0008 0009 /*************************************************************************** 0010 * * 0011 * This program is free software; you can redistribute it and/or modify * 0012 * it under the terms of the GNU General Public License as published by * 0013 * the Free Software Foundation; either either version 2 0014 of the License, or (at your option) any later version.of the License, or * 0015 * (at your option) any later version. * 0016 * * 0017 * You should have received a copy of the GNU General Public License 0018 * along with this program; if not, write to the Free Software 0019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 0020 * 02110-1301, USA 0021 ***************************************************************************/ 0022 0023 #include "newGameSummaryWidget.h" 0024 #include "kgamewin.h" 0025 #include "newgamesetup.h" 0026 #include "onu.h" 0027 #include "GameLogic/newplayerdata.h" 0028 0029 #include <KLocalizedString> 0030 #include "ksirk_debug.h" 0031 0032 namespace Ksirk 0033 { 0034 0035 NewGameSummaryWidget::NewGameSummaryWidget(QWidget *parent) : 0036 QWidget(parent), 0037 Ui::NewGameSummary() 0038 { 0039 qCDebug(KSIRK_LOG); 0040 setupUi(this); 0041 connect(previousButton,&QAbstractButton::clicked,this,&NewGameSummaryWidget::previous); 0042 connect(cancelButton,&QAbstractButton::clicked,this,&NewGameSummaryWidget::cancel); 0043 playersTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); 0044 } 0045 0046 NewGameSummaryWidget::~NewGameSummaryWidget() 0047 { 0048 } 0049 0050 void NewGameSummaryWidget::show(KGameWindow* game) 0051 { 0052 qCDebug(KSIRK_LOG) << game->newGameSetup()->worlds().keys(); 0053 foreach (GameLogic::ONU* world, game->newGameSetup()->worlds()) 0054 { 0055 if (world->skin() == game->newGameSetup()->skin()) 0056 { 0057 skinSnapshotPixmap->setPixmap(world->snapshot()); 0058 skinNameLabel->setText(i18n(world->name().toUtf8().data())); 0059 goalTypeLabel->setText(game->newGameSetup()->useGoals()?i18n("Reach a goal"):i18n("World conquest")); 0060 } 0061 } 0062 qCDebug(KSIRK_LOG) << game->automaton()->networkGameType() << game->newGameSetup()->players().size() << game->newGameSetup()->nbPlayers() << game->newGameSetup()->nbLocalPlayers() << game->newGameSetup()->nbNetworkPlayers(); 0063 playersTable->setRowCount(game->newGameSetup()->players().size()); 0064 int row = 0; 0065 foreach (NewPlayerData* player, game->newGameSetup()->players()) 0066 { 0067 qCDebug(KSIRK_LOG) << "player" << player->name(); 0068 QTableWidgetItem *nameItem = new QTableWidgetItem(player->name()); 0069 playersTable->setItem(row, 0, nameItem); 0070 // Bug 308530 - Untranslatable strings in "New Game Summary". 0071 // NewPlayerData's fields are not translated (KPlayerSetupWidget). Do that here when populating table. 0072 QTableWidgetItem *nationItem = new QTableWidgetItem(i18n(player->nation().toUtf8().data())); 0073 playersTable->setItem(row, 1, nationItem); 0074 QTableWidgetItem *computerItem = new QTableWidgetItem(player->computer()?i18n("Yes"):i18n("No")); 0075 playersTable->setItem(row, 2, computerItem); 0076 QTableWidgetItem *netItem = new QTableWidgetItem(player->network()?i18n("Yes"):i18n("No")); 0077 playersTable->setItem(row, 3, netItem); 0078 row++; 0079 } 0080 if (game->automaton()->isAdmin() 0081 && game->newGameSetup()->players().size() == game->newGameSetup()->nbPlayers()) 0082 { 0083 finishButton->setEnabled(true); 0084 } 0085 else 0086 { 0087 finishButton->setEnabled(false); 0088 } 0089 if (game->automaton()->networkGameType() != GameLogic::GameAutomaton::None) 0090 { 0091 qCDebug(KSIRK_LOG) << "network game isAdmin ? =>" << game->automaton()->isAdmin() << game->newGameSetup()->players().size() << game->newGameSetup()->nbPlayers(); 0092 previousButton->setEnabled(false); 0093 } 0094 } 0095 0096 } 0097 0098 #include "moc_newGameSummaryWidget.cpp"