From 5349e81723b68d7d33f5223ef0bfdedf96d0d810 Mon Sep 17 00:00:00 2001 From: CaptainFrito Date: Thu, 9 Apr 2026 21:54:46 +0700 Subject: [PATCH] feat: Display file extensions in File Browser (#1019) ## Summary ![IMG_8136 Medium](https://github.com/user-attachments/assets/e33a8a71-4126-4bdc-8d3a-32132acba712) ![IMG_8137 Medium](https://github.com/user-attachments/assets/2289fbee-71e8-446c-ad28-9dd4a9a21396) ![IMG_8138 Medium](https://github.com/user-attachments/assets/0e912f72-9be1-4708-a909-4dab192d1aea) ## Additional Context Do we want a setting to toggle this? --- ### AI Usage Did you use AI tools to help write this code? _**NO**_ --- src/activities/home/FileBrowserActivity.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/activities/home/FileBrowserActivity.cpp b/src/activities/home/FileBrowserActivity.cpp index 3b14031b5..9ac714ebb 100644 --- a/src/activities/home/FileBrowserActivity.cpp +++ b/src/activities/home/FileBrowserActivity.cpp @@ -249,6 +249,14 @@ std::string getFileName(std::string filename) { return filename.substr(0, pos); } +std::string getFileExtension(std::string filename) { + if (filename.back() == '/') { + return ""; + } + const auto pos = filename.rfind('.'); + return filename.substr(pos); +} + void FileBrowserActivity::render(RenderLock&&) { renderer.clearScreen(); @@ -267,7 +275,8 @@ void FileBrowserActivity::render(RenderLock&&) { GUI.drawList( renderer, Rect{0, contentTop, pageWidth, contentHeight}, files.size(), selectorIndex, [this](int index) { return getFileName(files[index]); }, nullptr, - [this](int index) { return UITheme::getFileIcon(files[index]); }); + [this](int index) { return UITheme::getFileIcon(files[index]); }, + [this](int index) { return getFileExtension(files[index]); }, false); } // Help text