From 0bbf279e5ece83756f1463081a1ab6754721085e Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 27 Jun 2024 12:22:53 +1000 Subject: [PATCH] Add a button to shuffle+play the current view --- lua/browser.lua | 10 +++++++++- lua/img/shuffleplay.png | Bin 0 -> 7894 bytes lua/playing.lua | 3 ++- 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 lua/img/shuffleplay.png diff --git a/lua/browser.lua b/lua/browser.lua index 7ea8e240..ce0f7978 100644 --- a/lua/browser.lua +++ b/lua/browser.lua @@ -58,7 +58,7 @@ return screen:new{ flex = { flex_direction = "row", flex_wrap = "wrap", - justify_content = "flex-end", + justify_content = "center", align_items = "center", align_content = "center" }, @@ -72,6 +72,14 @@ return screen:new{ queue.add(original_iterator) playback.playing:set(true) end) + local shuffle_play = widgets.IconBtn(buttons, "//lua/img/shuffleplay.png", "Shuffle") + shuffle_play:onClicked(function() + queue.clear() + queue.random:set(true) + queue.add(original_iterator) + playback.playing:set(true) + backstack.push(playing:new()) + end) -- enqueue:add_flag(lvgl.FLAG.HIDDEN) local play = widgets.IconBtn(buttons, "//lua/img/play_small.png", "Play") play:onClicked(function() diff --git a/lua/img/shuffleplay.png b/lua/img/shuffleplay.png new file mode 100644 index 0000000000000000000000000000000000000000..f22d2ffdc41e316b1ddf4243a24ae237365fe0b9 GIT binary patch literal 7894 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 D{Wu^J literal 0 HcmV?d00001 diff --git a/lua/playing.lua b/lua/playing.lua index 71d95892..6a9488e2 100644 --- a/lua/playing.lua +++ b/lua/playing.lua @@ -243,8 +243,9 @@ return screen:new { if not pos then return end playlist_pos:set { text = tostring(pos) } + local can_next = pos < queue.size:get() or queue.random:get() theme.set_style( - next_img, pos < queue.size:get() and icon_enabled_class or icon_disabled_class + next_img, can_next and icon_enabled_class or icon_disabled_class ) end), queue.random:bind(function(shuffling)