1#ifndef YAZE_APP_EDITOR_SHELL_COORDINATOR_RECENT_PROJECTS_MODEL_H_
2#define YAZE_APP_EDITOR_SHELL_COORDINATOR_RECENT_PROJECTS_MODEL_H_
12#include <unordered_map>
73 void Refresh(
bool force =
false);
89 void RelinkRecent(
const std::string& old_path,
const std::string& new_path);
94 void SetPinned(
const std::string& path,
bool pinned);
95 void SetDisplayName(
const std::string& path, std::string display_name);
96 void SetNotes(
const std::string& path, std::string notes);
138 std::uint64_t size_bytes,
139 std::int64_t mtime_epoch_ns);
150 std::unordered_map<std::string, CachedExtras>
cache_;
std::unordered_map< std::string, CachedExtras > cache_
void SetPinned(const std::string &path, bool pinned)
PendingUndo PeekLastRemoval() const
std::filesystem::path CachePath() const
std::uint64_t annotation_generation_
std::uint64_t cached_generation_
std::vector< RecentProject > entries_
bool HasUndoableRemoval() const
void SetDisplayName(const std::string &path, std::string display_name)
void DispatchBackgroundRomScan(const std::string &filepath, std::uint64_t size_bytes, std::int64_t mtime_epoch_ns)
void SetNotes(const std::string &path, std::string notes)
void RelinkRecent(const std::string &old_path, const std::string &new_path)
void Refresh(bool force=false)
void DismissLastRemoval()
std::uint64_t generation() const
void RemoveRecent(const std::string &path)
std::deque< RemovedRecent > undo_buffer_
const std::vector< RecentProject > & entries() const
std::shared_ptr< AsyncScanState > scan_state_
RecentProject BuildEntry(const std::string &filepath)
void AddRecent(const std::string &path)
static constexpr float kUndoWindowSeconds
std::string last_modified
std::int64_t mtime_epoch_ns
std::string thumbnail_path
std::string snes_map_mode
std::string display_name_override
std::string metadata_summary
std::int64_t mtime_epoch_ns
std::string snes_map_mode
std::atomic< bool > cancelled
std::vector< AsyncScanResult > ready
std::unordered_map< std::string, bool > in_flight
std::chrono::steady_clock::time_point expires_at