Fix #3957: Properly set filters to defaults on initial load and disable "Clear filters" button if filters are set to defaults. (#4088)

* Fix #3957: Properly set filters to defaults on initial load and disable "Clear filters" button if filters are set to defaults

* Reuse resetFilterParameters() in GamesProxyModel constructor, and remove "off" designation for player min/max (as a default of 1/99 is enforced by the UI).
This commit is contained in:
Kaitlin 2020-09-09 11:24:54 -04:00 committed by GitHub
parent ade3e81682
commit 79f590c99a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 11 deletions

View file

@ -74,7 +74,11 @@ GameSelector::GameSelector(AbstractClient *_client,
connect(filterButton, SIGNAL(clicked()), this, SLOT(actSetFilter()));
clearFilterButton = new QPushButton;
clearFilterButton->setIcon(QPixmap("theme:icons/clearsearch"));
clearFilterButton->setEnabled(true);
if (showFilters && gameListProxyModel->areFilterParametersSetToDefaults()) {
clearFilterButton->setEnabled(false);
} else {
clearFilterButton->setEnabled(true);
}
connect(clearFilterButton, SIGNAL(clicked()), this, SLOT(actClearFilter()));
if (room) {
@ -149,8 +153,6 @@ void GameSelector::actSetFilter()
if (!dlg.exec())
return;
clearFilterButton->setEnabled(true);
gameListProxyModel->setShowBuddiesOnlyGames(dlg.getShowBuddiesOnlyGames());
gameListProxyModel->setUnavailableGamesVisible(dlg.getUnavailableGamesVisible());
gameListProxyModel->setShowPasswordProtectedGames(dlg.getShowPasswordProtectedGames());
@ -161,6 +163,8 @@ void GameSelector::actSetFilter()
gameListProxyModel->setMaxPlayersFilter(dlg.getMaxPlayersFilterMin(), dlg.getMaxPlayersFilterMax());
gameListProxyModel->saveFilterParameters(gameTypeMap);
clearFilterButton->setEnabled(!gameListProxyModel->areFilterParametersSetToDefaults());
updateTitle();
}