Allow for color overrides in the tree view

This commit is contained in:
Joshua Minor 2021-11-21 00:24:24 -08:00
parent b2940d6dc0
commit bede0ff878
1 changed files with 16 additions and 2 deletions

View File

@ -43,6 +43,7 @@ function TreeView:new()
self.cache = {}
self.last = {}
self.tooltip = { x = 0, y = 0, begin = 0, alpha = 0 }
self.color_overrides = {}
end
@ -295,6 +296,16 @@ function TreeView:draw_tooltip()
end
function TreeView:set_color_override(abs_filename, color)
self.color_overrides[abs_filename] = color
end
function TreeView:clear_all_color_overrides()
self.color_overrides = {}
end
function TreeView:draw()
self:draw_background(style.background2)
@ -318,6 +329,9 @@ function TreeView:draw()
color = style.accent
end
-- allow for color overrides
local icon_color = self.color_overrides[item.abs_filename] or color
-- icons
x = x + item.depth * style.padding.x + style.padding.x
if item.type == "dir" then
@ -325,11 +339,11 @@ function TreeView:draw()
local icon2 = item.expanded and "D" or "d"
common.draw_text(style.icon_font, color, icon1, nil, x, y, 0, h)
x = x + style.padding.x
common.draw_text(style.icon_font, color, icon2, nil, x, y, 0, h)
common.draw_text(style.icon_font, icon_color, icon2, nil, x, y, 0, h)
x = x + icon_width
else
x = x + style.padding.x
common.draw_text(style.icon_font, color, "f", nil, x, y, 0, h)
common.draw_text(style.icon_font, icon_color, "f", nil, x, y, 0, h)
x = x + icon_width
end