Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
Cockatrice
Commits
4d2fdaec
Commit
4d2fdaec
authored
Aug 23, 2015
by
Zach
Browse files
Merge pull request #1407 from Fizztastic/fix_1396
Option to opt-out of remember game settings
parents
ab33258c
ca82fd86
Changes
4
Hide whitespace changes
Inline
Side-by-side
cockatrice/src/dlg_creategame.cpp
View file @
4d2fdaec
...
...
@@ -21,6 +21,7 @@
void
DlgCreateGame
::
sharedCtor
()
{
rememberGameSettings
=
new
QCheckBox
(
tr
(
"Re&member settings"
));
descriptionLabel
=
new
QLabel
(
tr
(
"&Description:"
));
descriptionEdit
=
new
QLineEdit
;
descriptionLabel
->
setBuddy
(
descriptionEdit
);
...
...
@@ -38,6 +39,7 @@ void DlgCreateGame::sharedCtor()
generalGrid
->
addWidget
(
descriptionEdit
,
0
,
1
);
generalGrid
->
addWidget
(
maxPlayersLabel
,
1
,
0
);
generalGrid
->
addWidget
(
maxPlayersEdit
,
1
,
1
);
generalGrid
->
addWidget
(
rememberGameSettings
,
2
,
0
);
QVBoxLayout
*
gameTypeLayout
=
new
QVBoxLayout
;
QMapIterator
<
int
,
QString
>
gameTypeIterator
(
gameTypes
);
...
...
@@ -111,6 +113,7 @@ DlgCreateGame::DlgCreateGame(TabRoom *_room, const QMap<int, QString> &_gameType
{
sharedCtor
();
rememberGameSettings
->
setChecked
(
settingsCache
->
getRememberGameSettings
());
descriptionEdit
->
setText
(
settingsCache
->
getGameDescription
());
maxPlayersEdit
->
setValue
(
settingsCache
->
getMaxPlayers
());
onlyBuddiesCheckBox
->
setChecked
(
settingsCache
->
getOnlyBuddies
());
...
...
@@ -126,6 +129,10 @@ DlgCreateGame::DlgCreateGame(TabRoom *_room, const QMap<int, QString> &_gameType
spectatorsCanTalkCheckBox
->
setChecked
(
settingsCache
->
getSpectatorsCanTalk
());
spectatorsSeeEverythingCheckBox
->
setChecked
(
settingsCache
->
getSpectatorsCanSeeEverything
());
if
(
!
rememberGameSettings
->
isChecked
()){
actReset
();
}
clearButton
=
new
QPushButton
(
tr
(
"&Clear"
));
buttonBox
->
addButton
(
QDialogButtonBox
::
Cancel
);
buttonBox
->
addButton
(
clearButton
,
QDialogButtonBox
::
ActionRole
);
...
...
@@ -140,6 +147,7 @@ DlgCreateGame::DlgCreateGame(const ServerInfo_Game &gameInfo, const QMap<int, QS
{
sharedCtor
();
rememberGameSettings
->
setEnabled
(
false
);
descriptionEdit
->
setEnabled
(
false
);
maxPlayersEdit
->
setEnabled
(
false
);
passwordEdit
->
setEnabled
(
false
);
...
...
@@ -203,15 +211,6 @@ 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
());
...
...
@@ -233,7 +232,18 @@ void DlgCreateGame::actOK()
}
}
settingsCache
->
setGameTypes
(
gameTypes
);
settingsCache
->
setRememberGameSettings
(
rememberGameSettings
->
isChecked
());
if
(
rememberGameSettings
->
isChecked
()){
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
());
settingsCache
->
setGameTypes
(
gameTypes
);
}
PendingCommand
*
pend
=
room
->
prepareRoomCommand
(
cmd
);
connect
(
pend
,
SIGNAL
(
finished
(
Response
,
CommandContainer
,
QVariant
)),
this
,
SLOT
(
checkResponse
(
Response
)));
room
->
sendRoomCommand
(
pend
);
...
...
cockatrice/src/dlg_creategame.h
View file @
4d2fdaec
...
...
@@ -39,6 +39,7 @@ private:
QCheckBox
*
spectatorsAllowedCheckBox
,
*
spectatorsNeedPasswordCheckBox
,
*
spectatorsCanTalkCheckBox
,
*
spectatorsSeeEverythingCheckBox
;
QDialogButtonBox
*
buttonBox
;
QPushButton
*
clearButton
;
QCheckBox
*
rememberGameSettings
;
void
sharedCtor
();
};
...
...
cockatrice/src/settingscache.cpp
View file @
4d2fdaec
...
...
@@ -118,6 +118,7 @@ SettingsCache::SettingsCache()
spectatorsNeedPassword
=
settings
->
value
(
"game/spectatorsneedpassword"
,
false
).
toBool
();
spectatorsCanTalk
=
settings
->
value
(
"game/spectatorscantalk"
,
false
).
toBool
();
spectatorsCanSeeEverything
=
settings
->
value
(
"game/spectatorscanseeeverything"
,
false
).
toBool
();
rememberGameSettings
=
settings
->
value
(
"game/remembergamesettings"
,
true
).
toBool
();
clientID
=
settings
->
value
(
"personal/clientid"
,
"notset"
).
toString
();
QString
file
=
getSettingsPath
();
...
...
@@ -605,3 +606,9 @@ void SettingsCache::setSpectatorsCanSeeEverything(const bool _spectatorsCanSeeEv
spectatorsCanSeeEverything
=
_spectatorsCanSeeEverything
;
settings
->
setValue
(
"game/spectatorscanseeeverything"
,
spectatorsCanSeeEverything
);
}
void
SettingsCache
::
setRememberGameSettings
(
const
bool
_rememberGameSettings
)
{
rememberGameSettings
=
_rememberGameSettings
;
settings
->
setValue
(
"game/remembergamesettings"
,
rememberGameSettings
);
}
\ No newline at end of file
cockatrice/src/settingscache.h
View file @
4d2fdaec
...
...
@@ -102,6 +102,7 @@ private:
bool
spectatorsNeedPassword
;
bool
spectatorsCanTalk
;
bool
spectatorsCanSeeEverything
;
bool
rememberGameSettings
;
int
keepalive
;
QByteArray
deckEditorLayoutState
,
deckEditorGeometry
;
QSize
deckEditorFilterSize
,
deckEditorDeckSize
,
deckEditorCardSize
;
...
...
@@ -178,6 +179,7 @@ public:
bool
getSpectatorsNeedPassword
()
const
{
return
spectatorsNeedPassword
;
}
bool
getSpectatorsCanTalk
()
const
{
return
spectatorsCanTalk
;
}
bool
getSpectatorsCanSeeEverything
()
const
{
return
spectatorsCanSeeEverything
;
}
bool
getRememberGameSettings
()
const
{
return
rememberGameSettings
;
}
int
getKeepAlive
()
const
{
return
keepalive
;
}
void
setClientID
(
QString
clientID
);
QString
getClientID
()
{
return
clientID
;
}
...
...
@@ -257,6 +259,7 @@ public slots:
void
setSpectatorsNeedPassword
(
const
bool
_spectatorsNeedPassword
);
void
setSpectatorsCanTalk
(
const
bool
_spectatorsCanTalk
);
void
setSpectatorsCanSeeEverything
(
const
bool
_spectatorsCanSeeEverything
);
void
setRememberGameSettings
(
const
bool
_rememberGameSettings
);
};
extern
SettingsCache
*
settingsCache
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment