Merge pull request #6261 from Kewlan/game-list-filter-fix

game_list: Update filter results when removing directories
This commit is contained in:
bunnei 2021-05-01 09:14:10 -07:00 committed by GitHub
commit 03b3c5800b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View file

@ -85,8 +85,8 @@ void GameListSearchField::setFilterResult(int visible, int total) {
label_filter_result->setText(tr("%1 of %n result(s)", "", total).arg(visible));
}
bool GameListSearchField::isEmpty() const {
return edit_filter->text().isEmpty();
QString GameListSearchField::filterText() const {
return edit_filter->text();
}
QString GameList::GetLastFilterResultItem() const {
@ -236,11 +236,11 @@ void GameList::OnTextChanged(const QString& new_text) {
} else {
tree_view->setRowHidden(j, folder_index, true);
}
}
}
search_field->setFilterResult(result_count, children_total);
}
}
}
}
void GameList::OnUpdateThemedIcons() {
for (int i = 0; i < item_model->invisibleRootItem()->rowCount(); i++) {
@ -595,6 +595,7 @@ void GameList::AddCustomDirPopup(QMenu& context_menu, QModelIndex selected) {
connect(delete_dir, &QAction::triggered, [this, &game_dir, selected] {
UISettings::values.game_dirs.removeOne(game_dir);
item_model->invisibleRootItem()->removeRow(selected.row());
OnTextChanged(search_field->filterText());
});
}
@ -774,7 +775,7 @@ void GameList::RefreshGameDirectory() {
void GameList::ToggleFavorite(u64 program_id) {
if (!UISettings::values.favorited_ids.contains(program_id)) {
tree_view->setRowHidden(0, item_model->invisibleRootItem()->index(),
!search_field->isEmpty());
!search_field->filterText().isEmpty());
UISettings::values.favorited_ids.append(program_id);
AddFavorite(program_id);
item_model->sort(tree_view->header()->sortIndicatorSection(),

View file

@ -346,8 +346,8 @@ class GameListSearchField : public QWidget {
public:
explicit GameListSearchField(GameList* parent = nullptr);
QString filterText() const;
void setFilterResult(int visible, int total);
bool isEmpty() const;
void clear();
void setFocus();