Status bar consistency improvements

custom
ailurux 1 year ago
parent 0d0c4b2307
commit 01ae3fee30
  1. 46
      lua/browser.lua

@ -17,25 +17,25 @@ return screen:new {
flex_wrap = "wrap", flex_wrap = "wrap",
justify_content = "flex-start", justify_content = "flex-start",
align_items = "flex-start", align_items = "flex-start",
align_content = "flex-start", align_content = "flex-start"
}, },
w = lvgl.HOR_RES(), w = lvgl.HOR_RES(),
h = lvgl.VER_RES(), h = lvgl.VER_RES()
}) })
self.root:center() self.root:center()
self.status_bar = widgets.StatusBar(self.root, { self.status_bar = widgets.StatusBar(self.root, {
title = self.title, back_cb = backstack.pop,
title = self.title
}) })
if self.breadcrumb then
local header = self.root:Object{ local header = self.root:Object{
flex = { flex = {
flex_direction = "column", flex_direction = "column",
flex_wrap = "wrap", flex_wrap = "wrap",
justify_content = "flex-start", justify_content = "flex-start",
align_items = "flex-start", align_items = "flex-start",
align_content = "flex-start", align_content = "flex-start"
}, },
w = lvgl.HOR_RES(), w = lvgl.HOR_RES(),
h = lvgl.SIZE_CONTENT, h = lvgl.SIZE_CONTENT,
@ -43,15 +43,16 @@ return screen:new {
pad_right = 4, pad_right = 4,
pad_bottom = 2, pad_bottom = 2,
bg_opa = lvgl.OPA(100), bg_opa = lvgl.OPA(100),
scrollbar_mode = lvgl.SCROLLBAR_MODE.OFF, scrollbar_mode = lvgl.SCROLLBAR_MODE.OFF
} }
theme.set_style(header, "header") theme.set_style(header, "header")
if self.breadcrumb then
header:Label{ header:Label{
text = self.breadcrumb, text = self.breadcrumb,
text_font = font.fusion_10, text_font = font.fusion_10
} }
end
local buttons = header:Object({ local buttons = header:Object({
flex = { flex = {
@ -59,11 +60,11 @@ return screen:new {
flex_wrap = "wrap", flex_wrap = "wrap",
justify_content = "flex-end", justify_content = "flex-end",
align_items = "center", align_items = "center",
align_content = "center", align_content = "center"
}, },
w = lvgl.PCT(100), w = lvgl.PCT(100),
h = lvgl.SIZE_CONTENT, h = lvgl.SIZE_CONTENT,
pad_column = 4, pad_column = 4
}) })
local original_iterator = self.iterator:clone() local original_iterator = self.iterator:clone()
local enqueue = widgets.IconBtn(buttons, "//lua/img/enqueue.png", "Enqueue") local enqueue = widgets.IconBtn(buttons, "//lua/img/enqueue.png", "Enqueue")
@ -78,25 +79,25 @@ return screen:new {
queue.add(original_iterator) queue.add(original_iterator)
playback.playing:set(true) playback.playing:set(true)
backstack.push(playing) backstack.push(playing)
end end)
)
end
self.list = lvgl.List(self.root, { self.list = lvgl.List(self.root, {
w = lvgl.PCT(100), w = lvgl.PCT(100),
h = lvgl.PCT(100), h = lvgl.PCT(100),
flex_grow = 1, flex_grow = 1,
scrollbar_mode = lvgl.SCROLLBAR_MODE.OFF, scrollbar_mode = lvgl.SCROLLBAR_MODE.OFF
}) })
local back = self.list:add_btn(nil, "< Back") -- local back = self.list:add_btn(nil, "< Back")
back:onClicked(backstack.pop) -- back:onClicked(backstack.pop)
back:add_style(styles.list_item) -- back:add_style(styles.list_item)
self.focused_item = 0 self.focused_item = 0
self.last_item = 0 self.last_item = 0
self.add_item = function(item) self.add_item = function(item)
if not item then return end if not item then
return
end
self.last_item = self.last_item + 1 self.last_item = self.last_item + 1
local this_item = self.last_item local this_item = self.last_item
local btn = self.list:add_btn(nil, tostring(item)) local btn = self.list:add_btn(nil, tostring(item))
@ -106,7 +107,7 @@ return screen:new {
backstack.push(require("browser"):new{ backstack.push(require("browser"):new{
title = self.title, title = self.title,
iterator = contents, iterator = contents,
breadcrumb = tostring(item), breadcrumb = tostring(item)
}) })
else else
queue.clear() queue.clear()
@ -122,11 +123,16 @@ return screen:new {
end end
end) end)
btn:add_style(styles.list_item) btn:add_style(styles.list_item)
if this_item == 1 then
btn:focus()
end
end end
for _ = 1, 8 do for _ = 1, 8 do
local val = self.iterator() local val = self.iterator()
if not val then break end if not val then
break
end
self.add_item(val) self.add_item(val)
end end
end end

Loading…
Cancel
Save