mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2025-02-25 07:45:40 +00:00
Fixed an issue where filtered custom collection games were displayed in the grouped custom collections view.
This commit is contained in:
parent
5efe3be338
commit
af03efc7c6
|
@ -759,18 +759,19 @@ SystemData* CollectionSystemsManager::getSystemToView(SystemData* sys)
|
||||||
FileData* CollectionSystemsManager::updateCollectionFolderMetadata(SystemData* sys)
|
FileData* CollectionSystemsManager::updateCollectionFolderMetadata(SystemData* sys)
|
||||||
{
|
{
|
||||||
FileData* rootFolder = sys->getRootFolder();
|
FileData* rootFolder = sys->getRootFolder();
|
||||||
std::string desc = "This collection is empty.";
|
FileFilterIndex* idx = rootFolder->getSystem()->getIndex();
|
||||||
|
std::string desc = "This collection is empty";
|
||||||
std::vector<FileData*> gamesList;
|
std::vector<FileData*> gamesList;
|
||||||
std::vector<FileData*> gamesListRandom;
|
std::vector<FileData*> gamesListRandom;
|
||||||
|
|
||||||
if (UIModeController::getInstance()->isUIModeKid()) {
|
if (UIModeController::getInstance()->isUIModeKid()) {
|
||||||
for (FileData* game : rootFolder->getChildren()) {
|
for (FileData* game : rootFolder->getChildrenListToDisplay()) {
|
||||||
if (game->getKidgame())
|
if (game->getKidgame())
|
||||||
gamesList.push_back(game);
|
gamesList.push_back(game);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
gamesList = rootFolder->getChildren();
|
gamesList = rootFolder->getChildrenListToDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int gameCount = static_cast<unsigned int>(gamesList.size());
|
unsigned int gameCount = static_cast<unsigned int>(gamesList.size());
|
||||||
|
@ -802,14 +803,14 @@ FileData* CollectionSystemsManager::updateCollectionFolderMetadata(SystemData* s
|
||||||
case 1:
|
case 1:
|
||||||
desc = "This collection contains 1 game: '" +
|
desc = "This collection contains 1 game: '" +
|
||||||
gamesList[0]->metadata.get("name") + " [" +
|
gamesList[0]->metadata.get("name") + " [" +
|
||||||
gamesList[0]->getSourceFileData()->getSystem()->getName() + "]'.";
|
gamesList[0]->getSourceFileData()->getSystem()->getName() + "]'";
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
desc = "This collection contains 2 games: '" +
|
desc = "This collection contains 2 games: '" +
|
||||||
gamesList[0]->metadata.get("name") + " [" +
|
gamesList[0]->metadata.get("name") + " [" +
|
||||||
gamesList[0]->getSourceFileData()->getSystem()->getName() +
|
gamesList[0]->getSourceFileData()->getSystem()->getName() +
|
||||||
"]' and '" + gamesList[1]->metadata.get("name") + " [" +
|
"]' and '" + gamesList[1]->metadata.get("name") + " [" +
|
||||||
gamesList[1]->getSourceFileData()->getSystem()->getName() + "]'.";
|
gamesList[1]->getSourceFileData()->getSystem()->getName() + "]'";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
desc = "This collection contains " + std::to_string(gameCount) +
|
desc = "This collection contains " + std::to_string(gameCount) +
|
||||||
|
@ -819,7 +820,7 @@ FileData* CollectionSystemsManager::updateCollectionFolderMetadata(SystemData* s
|
||||||
gamesList[1]->getSourceFileData()->getSystem()->getName() + "]' and '" +
|
gamesList[1]->getSourceFileData()->getSystem()->getName() + "]' and '" +
|
||||||
gamesList[2]->metadata.get("name") + " [" +
|
gamesList[2]->metadata.get("name") + " [" +
|
||||||
gamesList[2]->getSourceFileData()->getSystem()->getName() + "]'";
|
gamesList[2]->getSourceFileData()->getSystem()->getName() + "]'";
|
||||||
desc += (gameCount == 3 ? "." : ", among others.");
|
desc += (gameCount == 3 ? "" : ", among others");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -827,25 +828,30 @@ FileData* CollectionSystemsManager::updateCollectionFolderMetadata(SystemData* s
|
||||||
switch (gameCount) {
|
switch (gameCount) {
|
||||||
case 1:
|
case 1:
|
||||||
desc = "This collection contains 1 game: '" +
|
desc = "This collection contains 1 game: '" +
|
||||||
gamesList[0]->metadata.get("name") + " '.";
|
gamesList[0]->metadata.get("name") + " '";
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
desc = "This collection contains 2 games: '" +
|
desc = "This collection contains 2 games: '" +
|
||||||
gamesList[0]->metadata.get("name") +
|
gamesList[0]->metadata.get("name") +
|
||||||
"' and '" + gamesList[1]->metadata.get("name") + "'.";
|
"' and '" + gamesList[1]->metadata.get("name") + "'";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
desc = "This collection contains " + std::to_string(gameCount) +
|
desc = "This collection contains " + std::to_string(gameCount) +
|
||||||
" games: '" + gamesList[0]->metadata.get("name") +
|
" games: '" + gamesList[0]->metadata.get("name") +
|
||||||
"', '" + gamesList[1]->metadata.get("name") + "' and '" +
|
"', '" + gamesList[1]->metadata.get("name") + "' and '" +
|
||||||
gamesList[2]->metadata.get("name") + "'";
|
gamesList[2]->metadata.get("name") + "'";
|
||||||
desc += (gameCount == 3 ? "." : ", among others.");
|
desc += (gameCount == 3 ? "" : ", among others");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (idx->isFiltered())
|
||||||
|
desc += "\n\n'" + rootFolder->getSystem()->getFullName() +
|
||||||
|
"' is filtered so there may be more games available";
|
||||||
|
|
||||||
rootFolder->metadata.set("desc", desc);
|
rootFolder->metadata.set("desc", desc);
|
||||||
|
|
||||||
// Return a pointer to the first game so that its
|
// Return a pointer to the first game so that its
|
||||||
// game media can be displayed in the gamelist.
|
// game media can be displayed in the gamelist.
|
||||||
if (gamesList.size() > 0)
|
if (gamesList.size() > 0)
|
||||||
|
|
Loading…
Reference in a new issue