diff --git a/src/activities/home/FileBrowserActivity.cpp b/src/activities/home/FileBrowserActivity.cpp index b47efc6c..3b14031b 100644 --- a/src/activities/home/FileBrowserActivity.cpp +++ b/src/activities/home/FileBrowserActivity.cpp @@ -239,7 +239,11 @@ void FileBrowserActivity::loop() { std::string getFileName(std::string filename) { if (filename.back() == '/') { - return filename.substr(0, filename.length() - 1); + filename.pop_back(); + if (!UITheme::getInstance().getTheme().showsFileIcons()) { + return "[" + filename + "]"; + } + return filename; } const auto pos = filename.rfind('.'); return filename.substr(0, pos); diff --git a/src/components/themes/BaseTheme.h b/src/components/themes/BaseTheme.h index 212f6e82..6878f555 100644 --- a/src/components/themes/BaseTheme.h +++ b/src/components/themes/BaseTheme.h @@ -141,4 +141,5 @@ class BaseTheme { virtual void drawHelpText(const GfxRenderer& renderer, Rect rect, const char* label) const; virtual void drawTextField(const GfxRenderer& renderer, Rect rect, const int textWidth) const; virtual void drawKeyboardKey(const GfxRenderer& renderer, Rect rect, const char* label, const bool isSelected) const; + virtual bool showsFileIcons() const { return false; } }; diff --git a/src/components/themes/lyra/LyraTheme.h b/src/components/themes/lyra/LyraTheme.h index 1e953a81..4e20390e 100644 --- a/src/components/themes/lyra/LyraTheme.h +++ b/src/components/themes/lyra/LyraTheme.h @@ -68,4 +68,5 @@ class LyraTheme : public BaseTheme { void fillPopupProgress(const GfxRenderer& renderer, const Rect& layout, const int progress) const override; void drawTextField(const GfxRenderer& renderer, Rect rect, const int textWidth) const override; void drawKeyboardKey(const GfxRenderer& renderer, Rect rect, const char* label, const bool isSelected) const override; + bool showsFileIcons() const override { return true; } };