fix 1032 merge conflicts

This commit is contained in:
Zach H 2015-07-26 23:41:19 -04:00
parent e318b70329
commit 475c54bfe1
4 changed files with 145 additions and 1 deletions

View file

@ -12,6 +12,7 @@
#include <QSet>
#include "dlg_creategame.h"
#include "tab_room.h"
#include "settingscache.h"
#include "pending_command.h"
#include "pb/room_commands.pb.h"
@ -45,6 +46,7 @@ void DlgCreateGame::sharedCtor()
QCheckBox *gameTypeCheckBox = new QCheckBox(gameTypeIterator.value());
gameTypeLayout->addWidget(gameTypeCheckBox);
gameTypeCheckBoxes.insert(gameTypeIterator.key(), gameTypeCheckBox);
gameTypeCheckBoxes[gameTypeIterator.key()]->setChecked((settingsCache->getGameTypes().contains(gameTypeIterator.value() + ", ") ? true : false));
}
QGroupBox *gameTypeGroupBox = new QGroupBox(tr("Game type"));
gameTypeGroupBox->setLayout(gameTypeLayout);
@ -109,8 +111,20 @@ DlgCreateGame::DlgCreateGame(TabRoom *_room, const QMap<int, QString> &_gameType
{
sharedCtor();
descriptionEdit->setText(settingsCache->getGameDescription());
maxPlayersEdit->setValue(settingsCache->getMaxPlayers());
onlyBuddiesCheckBox->setChecked(settingsCache->getOnlyBuddies());
onlyRegisteredCheckBox->setChecked(settingsCache->getOnlyRegistered());
spectatorsAllowedCheckBox->setChecked(settingsCache->getSpectatorsAllowed());
spectatorsNeedPasswordCheckBox->setChecked(settingsCache->getSpectatorsNeedPassword());
spectatorsCanTalkCheckBox->setChecked(settingsCache->getSpectatorsCanTalk());
spectatorsSeeEverythingCheckBox->setChecked(settingsCache->getSpectatorsCanSeeEverything());
clearButton = new QPushButton(tr("&Clear"));
buttonBox->addButton(QDialogButtonBox::Cancel);
buttonBox->addButton(clearButton, QDialogButtonBox::ActionRole);
connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOK()));
connect(clearButton, SIGNAL(clicked()), this, SLOT(actReset()));
setWindowTitle(tr("Create game"));
}
@ -157,8 +171,41 @@ DlgCreateGame::DlgCreateGame(const ServerInfo_Game &gameInfo, const QMap<int, QS
setWindowTitle(tr("Game information"));
}
void DlgCreateGame::actReset()
{
descriptionEdit->setText("");
maxPlayersEdit->setValue(2);
passwordEdit->setText("");
onlyBuddiesCheckBox->setChecked(false);
onlyRegisteredCheckBox->setChecked(true);
spectatorsAllowedCheckBox->setChecked(true);
spectatorsNeedPasswordCheckBox->setChecked(false);
spectatorsCanTalkCheckBox->setChecked(false);
spectatorsSeeEverythingCheckBox->setChecked(false);
QMapIterator<int, QCheckBox *> gameTypeCheckBoxIterator(gameTypeCheckBoxes);
while (gameTypeCheckBoxIterator.hasNext()) {
gameTypeCheckBoxIterator.next();
gameTypeCheckBoxIterator.value()->setChecked(false);
}
descriptionEdit->setFocus();
}
void DlgCreateGame::actOK()
{
settingsCache->setGameDescription(descriptionEdit->text());
settingsCache->setMaxPlayers(maxPlayersEdit->value());
settingsCache->setOnlyBuddies(onlyBuddiesCheckBox->isChecked());
settingsCache->setOnlyRegistered(onlyRegisteredCheckBox->isChecked());
settingsCache->setSpectatorsAllowed(spectatorsAllowedCheckBox->isChecked());
settingsCache->setSpectatorsNeedPassword(spectatorsNeedPasswordCheckBox->isChecked());
settingsCache->setSpectatorsCanTalk(spectatorsCanTalkCheckBox->isChecked());
settingsCache->setSpectatorsCanSeeEverything(spectatorsSeeEverythingCheckBox->isChecked());
Command_CreateGame cmd;
cmd.set_description(descriptionEdit->text().simplified().toStdString());
cmd.set_password(passwordEdit->text().toStdString());
@ -170,13 +217,17 @@ void DlgCreateGame::actOK()
cmd.set_spectators_can_talk(spectatorsCanTalkCheckBox->isChecked());
cmd.set_spectators_see_everything(spectatorsSeeEverythingCheckBox->isChecked());
QString gameTypes = QString();
QMapIterator<int, QCheckBox *> gameTypeCheckBoxIterator(gameTypeCheckBoxes);
while (gameTypeCheckBoxIterator.hasNext()) {
gameTypeCheckBoxIterator.next();
if (gameTypeCheckBoxIterator.value()->isChecked())
if (gameTypeCheckBoxIterator.value()->isChecked()) {
cmd.add_game_type_ids(gameTypeCheckBoxIterator.key());
gameTypes += gameTypeCheckBoxIterator.value()->text() + ", ";
}
}
settingsCache->setGameTypes(gameTypes);
PendingCommand *pend = room->prepareRoomCommand(cmd);
connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, SLOT(checkResponse(Response)));
room->sendRoomCommand(pend);

View file

@ -23,6 +23,7 @@ public:
DlgCreateGame(const ServerInfo_Game &game, const QMap<int, QString> &_gameTypes, QWidget *parent = 0);
private slots:
void actOK();
void actReset();
void checkResponse(const Response &response);
void spectatorsAllowedChanged(int state);
private:
@ -37,6 +38,7 @@ private:
QCheckBox *onlyBuddiesCheckBox, *onlyRegisteredCheckBox;
QCheckBox *spectatorsAllowedCheckBox, *spectatorsNeedPasswordCheckBox, *spectatorsCanTalkCheckBox, *spectatorsSeeEverythingCheckBox;
QDialogButtonBox *buttonBox;
QPushButton *clearButton;
void sharedCtor();
};

