mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-22 14:15:38 +00:00
Fixed an issue where detection of folder-only views was not working.
This commit is contained in:
parent
15ea7a9acd
commit
3ca9f5478a
|
@ -428,7 +428,7 @@ void FileData::removeChild(FileData* file)
|
|||
void FileData::sort(ComparisonFunction& comparator, bool ascending)
|
||||
{
|
||||
mFirstLetterIndex.clear();
|
||||
mOnlyFolders = false;
|
||||
mOnlyFolders = true;
|
||||
bool foldersOnTop = Settings::getInstance()->getBool("FoldersOnTop");
|
||||
std::vector<FileData*> mChildrenFolders;
|
||||
std::vector<FileData*> mChildrenOthers;
|
||||
|
@ -478,6 +478,9 @@ void FileData::sort(ComparisonFunction& comparator, bool ascending)
|
|||
}
|
||||
|
||||
for (auto it = mChildren.cbegin(); it != mChildren.cend(); it++) {
|
||||
if ((*it)->getType() != FOLDER)
|
||||
mOnlyFolders = false;
|
||||
|
||||
if (!(foldersOnTop && (*it)->getType() == FOLDER)) {
|
||||
// Build mFirstLetterIndex.
|
||||
const char firstChar = toupper((*it)->getSortName().front());
|
||||
|
@ -490,7 +493,7 @@ void FileData::sort(ComparisonFunction& comparator, bool ascending)
|
|||
|
||||
// If there are only folders in the gamelist, then it makes sense to still
|
||||
// generate a letter index.
|
||||
if (mChildrenOthers.size() == 0 && mChildrenFolders.size() > 0) {
|
||||
if (mOnlyFolders) {
|
||||
for (unsigned int i = 0; i < mChildrenFolders.size(); i++) {
|
||||
const char firstChar = toupper(mChildrenFolders[i]->getSortName().front());
|
||||
mFirstLetterIndex.push_back(std::string(1, firstChar));
|
||||
|
@ -507,7 +510,7 @@ void FileData::sort(ComparisonFunction& comparator, bool ascending)
|
|||
void FileData::sortFavoritesOnTop(ComparisonFunction& comparator, bool ascending)
|
||||
{
|
||||
mFirstLetterIndex.clear();
|
||||
mOnlyFolders = false;
|
||||
mOnlyFolders = true;
|
||||
std::vector<FileData*> mChildrenFolders;
|
||||
std::vector<FileData*> mChildrenFavorites;
|
||||
std::vector<FileData*> mChildrenOthers;
|
||||
|
@ -534,6 +537,9 @@ void FileData::sortFavoritesOnTop(ComparisonFunction& comparator, bool ascending
|
|||
const char firstChar = toupper(mChildren[i]->getSortName().front());
|
||||
mFirstLetterIndex.push_back(std::string(1, firstChar));
|
||||
}
|
||||
|
||||
if (mChildren[i]->getType() != FOLDER)
|
||||
mOnlyFolders = false;
|
||||
}
|
||||
|
||||
// If there are only favorites in the gamelist, it makes sense to still generate
|
||||
|
@ -553,13 +559,11 @@ void FileData::sortFavoritesOnTop(ComparisonFunction& comparator, bool ascending
|
|||
}
|
||||
// If there are only folders in the gamelist, then it also makes sense to generate
|
||||
// a letter index.
|
||||
else if (mChildrenOthers.size() == 0 && mChildrenFavorites.size() == 0 &&
|
||||
mChildrenFolders.size() > 0) {
|
||||
else if (mOnlyFolders) {
|
||||
for (unsigned int i = 0; i < mChildrenFolders.size(); i++) {
|
||||
const char firstChar = toupper(mChildrenFolders[i]->getSortName().front());
|
||||
mFirstLetterIndex.push_back(std::string(1, firstChar));
|
||||
}
|
||||
mOnlyFolders = true;
|
||||
}
|
||||
|
||||
// Sort and make each entry unique in mFirstLetterIndex.
|
||||
|
|
|
@ -403,6 +403,10 @@ void GuiMetaDataEd::fetchDone(const ScraperSearchResult& result)
|
|||
|
||||
mMediaFilesUpdated = result.savedNewMedia;
|
||||
|
||||
// Curently disabled as I'm not sure if this is more annoying than helpful.
|
||||
// // Select the Save button.
|
||||
// mButtons->moveCursor(Vector2i(1, 0));
|
||||
|
||||
// Check if any values were manually changed before starting the scraping.
|
||||
// If so, it's these values we should compare against when scraping, not
|
||||
// the values previously saved for the game.
|
||||
|
|
Loading…
Reference in a new issue