Merge pull request #285 from tomaz82/fix_hidden

Add SystemData::indexAllGameFilters (fixes bug #281)
This commit is contained in:
Jools Wills 2017-11-04 16:33:51 +00:00 committed by GitHub
commit f8a297ff51
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 8 deletions

View file

@ -144,14 +144,6 @@ void parseGamelist(SystemData* system)
file->metadata.set("name", defaultName);
file->metadata.resetChangedFlag();
// index if it's a game!
if(type == GAME)
{
FileFilterIndex* index = system->getIndex();
index->addToIndex(file);
}
}
}
}

View file

@ -36,6 +36,8 @@ SystemData::SystemData(const std::string& name, const std::string& fullName, Sys
parseGamelist(this);
mRootFolder->sort(FileSorts::SortTypes.at(0));
indexAllGameFilters(mRootFolder);
}
else
{
@ -145,6 +147,20 @@ void SystemData::populateFolder(FileData* folder)
}
}
void SystemData::indexAllGameFilters(const FileData* folder)
{
const std::vector<FileData*>& children = folder->getChildren();
for(std::vector<FileData*>::const_iterator it = children.begin(); it != children.end(); ++it)
{
switch((*it)->getType())
{
case GAME: { mFilterIndex->addToIndex(*it); } break;
case FOLDER: { indexAllGameFilters(*it); } break;
}
}
}
std::vector<std::string> readList(const std::string& str, const char* delims = " \t\r\n,")
{
std::vector<std::string> ret;

View file

@ -77,6 +77,7 @@ private:
std::shared_ptr<ThemeData> mTheme;
void populateFolder(FileData* folder);
void indexAllGameFilters(const FileData* folder);
void setIsGameSystemStatus();
FileFilterIndex* mFilterIndex;