From 476a515cd123409d44afffdb725dd5c69b91cb70 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 23 Feb 2025 10:31:15 +0000 Subject: Add icons to the file browser --- lua/file_browser.lua | 15 +++++++++++++++ lua/images.lua | 2 ++ lua/img/file_icons/music.png | Bin 0 -> 248 bytes lua/img/file_icons/unknown.png | Bin 0 -> 255 bytes 4 files changed, 17 insertions(+) create mode 100644 lua/img/file_icons/music.png create mode 100644 lua/img/file_icons/unknown.png (limited to 'lua') diff --git a/lua/file_browser.lua b/lua/file_browser.lua index 6289828f..944a692e 100644 --- a/lua/file_browser.lua +++ b/lua/file_browser.lua @@ -13,6 +13,8 @@ local theme = require("theme") local screen = require("screen") local filesystem = require("filesystem") local playlist_iterator = require("playlist_iterator") +local img = require("images") + return screen:new { create_ui = function(self) @@ -58,8 +60,21 @@ return screen:new { } end + local get_icon_func = function(item) + if item:is_directory() then + return img.file_directory + elseif playlist_iterator:is_playlist(item) then + return img.file_playlist + elseif playback.is_playable(item:filepath()) then + return img.file_music + else + return img.unknown + end + end + widgets.InfiniteList(self.root, self.iterator, { focus_first_item = true, + get_icon = get_icon_func, callback = function(item) return function() local is_dir = item:is_directory() diff --git a/lua/images.lua b/lua/images.lua index 69bd8e4b..21a1aa9a 100644 --- a/lua/images.lua +++ b/lua/images.lua @@ -31,6 +31,8 @@ local img = { menu = lvgl.ImgData("//lua/img/menu.png"), file_directory = lvgl.ImgData("//lua/img/file_icons/directory.png"), file_playlist = lvgl.ImgData("//lua/img/file_icons/playlist.png"), + file_music = lvgl.ImgData("//lua/img/file_icons/music.png"), + unknown = lvgl.ImgData("//lua/img/file_icons/unknown.png"), } return img diff --git a/lua/img/file_icons/music.png b/lua/img/file_icons/music.png new file mode 100644 index 00000000..b77e8752 Binary files /dev/null and b/lua/img/file_icons/music.png differ diff --git a/lua/img/file_icons/unknown.png b/lua/img/file_icons/unknown.png new file mode 100644 index 00000000..af229f36 Binary files /dev/null and b/lua/img/file_icons/unknown.png differ -- cgit v1.2.3