parent
7137f88b4c
commit
2765cbd92b
|
@ -402,6 +402,10 @@ function core.init()
|
||||||
local cur_node = core.root_view.root_node
|
local cur_node = core.root_view.root_node
|
||||||
cur_node.is_primary_node = true
|
cur_node.is_primary_node = true
|
||||||
cur_node = cur_node:split("down", core.command_view, true)
|
cur_node = cur_node:split("down", core.command_view, true)
|
||||||
|
local got_toolbar, ToolbarView = core.try(require, "plugins.toolbarview")
|
||||||
|
if got_toolbar then
|
||||||
|
cur_node = cur_node:split("up", ToolbarView(), true)
|
||||||
|
end
|
||||||
cur_node = cur_node:split("down", core.status_view, true)
|
cur_node = cur_node:split("down", core.status_view, true)
|
||||||
|
|
||||||
core.project_scan_thread_id = core.add_thread(project_scan_thread)
|
core.project_scan_thread_id = core.add_thread(project_scan_thread)
|
||||||
|
|
|
@ -23,7 +23,8 @@ style.tab_width = common.round(170 * SCALE)
|
||||||
-- The antialiasing grayscale with full hinting is interesting for crisp font rendering.
|
-- The antialiasing grayscale with full hinting is interesting for crisp font rendering.
|
||||||
style.font = renderer.font.load(DATADIR .. "/fonts/font.ttf", 14 * SCALE)
|
style.font = renderer.font.load(DATADIR .. "/fonts/font.ttf", 14 * SCALE)
|
||||||
style.big_font = renderer.font.load(DATADIR .. "/fonts/font.ttf", 34 * SCALE)
|
style.big_font = renderer.font.load(DATADIR .. "/fonts/font.ttf", 34 * SCALE)
|
||||||
style.icon_font = renderer.font.load(DATADIR .. "/fonts/icons.ttf", 14 * SCALE, {antialiasing="grayscale", hinting="full"})
|
style.icon_font = renderer.font.load(DATADIR .. "/fonts/fontello.ttf", 14 * SCALE, {antialiasing="grayscale", hinting="full"})
|
||||||
|
style.icon_big_font = renderer.font.load(DATADIR .. "/fonts/fontello.ttf", 20 * SCALE, {antialiasing="grayscale", hinting="full"})
|
||||||
style.code_font = renderer.font.load(DATADIR .. "/fonts/monospace.ttf", 13.5 * SCALE)
|
style.code_font = renderer.font.load(DATADIR .. "/fonts/monospace.ttf", 13.5 * SCALE)
|
||||||
|
|
||||||
style.background = { common.color "#2e2e32" }
|
style.background = { common.color "#2e2e32" }
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
local core = require "core"
|
|
||||||
local common = require "core.common"
|
|
||||||
local command = require "core.command"
|
|
||||||
-- local config = require "core.config"
|
|
||||||
local style = require "core.style"
|
|
||||||
-- local DocView = require "core.docview"
|
|
||||||
local View = require "core.view"
|
|
||||||
|
|
||||||
|
|
||||||
local ToolbarView = View:extend()
|
|
||||||
|
|
||||||
local toolbar_commands = {
|
|
||||||
{"f", "core:open-file"},
|
|
||||||
{"S", "doc:save"},
|
|
||||||
{"L", "core:find-file"},
|
|
||||||
}
|
|
||||||
|
|
||||||
function ToolbarView:new()
|
|
||||||
ToolbarView.super.new(self)
|
|
||||||
end
|
|
||||||
|
|
||||||
function ToolbarView:update()
|
|
||||||
self.size.y = style.icon_font:get_height() + style.padding.y * 2
|
|
||||||
|
|
||||||
if system.get_time() < self.message_timeout then
|
|
||||||
self.scroll.to.y = self.size.y
|
|
||||||
else
|
|
||||||
self.scroll.to.y = 0
|
|
||||||
end
|
|
||||||
|
|
||||||
ToolbarView.super.update(self)
|
|
||||||
end
|
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
local core = require "core"
|
||||||
|
local common = require "core.common"
|
||||||
|
local command = require "core.command"
|
||||||
|
local style = require "core.style"
|
||||||
|
local View = require "core.view"
|
||||||
|
|
||||||
|
local icon_h, icon_w = style.icon_big_font:get_height(), style.icon_big_font:get_width("D")
|
||||||
|
|
||||||
|
local spacing = {
|
||||||
|
margin = {x = icon_w / 2, y = icon_h / 3},
|
||||||
|
padding = {x = icon_w / 2, y = 0},
|
||||||
|
}
|
||||||
|
|
||||||
|
local ToolbarView = View:extend()
|
||||||
|
|
||||||
|
local toolbar_commands = {
|
||||||
|
{"f", "core:open-file"},
|
||||||
|
{"S", "doc:save"},
|
||||||
|
{"L", "core:find-file"},
|
||||||
|
}
|
||||||
|
|
||||||
|
function ToolbarView:new()
|
||||||
|
ToolbarView.super.new(self)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ToolbarView:update()
|
||||||
|
self.size.x = (icon_w + spacing.padding.x) * #toolbar_commands - spacing.padding.x + 2 * spacing.margin.x
|
||||||
|
self.size.y = style.icon_big_font:get_height() + style.padding.y * 2
|
||||||
|
ToolbarView.super.update(self)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ToolbarView:draw()
|
||||||
|
self:draw_background(style.background2)
|
||||||
|
|
||||||
|
local x, y = self:get_content_offset()
|
||||||
|
x = x + spacing.margin.x
|
||||||
|
for i, item in ipairs(toolbar_commands) do
|
||||||
|
x = common.draw_text(style.icon_big_font, style.text, item[1], nil, x, y, 0, self.size.y)
|
||||||
|
x = x + spacing.padding.x
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- init
|
||||||
|
if false then
|
||||||
|
local view = ToolbarView()
|
||||||
|
local node = core.root_view:get_active_node()
|
||||||
|
node:split("up", view, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- register commands and keymap
|
||||||
|
--[[command.add(nil, {
|
||||||
|
["toolbar:toggle"] = function()
|
||||||
|
view.visible = not view.visible
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
keymap.add { ["ctrl+\\"] = "treeview:toggle" }
|
||||||
|
]]
|
||||||
|
|
||||||
|
return ToolbarView
|
Loading…
Reference in New Issue