ksquares
newgamedialog.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "newgamedialog.h"
00011 #include <kdebug.h>
00012
00013 #include <kggzmod/module.h>
00014 #include <kggzmod/player.h>
00015
00016 NewGameDialog::NewGameDialog(QWidget* parent) : KDialog(parent)
00017 {
00018 setupUi(mainWidget());
00019 setButtons(Cancel|Ok);
00020 setCaption(i18n("New Game"));
00021 connect(spinNumOfPlayers, SIGNAL(valueChanged(int)), SLOT(adjustEnabledUsers(int)));
00022
00023 adjustEnabledUsers(spinNumOfPlayers->value());
00024
00025 if(KGGZMod::Module::instance())
00026 {
00027 adjustNetworkUsers();
00028 connect(KGGZMod::Module::instance(),
00029 SIGNAL(signalEvent(const KGGZMod::Event&)),
00030 SLOT(adjustNetworkUsers()));
00031 }
00032 }
00033
00034 void NewGameDialog::adjustNetworkUsers()
00035 {
00036 if(!KGGZMod::Module::instance()) return;
00037
00038 spinNumOfPlayers->setEnabled(false);
00039 quickStartCheck->setEnabled(false);
00040 quickStartCheck->setChecked(false);
00041
00042 labelPlayer2Name->setEnabled(false);
00043 playerTwoName->setEnabled(false);
00044 playerTwoHuman->setEnabled(false);
00045 labelPlayer1Name->setEnabled(false);
00046 playerOneName->setEnabled(false);
00047 playerOneHuman->setEnabled(false);
00048
00049 playerThreeName->clear();
00050 playerThreeHuman->setChecked(false);
00051 playerFourName->clear();
00052 playerFourHuman->setChecked(false);
00053
00054 KGGZMod::Module *mod = KGGZMod::Module::instance();
00055 QList<KGGZMod::Player*> players = mod->players();
00056 if(players.count() >= 1)
00057 {
00058 playerOneName->setText(players.at(0)->name());
00059 bool ishuman = (players.at(0)->type() != KGGZMod::Player::bot);
00060 playerOneHuman->setChecked(ishuman);
00061 }
00062 if(players.count() >= 2)
00063 {
00064 playerTwoName->setText(players.at(1)->name());
00065 bool ishuman = (players.at(1)->type() != KGGZMod::Player::bot);
00066 playerTwoHuman->setChecked(ishuman);
00067 }
00068 }
00069
00070 void NewGameDialog::adjustEnabledUsers(int numOfPlayers)
00071 {
00072 switch(numOfPlayers)
00073 {
00074 case 2:
00075 labelPlayer3Name->setEnabled(false);
00076 playerThreeName->setEnabled(false);
00077 playerThreeHuman->setEnabled(false);
00078
00079 case 3:
00080 labelPlayer4Name->setEnabled(false);
00081 playerFourName->setEnabled(false);
00082 playerFourHuman->setEnabled(false);
00083 case 4:
00084 break;
00085 default:
00086 kError() << "NewGameDialog::adjustEnabledUsers(): numOfPlayers out of range!!";
00087 }
00088
00089 switch(numOfPlayers)
00090 {
00091 case 4:
00092 labelPlayer4Name->setEnabled(true);
00093 playerFourName->setEnabled(true);
00094 playerFourHuman->setEnabled(true);
00095 case 3:
00096 labelPlayer3Name->setEnabled(true);
00097 playerThreeName->setEnabled(true);
00098 playerThreeHuman->setEnabled(true);
00099 case 2:
00100 default:
00101 break;
00102 }
00103 }
00104
00105 #include "newgamedialog.moc"