Move "Games shown" text to top, to match user count list. (#4089)

Fixes last part of #3068 that isn't already handled by #4088.
This commit is contained in:
Kaitlin 2020-09-08 14:34:36 -04:00 committed by GitHub
parent 45cbdad5fb
commit ade3e81682
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 14 deletions

View file

@ -36,7 +36,6 @@ GameSelector::GameSelector(AbstractClient *_client,
{ {
gameListView = new QTreeView; gameListView = new QTreeView;
gameListModel = new GamesModel(_rooms, _gameTypes, this); gameListModel = new GamesModel(_rooms, _gameTypes, this);
filteredGamesLabel = new QLabel;
if (showFilters) { if (showFilters) {
gameListProxyModel = new GamesProxyModel(this, tabSupervisor); gameListProxyModel = new GamesProxyModel(this, tabSupervisor);
gameListProxyModel->setSourceModel(gameListModel); gameListProxyModel->setSourceModel(gameListModel);
@ -90,7 +89,6 @@ GameSelector::GameSelector(AbstractClient *_client,
if (showFilters) { if (showFilters) {
buttonLayout->addWidget(filterButton); buttonLayout->addWidget(filterButton);
buttonLayout->addWidget(clearFilterButton); buttonLayout->addWidget(clearFilterButton);
buttonLayout->addWidget(filteredGamesLabel);
} }
buttonLayout->addStretch(); buttonLayout->addStretch();
if (room) if (room)
@ -133,7 +131,7 @@ void GameSelector::processAddToListEvent(const Event_AddToList &event)
if (event.list_name() == "ignore") { if (event.list_name() == "ignore") {
gameListProxyModel->refresh(); gameListProxyModel->refresh();
} }
setFilteredGamesLabel(); updateTitle();
} }
void GameSelector::processRemoveFromListEvent(const Event_RemoveFromList &event) void GameSelector::processRemoveFromListEvent(const Event_RemoveFromList &event)
@ -141,7 +139,7 @@ void GameSelector::processRemoveFromListEvent(const Event_RemoveFromList &event)
if (event.list_name() == "ignore") { if (event.list_name() == "ignore") {
gameListProxyModel->refresh(); gameListProxyModel->refresh();
} }
setFilteredGamesLabel(); updateTitle();
} }
void GameSelector::actSetFilter() void GameSelector::actSetFilter()
@ -163,7 +161,7 @@ void GameSelector::actSetFilter()
gameListProxyModel->setMaxPlayersFilter(dlg.getMaxPlayersFilterMin(), dlg.getMaxPlayersFilterMax()); gameListProxyModel->setMaxPlayersFilter(dlg.getMaxPlayersFilterMin(), dlg.getMaxPlayersFilterMax());
gameListProxyModel->saveFilterParameters(gameTypeMap); gameListProxyModel->saveFilterParameters(gameTypeMap);
setFilteredGamesLabel(); updateTitle();
} }
void GameSelector::actClearFilter() void GameSelector::actClearFilter()
@ -173,7 +171,7 @@ void GameSelector::actClearFilter()
gameListProxyModel->resetFilterParameters(); gameListProxyModel->resetFilterParameters();
gameListProxyModel->saveFilterParameters(gameTypeMap); gameListProxyModel->saveFilterParameters(gameTypeMap);
setFilteredGamesLabel(); updateTitle();
} }
void GameSelector::actCreate() void GameSelector::actCreate()
@ -185,7 +183,7 @@ void GameSelector::actCreate()
DlgCreateGame dlg(room, room->getGameTypes(), this); DlgCreateGame dlg(room, room->getGameTypes(), this);
dlg.exec(); dlg.exec();
setFilteredGamesLabel(); updateTitle();
} }
void GameSelector::checkResponse(const Response &response) void GameSelector::checkResponse(const Response &response)
@ -267,7 +265,6 @@ void GameSelector::actJoin()
void GameSelector::retranslateUi() void GameSelector::retranslateUi()
{ {
setTitle(tr("Games"));
filterButton->setText(tr("&Filter games")); filterButton->setText(tr("&Filter games"));
clearFilterButton->setText(tr("C&lear filter")); clearFilterButton->setText(tr("C&lear filter"));
if (createButton) if (createButton)
@ -275,13 +272,13 @@ void GameSelector::retranslateUi()
joinButton->setText(tr("&Join")); joinButton->setText(tr("&Join"));
spectateButton->setText(tr("J&oin as spectator")); spectateButton->setText(tr("J&oin as spectator"));
setFilteredGamesLabel(); updateTitle();
} }
void GameSelector::processGameInfo(const ServerInfo_Game &info) void GameSelector::processGameInfo(const ServerInfo_Game &info)
{ {
gameListModel->updateGameList(info); gameListModel->updateGameList(info);
setFilteredGamesLabel(); updateTitle();
} }
void GameSelector::actSelectedGameChanged(const QModelIndex &current, const QModelIndex & /* previous */) void GameSelector::actSelectedGameChanged(const QModelIndex &current, const QModelIndex & /* previous */)
@ -296,11 +293,13 @@ void GameSelector::actSelectedGameChanged(const QModelIndex &current, const QMod
joinButton->setEnabled(game.player_count() < game.max_players() || overrideRestrictions); joinButton->setEnabled(game.player_count() < game.max_players() || overrideRestrictions);
} }
void GameSelector::setFilteredGamesLabel() void GameSelector::updateTitle()
{ {
if (showFilters) { if (showFilters) {
const int totalGames = gameListModel->rowCount(); const int totalGames = gameListModel->rowCount();
const int shownGames = totalGames - gameListProxyModel->getNumFilteredGames(); const int shownGames = totalGames - gameListProxyModel->getNumFilteredGames();
filteredGamesLabel->setText(tr("Games shown: %1 / %2").arg(shownGames).arg(totalGames)); setTitle(tr("Games shown: %1 / %2").arg(shownGames).arg(totalGames));
} else {
setTitle(tr("Games"));
} }
} }

View file

@ -45,11 +45,10 @@ private:
GamesModel *gameListModel; GamesModel *gameListModel;
GamesProxyModel *gameListProxyModel; GamesProxyModel *gameListProxyModel;
QPushButton *filterButton, *clearFilterButton, *createButton, *joinButton, *spectateButton; QPushButton *filterButton, *clearFilterButton, *createButton, *joinButton, *spectateButton;
QLabel *filteredGamesLabel;
const bool showFilters; const bool showFilters;
GameTypeMap gameTypeMap; GameTypeMap gameTypeMap;
void setFilteredGamesLabel(); void updateTitle();
public: public:
GameSelector(AbstractClient *_client, GameSelector(AbstractClient *_client,