From e51c7ddf8c320488368d24522bfd1ef1592dbc6d Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Sun, 25 Oct 2020 18:55:01 +0100 Subject: [PATCH] Made filters applicable per custom collection (if grouped). --- es-app/src/FileData.cpp | 2 +- es-app/src/guis/GuiGamelistFilter.cpp | 6 +++--- es-app/src/guis/GuiGamelistOptions.cpp | 10 ++++++++-- es-app/src/views/gamelist/ISimpleGameListView.cpp | 3 --- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/es-app/src/FileData.cpp b/es-app/src/FileData.cpp index 92becfe0b..d6276cbd1 100644 --- a/es-app/src/FileData.cpp +++ b/es-app/src/FileData.cpp @@ -312,7 +312,7 @@ const std::string FileData::getVideoPath() const const std::vector& FileData::getChildrenListToDisplay() { - FileFilterIndex* idx = CollectionSystemManager::get()->getSystemToView(mSystem)->getIndex(); + FileFilterIndex* idx = mSystem->getIndex(); if (idx->isFiltered()) { mFilteredChildren.clear(); for (auto it = mChildren.cbegin(); it != mChildren.cend(); it++) { diff --git a/es-app/src/guis/GuiGamelistFilter.cpp b/es-app/src/guis/GuiGamelistFilter.cpp index c7065c5e3..8c94156f8 100644 --- a/es-app/src/guis/GuiGamelistFilter.cpp +++ b/es-app/src/guis/GuiGamelistFilter.cpp @@ -102,9 +102,9 @@ void GuiGamelistFilter::addFiltersToMenu() void GuiGamelistFilter::applyFilters() { std::vector decls = mFilterIndex->getFilterDataDecls(); - for (std::map - >>::const_iterator it = mFilterOptions.cbegin(); it != mFilterOptions.cend(); ++it ) { - std::shared_ptr< OptionListComponent > optionList = it->second; + for (std::map>>:: + const_iterator it = mFilterOptions.cbegin(); it != mFilterOptions.cend(); ++it ) { + std::shared_ptr> optionList = it->second; std::vector filters = optionList->getSelectedObjects(); mFilterIndex->setFilter(it->first, &filters); } diff --git a/es-app/src/guis/GuiGamelistOptions.cpp b/es-app/src/guis/GuiGamelistOptions.cpp index 499629f3e..5adb5ecd8 100644 --- a/es-app/src/guis/GuiGamelistOptions.cpp +++ b/es-app/src/guis/GuiGamelistOptions.cpp @@ -61,7 +61,7 @@ GuiGamelistOptions::GuiGamelistOptions( // Read the applicable favorite sorting setting depending on whether the // system is a custom collection or not. - if (CollectionSystemManager::get()->getIsCustomCollection(file->getSystem())) + if (isCustomCollection) mFavoritesSorting = Settings::getInstance()->getBool("FavFirstCustom"); else mFavoritesSorting = Settings::getInstance()->getBool("FavoritesFirst"); @@ -253,8 +253,14 @@ GuiGamelistOptions::~GuiGamelistOptions() void GuiGamelistOptions::openGamelistFilter() { + GuiGamelistFilter* ggf; mFiltersChanged = true; - GuiGamelistFilter* ggf = new GuiGamelistFilter(mWindow, mSystem); + + if (isCustomCollection) + ggf = new GuiGamelistFilter(mWindow, getGamelist()->getCursor()->getSystem()); + else + ggf = new GuiGamelistFilter(mWindow, mSystem); + mWindow->pushGui(ggf); } diff --git a/es-app/src/views/gamelist/ISimpleGameListView.cpp b/es-app/src/views/gamelist/ISimpleGameListView.cpp index bd68b7497..e75f0f16f 100644 --- a/es-app/src/views/gamelist/ISimpleGameListView.cpp +++ b/es-app/src/views/gamelist/ISimpleGameListView.cpp @@ -134,9 +134,6 @@ bool ISimpleGameListView::input(InputConfig* config, Input input) onFocusLost(); stopListScrolling(); SystemData* systemToView = getCursor()->getSystem(); - if (systemToView->isCollection()) - systemToView = CollectionSystemManager::get()->getSystemToView(systemToView); - ViewController::get()->goToSystemView(systemToView); }