Skip to content

Commit 0b2fb96

Browse files
committed
show date in label
1 parent b98604e commit 0b2fb96

File tree

4 files changed

+8
-3
lines changed

4 files changed

+8
-3
lines changed

src/SongManager.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ struct SongData {
1414
SongType type = SongType::Regular;
1515
unsigned int songLength = std::numeric_limits<unsigned int>::max();
1616
std::uintmax_t songFileSize = std::numeric_limits<std::uintmax_t>::max();
17+
std::filesystem::file_time_type songWriteTime {};
1718
bool isFromConfigOrAltDir = false;
1819
bool isEmpty = false;
1920
};

src/Utils.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ void Utils::popualteSongToSongDataMap() {
471471
const std::vector<std::string>& blacklist = songManager.getBlacklist();
472472
const std::vector<std::string>& favorites = songManager.getFavorites();
473473
std::vector<std::string> tempKeys = {};
474-
std::error_code ec;
474+
std::error_code ec, ed;
475475

476476
for (const std::string_view song : songManager.getSongs()) {
477477
SongType songType = SongType::Regular;
@@ -480,11 +480,13 @@ void Utils::popualteSongToSongDataMap() {
480480

481481
const std::filesystem::path& theirPath = Utils::toProblematicString(song);
482482
std::uintmax_t fileSize = std::filesystem::file_size(theirPath, ec);
483+
std::filesystem::file_time_type fileTime = std::filesystem::last_write_time(theirPath, ed);
483484
SongData songData = {
484485
.actualFilePath = std::string(song),
485486
.fileExtension = Utils::toNormalizedString(theirPath.extension()),
486487
.fileName = Utils::toNormalizedString(theirPath.filename()),
487488
.type = songType, .songFileSize = ec ? std::numeric_limits<std::uintmax_t>::max() : fileSize,
489+
.songWriteTime = ed ? std::filesystem::file_time_type::min() : fileTime,
488490
.isFromConfigOrAltDir = Utils::isFromConfigOrAlternateDir(theirPath.parent_path()),
489491
.isEmpty = false
490492
};

src/ui/MLRSongCell.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ bool MLRSongCell::init(const SongData& songData, const bool isEven, const bool i
7676
cocos2d::CCLabelBMFont* extraInfoLabl = nullptr;
7777
if (isCompact && Utils::getBool("showExtraInfoLabel")) {
7878
extraInfoLabl = cocos2d::CCLabelBMFont::create("PLACEHOLDER SO NOTHING CRASHES", "chatFont.fnt");
79-
extraInfoLabl->setString(fmt::format("{} | {:.2f} sec | {:.2f} MB", songData.fileExtension, songData.songLength / 1000.f, songData.songFileSize / 1000000.f).c_str());
79+
extraInfoLabl->setString(fmt::format("{} | {:.2f} sec | {:.2f} MB | Date: {:%F %T}", songData.fileExtension, songData.songLength / 1000.f, songData.songFileSize / 1000000.f, std::chrono::system_clock::time_point(std::chrono::duration_cast<std::chrono::system_clock::duration>(songData.songWriteTime.time_since_epoch()))).c_str());
8080
extraInfoLabl->setAnchorPoint({.0f, .5f});
8181
extraInfoLabl->setPosition({songNameLabel->getPositionX() + songNameLabel->getScaledContentWidth() + 5.f, this->getContentHeight() / 2.f});
8282
extraInfoLabl->limitLabelWidth(356.f * (.5 / compactModeFactor), std::clamp<float>((.75f / compactModeFactor), .3, .75), .001f);

src/ui/SongListLayer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ void SongListLayer::addSongsToScrollLayer(geode::ScrollLayer* scrollLayer, SongM
4747
float desiredContentHeight = SEARCH_BAR_ENABLED ? 36.f : 0.f; // always start with the height of the blank song cell, which is guaranteed to be 36.f units
4848

4949
const SongToSongData& songToSongData = songManager.getSongToSongDataEntries();
50-
std::error_code ec;
50+
std::error_code ec, ed;
5151

5252
for (const std::string& song : songsVector) {
5353
if (std::ranges::find(alreadyAdded.begin(), alreadyAdded.end(), song) != alreadyAdded.end()) continue;
@@ -67,11 +67,13 @@ void SongListLayer::addSongsToScrollLayer(geode::ScrollLayer* scrollLayer, SongM
6767
songDataFromTheMap = true;
6868
} else {
6969
std::uintmax_t fileSize = std::filesystem::file_size(songFilePath, ec);
70+
std::filesystem::file_time_type fileTime = std::filesystem::last_write_time(songFilePath, ed);
7071
songData = {
7172
.actualFilePath = Utils::toNormalizedString(songFilePath),
7273
.fileExtension = Utils::toNormalizedString(songFilePath.extension()),
7374
.fileName = Utils::toNormalizedString(songFilePath.filename()),
7475
.type = songType, .songFileSize = ec ? std::numeric_limits<std::uintmax_t>::max() : fileSize,
76+
.songWriteTime = ed ? std::filesystem::file_time_type::min() : fileTime,
7577
.isFromConfigOrAltDir = Utils::isFromConfigOrAlternateDir(songFilePath.parent_path()),
7678
.isEmpty = false
7779
};

0 commit comments

Comments
 (0)