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 00000000..f22d2ffd Binary files /dev/null and b/lua/img/shuffleplay.png differ 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)