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
dbfbfcc8
Commit
dbfbfcc8
authored
Jan 02, 2015
by
Jeffrey Oliver
Browse files
WIP: refactor filters to save to persistence from within model.
parent
6a4384f9
Changes
4
Hide whitespace changes
Inline
Side-by-side
cockatrice/src/dlg_filter_games.cpp
View file @
dbfbfcc8
...
@@ -112,34 +112,6 @@ DlgFilterGames::DlgFilterGames(const QMap<int, QString> &_allGameTypes, GamesPro
...
@@ -112,34 +112,6 @@ DlgFilterGames::DlgFilterGames(const QMap<int, QString> &_allGameTypes, GamesPro
}
}
void
DlgFilterGames
::
actOk
()
{
void
DlgFilterGames
::
actOk
()
{
QSettings
settings
;
settings
.
beginGroup
(
"filter_games"
);
settings
.
setValue
(
"unavailable_games_visible"
,
unavailableGamesVisibleCheckBox
->
isChecked
()
);
settings
.
setValue
(
"password_protected_games_visible"
,
passwordProtectedGamesVisibleCheckBox
->
isChecked
()
);
settings
.
setValue
(
"game_name_filter"
,
gameNameFilterEdit
->
text
());
settings
.
setValue
(
"creator_name_filter"
,
creatorNameFilterEdit
->
text
());
QMapIterator
<
int
,
QString
>
gameTypeIterator
(
allGameTypes
);
QMapIterator
<
int
,
QCheckBox
*>
checkboxIterator
(
gameTypeFilterCheckBoxes
);
while
(
gameTypeIterator
.
hasNext
())
{
gameTypeIterator
.
next
();
checkboxIterator
.
next
();
settings
.
setValue
(
"game_type/"
+
hashGameType
(
gameTypeIterator
.
value
()),
checkboxIterator
.
value
()
->
isChecked
()
);
}
settings
.
setValue
(
"min_players"
,
maxPlayersFilterMinSpinBox
->
value
());
settings
.
setValue
(
"max_players"
,
maxPlayersFilterMaxSpinBox
->
value
());
accept
();
accept
();
}
}
...
...
cockatrice/src/gameselector.cpp
View file @
dbfbfcc8
...
@@ -109,6 +109,7 @@ void GameSelector::actSetFilter()
...
@@ -109,6 +109,7 @@ void GameSelector::actSetFilter()
gameListProxyModel
->
setCreatorNameFilter
(
dlg
.
getCreatorNameFilter
());
gameListProxyModel
->
setCreatorNameFilter
(
dlg
.
getCreatorNameFilter
());
gameListProxyModel
->
setGameTypeFilter
(
dlg
.
getGameTypeFilter
());
gameListProxyModel
->
setGameTypeFilter
(
dlg
.
getGameTypeFilter
());
gameListProxyModel
->
setMaxPlayersFilter
(
dlg
.
getMaxPlayersFilterMin
(),
dlg
.
getMaxPlayersFilterMax
());
gameListProxyModel
->
setMaxPlayersFilter
(
dlg
.
getMaxPlayersFilterMin
(),
dlg
.
getMaxPlayersFilterMax
());
gameListProxyModel
->
saveFilterParameters
(
gameTypeMap
);
}
}
void
GameSelector
::
actClearFilter
()
void
GameSelector
::
actClearFilter
()
...
...
cockatrice/src/gamesmodel.cpp
View file @
dbfbfcc8
...
@@ -253,6 +253,33 @@ void GamesProxyModel::loadFilterParameters(const QMap<int, QString> &allGameType
...
@@ -253,6 +253,33 @@ void GamesProxyModel::loadFilterParameters(const QMap<int, QString> &allGameType
invalidateFilter
();
invalidateFilter
();
}
}
void
GamesProxyModel
::
saveFilterParameters
(
const
QMap
<
int
,
QString
>
&
allGameTypes
)
{
QSettings
settings
;
settings
.
beginGroup
(
"filter_games"
);
settings
.
setValue
(
"unavailable_games_visible"
,
unavailableGamesVisible
);
settings
.
setValue
(
"password_protected_games_visible"
,
passwordProtectedGamesVisible
);
settings
.
setValue
(
"game_name_filter"
,
gameNameFilter
);
settings
.
setValue
(
"creator_name_filter"
,
creatorNameFilter
);
QMapIterator
<
int
,
QString
>
gameTypeIterator
(
allGameTypes
);
while
(
gameTypeIterator
.
hasNext
())
{
gameTypeIterator
.
next
();
settings
.
setValue
(
"game_type/"
+
hashGameType
(
gameTypeIterator
.
value
()),
gameTypeFilter
.
contains
(
gameTypeIterator
.
key
())
);
}
settings
.
setValue
(
"min_players"
,
maxPlayersFilterMin
);
settings
.
setValue
(
"max_players"
,
maxPlayersFilterMax
);
}
bool
GamesProxyModel
::
filterAcceptsRow
(
int
sourceRow
,
const
QModelIndex
&
/*sourceParent*/
)
const
bool
GamesProxyModel
::
filterAcceptsRow
(
int
sourceRow
,
const
QModelIndex
&
/*sourceParent*/
)
const
{
{
GamesModel
*
model
=
qobject_cast
<
GamesModel
*>
(
sourceModel
());
GamesModel
*
model
=
qobject_cast
<
GamesModel
*>
(
sourceModel
());
...
...
cockatrice/src/gamesmodel.h
View file @
dbfbfcc8
...
@@ -73,7 +73,7 @@ public:
...
@@ -73,7 +73,7 @@ public:
void
setMaxPlayersFilter
(
int
_maxPlayersFilterMin
,
int
_maxPlayersFilterMax
);
void
setMaxPlayersFilter
(
int
_maxPlayersFilterMin
,
int
_maxPlayersFilterMax
);
void
resetFilterParameters
();
void
resetFilterParameters
();
void
loadFilterParameters
(
const
QMap
<
int
,
QString
>
&
allGameTypes
);
void
loadFilterParameters
(
const
QMap
<
int
,
QString
>
&
allGameTypes
);
void
saveFilterParameters
();
void
saveFilterParameters
(
const
QMap
<
int
,
QString
>
&
allGameTypes
);
protected:
protected:
bool
filterAcceptsRow
(
int
sourceRow
,
const
QModelIndex
&
sourceParent
)
const
;
bool
filterAcceptsRow
(
int
sourceRow
,
const
QModelIndex
&
sourceParent
)
const
;
};
};
...
...
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