aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/LocalAnime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/LocalAnime.cpp')
-rw-r--r--src/plugins/LocalAnime.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/plugins/LocalAnime.cpp b/src/plugins/LocalAnime.cpp
index 14329cc..a47ea74 100644
--- a/src/plugins/LocalAnime.cpp
+++ b/src/plugins/LocalAnime.cpp
@@ -172,7 +172,10 @@ namespace QuickMedia {
}
update_modified_time_from_episodes(grouped_anime.anime);
- sort_anime_items_by_name_desc(grouped_anime.anime.items);
+ if(get_config().local_anime.sort_by_name)
+ sort_anime_items_by_name_desc(grouped_anime.anime.items);
+ else
+ sort_anime_items_by_timestamp_asc(grouped_anime.anime.items);
grouped_items.push_back(std::move(grouped_anime.anime));
}
@@ -202,7 +205,7 @@ namespace QuickMedia {
static std::vector<LocalAnimeItem> get_episodes_or_seasons_in_directory(const Path &directory) {
std::vector<LocalAnimeItem> anime_items;
- for_files_in_dir_sort_name(directory, [&](const Path &filepath, FileType file_type) -> bool {
+ auto callback = [&](const Path &filepath, FileType file_type) -> bool {
time_t modified_time_seconds;
if(!file_get_last_modified_time_seconds(filepath.data.c_str(), &modified_time_seconds))
return true;
@@ -222,7 +225,13 @@ namespace QuickMedia {
anime_items.push_back(std::move(season));
return true;
- }, FileSortDirection::DESC);
+ };
+
+ if(get_config().local_anime.sort_by_name)
+ for_files_in_dir_sort_name(directory, std::move(callback), FileSortDirection::DESC);
+ else
+ for_files_in_dir_sort_last_modified(directory, std::move(callback));
+
return anime_items;
}