summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorSam <github@samlord.co.uk>2025-02-23 10:31:15 +0000
committerSam <github@samlord.co.uk>2025-02-23 10:31:15 +0000
commit476a515cd123409d44afffdb725dd5c69b91cb70 (patch)
tree4ae178ec3464427ee06ac89c0414b360b44b5318 /lua
parentb97c7974ea0bd9d4b0add639c699a07750a76a27 (diff)
downloadtangara-fw-476a515cd123409d44afffdb725dd5c69b91cb70.tar.gz
Add icons to the file browser
Diffstat (limited to 'lua')
-rw-r--r--lua/file_browser.lua15
-rw-r--r--lua/images.lua2
-rw-r--r--lua/img/file_icons/music.pngbin0 -> 248 bytes
-rw-r--r--lua/img/file_icons/unknown.pngbin0 -> 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
new file mode 100644
index 00000000..b77e8752
--- /dev/null
+++ b/lua/img/file_icons/music.png
Binary files differ
diff --git a/lua/img/file_icons/unknown.png b/lua/img/file_icons/unknown.png
new file mode 100644
index 00000000..af229f36
--- /dev/null
+++ b/lua/img/file_icons/unknown.png
Binary files differ