View file

@ -86,6 +86,16 @@ SettingsCache::SettingsCache()
cardInfoViewMode = settings->value("cards/cardinfoviewmode", 0).toInt();
highlightWords = settings->value("personal/highlightWords", QString()).toString();
gameDescription = settings->value("game/gamedescription","").toString();
maxPlayers = settings->value("game/maxplayers", 2).toInt();
gameTypes = settings->value("game/gametypes","").toString();
onlyBuddies = settings->value("game/onlybuddies", false).toBool();
onlyRegistered = settings->value("game/onlyregistered", true).toBool();
spectatorsAllowed = settings->value("game/spectatorsallowed", true).toBool();
spectatorsNeedPassword = settings->value("game/spectatorsneedpassword", false).toBool();
spectatorsCanTalk = settings->value("game/spectatorscantalk", false).toBool();
spectatorsCanSeeEverything = settings->value("game/spectatorscanseeeverything", false).toBool();
}
void SettingsCache::setCardInfoViewMode(const int _viewMode) {
@ -443,4 +453,58 @@ QStringList SettingsCache::getCountries() const
<< "vn" << "vu" << "wf" << "ws" << "ye" << "yt" << "za" << "zm" << "zw";
return countries;
}
void SettingsCache::setGameDescription(const QString _gameDescription)
{
gameDescription = _gameDescription;
settings->setValue("game/gamedescription", gameDescription);
}
void SettingsCache::setMaxPlayers(const int _maxPlayers)
{
maxPlayers = _maxPlayers;
settings->setValue("game/maxplayers", maxPlayers);
}
void SettingsCache::setGameTypes(const QString _gameTypes)
{
gameTypes = _gameTypes;
settings->setValue("game/gametypes", gameTypes);
}
void SettingsCache::setOnlyBuddies(const bool _onlyBuddies)
{
onlyBuddies = _onlyBuddies;
settings->setValue("game/onlybuddies", onlyBuddies);
}
void SettingsCache::setOnlyRegistered(const bool _onlyRegistered)
{
onlyRegistered = _onlyRegistered;
settings->setValue("game/onlyregistered", onlyRegistered);
}
void SettingsCache::setSpectatorsAllowed(const bool _spectatorsAllowed)
{
spectatorsAllowed = _spectatorsAllowed;
settings->setValue("game/spectatorsallowed", spectatorsAllowed);
}
void SettingsCache::setSpectatorsNeedPassword(const bool _spectatorsNeedPassword)
{
spectatorsNeedPassword = _spectatorsNeedPassword;
settings->setValue("game/spectatorsneedpassword", spectatorsNeedPassword);
}
void SettingsCache::setSpectatorsCanTalk(const bool _spectatorsCanTalk)
{
spectatorsCanTalk = _spectatorsCanTalk;
settings->setValue("game/spectatorscantalk", spectatorsCanTalk);
}
void SettingsCache::setSpectatorsCanSeeEverything(const bool _spectatorsCanSeeEverything)
{
spectatorsCanSeeEverything = _spectatorsCanSeeEverything;
settings->setValue("game/spectatorscanseeeverything", spectatorsCanSeeEverything);
}

View file

@ -88,6 +88,15 @@ private:
int masterVolume;
int cardInfoViewMode;
QString highlightWords;
QString gameDescription;
int maxPlayers;
QString gameTypes;
bool onlyBuddies;
bool onlyRegistered;
bool spectatorsAllowed;
bool spectatorsNeedPassword;
bool spectatorsCanTalk;
bool spectatorsCanSeeEverything;
public:
SettingsCache();
const QByteArray &getMainWindowGeometry() const { return mainWindowGeometry; }
@ -149,6 +158,15 @@ public:
int getCardInfoViewMode() const { return cardInfoViewMode; }
QStringList getCountries() const;
QString getHighlightWords() const { return highlightWords; }
QString getGameDescription() const { return gameDescription; }
int getMaxPlayers() const { return maxPlayers; }
QString getGameTypes() const { return gameTypes; }
bool getOnlyBuddies() const { return onlyBuddies; }
bool getOnlyRegistered() const { return onlyRegistered; }
bool getSpectatorsAllowed() const { return spectatorsAllowed; }
bool getSpectatorsNeedPassword() const { return spectatorsNeedPassword; }
bool getSpectatorsCanTalk() const { return spectatorsCanTalk; }
bool getSpectatorsCanSeeEverything() const { return spectatorsCanSeeEverything; }
public slots:
void setMainWindowGeometry(const QByteArray &_mainWindowGeometry);
void setLang(const QString &_lang);
@ -203,6 +221,15 @@ public slots:
void setMasterVolume(const int _masterVolume);
void setCardInfoViewMode(const int _viewMode);
void setHighlightWords(const QString &_highlightWords);
void setGameDescription(const QString _gameDescription);
void setMaxPlayers(const int _maxPlayers);
void setGameTypes(const QString _gameTypes);
void setOnlyBuddies(const bool _onlyBuddies);
void setOnlyRegistered(const bool _onlyRegistered);
void setSpectatorsAllowed(const bool _spectatorsAllowed);
void setSpectatorsNeedPassword(const bool _spectatorsNeedPassword);
void setSpectatorsCanTalk(const bool _spectatorsCanTalk);
void setSpectatorsCanSeeEverything(const bool _spectatorsCanSeeEverything);
};
extern SettingsCache *settingsCache;