Allow for color overrides in the tree view
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user