diff options
| author | Sam <github@samlord.co.uk> | 2025-02-23 10:31:15 +0000 |
|---|---|---|
| committer | Sam <github@samlord.co.uk> | 2025-02-23 10:31:15 +0000 |
| commit | 476a515cd123409d44afffdb725dd5c69b91cb70 (patch) | |
| tree | 4ae178ec3464427ee06ac89c0414b360b44b5318 /lua | |
| parent | b97c7974ea0bd9d4b0add639c699a07750a76a27 (diff) | |
| download | tangara-fw-476a515cd123409d44afffdb725dd5c69b91cb70.tar.gz | |
Add icons to the file browser
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/file_browser.lua | 15 | ||||
| -rw-r--r-- | lua/images.lua | 2 | ||||
| -rw-r--r-- | lua/img/file_icons/music.png | bin | 0 -> 248 bytes | |||
| -rw-r--r-- | lua/img/file_icons/unknown.png | bin | 0 -> 255 bytes |
4 files changed, 17 insertions, 0 deletions
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 Binary files differnew file mode 100644 index 00000000..b77e8752 --- /dev/null +++ b/lua/img/file_icons/music.png diff --git a/lua/img/file_icons/unknown.png b/lua/img/file_icons/unknown.png Binary files differnew file mode 100644 index 00000000..af229f36 --- /dev/null +++ b/lua/img/file_icons/unknown.png |
