Merge pull request from tomaz82/isHidden

Add windows support to isHidden
This commit is contained in:
Jools Wills 2017-10-26 15:26:10 +01:00 committed by GitHub
commit 66cd87489f
2 changed files with 7 additions and 14 deletions

View file

@ -63,20 +63,17 @@ void SystemData::setIsGameSystemStatus()
mIsGameSystem = (mName != "retropie"); mIsGameSystem = (mName != "retropie");
} }
#ifndef WIN32 // test to see if a file is hidden
// test to see if a file is hidden in *nix (dot-prefixed)
// could be expanded to check for Windows hidden attribute
bool isHidden(const fs::path &filePath) bool isHidden(const fs::path &filePath)
{ {
#ifdef WIN32
const DWORD Attributes = GetFileAttributes(filePath.generic_string().c_str());
return (Attributes != INVALID_FILE_ATTRIBUTES) && (Attributes & FILE_ATTRIBUTE_HIDDEN);
#else
fs::path::string_type fileName = filePath.filename().string(); fs::path::string_type fileName = filePath.filename().string();
if(fileName[0] == '.') return fileName[0] == '.';
{
return true;
}
return false;
}
#endif #endif
}
void SystemData::populateFolder(FileData* folder) void SystemData::populateFolder(FileData* folder)
{ {
@ -121,11 +118,9 @@ void SystemData::populateFolder(FileData* folder)
isGame = false; isGame = false;
if(std::find(mEnvData->mSearchExtensions.begin(), mEnvData->mSearchExtensions.end(), extension) != mEnvData->mSearchExtensions.end()) if(std::find(mEnvData->mSearchExtensions.begin(), mEnvData->mSearchExtensions.end(), extension) != mEnvData->mSearchExtensions.end())
{ {
#ifndef WIN32
// skip hidden files // skip hidden files
if(!showHidden && isHidden(filePath)) if(!showHidden && isHidden(filePath))
continue; continue;
#endif
FileData* newGame = new FileData(GAME, filePath.generic_string(), mEnvData, this); FileData* newGame = new FileData(GAME, filePath.generic_string(), mEnvData, this);
folder->addChild(newGame); folder->addChild(newGame);

View file

@ -52,11 +52,9 @@ bool parseArgs(int argc, char* argv[], unsigned int* width, unsigned int* height
}else if(strcmp(argv[i], "--ignore-gamelist") == 0) }else if(strcmp(argv[i], "--ignore-gamelist") == 0)
{ {
Settings::getInstance()->setBool("IgnoreGamelist", true); Settings::getInstance()->setBool("IgnoreGamelist", true);
#ifndef WIN32
}else if(strcmp(argv[i], "--show-hidden-files") == 0) }else if(strcmp(argv[i], "--show-hidden-files") == 0)
{ {
Settings::getInstance()->setBool("ShowHiddenFiles", true); Settings::getInstance()->setBool("ShowHiddenFiles", true);
#endif
}else if(strcmp(argv[i], "--draw-framerate") == 0) }else if(strcmp(argv[i], "--draw-framerate") == 0)
{ {
Settings::getInstance()->setBool("DrawFramerate", true); Settings::getInstance()->setBool("DrawFramerate", true);