diff --git a/es-app/src/FileSorts.cpp b/es-app/src/FileSorts.cpp index b985c0ae69..0d065b2058 100644 --- a/es-app/src/FileSorts.cpp +++ b/es-app/src/FileSorts.cpp @@ -6,6 +6,9 @@ namespace FileSorts FileData::SortType(&compareFileName, true, "filename, ascending"), FileData::SortType(&compareFileName, false, "filename, descending"), + FileData::SortType(&compareName, true, "name, ascending"), + FileData::SortType(&compareName, false, "name, descending"), + FileData::SortType(&compareRating, true, "rating, ascending"), FileData::SortType(&compareRating, false, "rating, descending"), @@ -69,4 +72,15 @@ namespace FileSorts return false; } + + bool compareName(const FileData* file1, const FileData* file2) + { + //only games have name metadata + if(file1->metadata.getType() == GAME_METADATA && file2->metadata.getType() == GAME_METADATA) + { + return (file1)->metadata.get("name") < (file2)->metadata.get("name"); + } + + return false; + } }; diff --git a/es-app/src/FileSorts.h b/es-app/src/FileSorts.h index e9f662437b..659442983d 100644 --- a/es-app/src/FileSorts.h +++ b/es-app/src/FileSorts.h @@ -9,6 +9,7 @@ namespace FileSorts bool compareRating(const FileData* file1, const FileData* file2); bool compareTimesPlayed(const FileData* file1, const FileData* fil2); bool compareLastPlayed(const FileData* file1, const FileData* file2); + bool compareName(const FileData* file1, const FileData* file2); extern const std::vector SortTypes; };