aboutsummaryrefslogtreecommitdiff
path: root/src/Storage.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2020-02-09 19:25:45 +0100
committerdec05eba <dec05eba@protonmail.com>2020-02-09 19:25:45 +0100
commit678d46a791c4e7a8d31c2693c9abce260177b143 (patch)
tree431d31c4794d4f97063c821f7e329c5f06e0e494 /src/Storage.cpp
parent5195c84ee9758b29cf1db696e06140e9a9a5284d (diff)
Sort history by last read time (last updated)
Diffstat (limited to 'src/Storage.cpp')
-rw-r--r--src/Storage.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Storage.cpp b/src/Storage.cpp
index ddfdb11..919044e 100644
--- a/src/Storage.cpp
+++ b/src/Storage.cpp
@@ -131,4 +131,20 @@ namespace QuickMedia {
break;
}
}
+
+ void for_files_in_dir_sort_last_modified(const Path &path, FileIteratorCallback callback) {
+ std::vector<std::filesystem::directory_entry> paths;
+ for(auto &p : std::filesystem::directory_iterator(path.data)) {
+ paths.push_back(p);
+ }
+
+ std::sort(paths.begin(), paths.end(), [](const std::filesystem::directory_entry &path1, std::filesystem::directory_entry &path2) {
+ return path1.last_write_time() > path2.last_write_time();
+ });
+
+ for(auto &p : paths) {
+ if(!callback(p.path()))
+ break;
+ }
+ }
} \ No newline at end of file