mirror of
https://github.com/koreader/koreader.git
synced 2025-12-24 12:14:05 +01:00
This should finish the work to make all globals to local variables. That allows LuaJIT to properly compile things by interning the references to the relevant parts (rather than looking up globals all the time which stops a trace).
82 lines
1.8 KiB
Lua
82 lines
1.8 KiB
Lua
local InputContainer = require("ui/widget/container/inputcontainer")
|
|
local CenterContainer = require("ui/widget/container/centercontainer")
|
|
local Menu = require("ui/widget/menu")
|
|
local Screen = require("ui/screen")
|
|
local UIManager = require("ui/uimanager")
|
|
local DocSettings = require("docsettings")
|
|
local _ = require("gettext")
|
|
|
|
local FileManagerHistory = InputContainer:extend{
|
|
hist_menu_title = _("History"),
|
|
}
|
|
|
|
function FileManagerHistory:init()
|
|
self.ui.menu:registerToMainMenu(self)
|
|
end
|
|
|
|
function FileManagerHistory:onSetDimensions(dimen)
|
|
self.dimen = dimen
|
|
end
|
|
|
|
function FileManagerHistory:onShowHist()
|
|
self:updateItemTable()
|
|
|
|
local menu_container = CenterContainer:new{
|
|
dimen = Screen:getSize(),
|
|
}
|
|
|
|
local hist_menu = Menu:new{
|
|
title = _("History"),
|
|
item_table = self.hist,
|
|
ui = self.ui,
|
|
width = Screen:getWidth()-50,
|
|
height = Screen:getHeight()-50,
|
|
show_parent = menu_container,
|
|
}
|
|
|
|
table.insert(menu_container, hist_menu)
|
|
|
|
hist_menu.close_callback = function()
|
|
UIManager:close(menu_container)
|
|
end
|
|
|
|
UIManager:show(menu_container)
|
|
return true
|
|
end
|
|
|
|
function FileManagerHistory:addToMainMenu(tab_item_table)
|
|
-- insert table to main reader menu
|
|
table.insert(tab_item_table.main, {
|
|
text = self.hist_menu_title,
|
|
callback = function()
|
|
self:onShowHist()
|
|
end,
|
|
})
|
|
end
|
|
|
|
function FileManagerHistory:updateItemTable()
|
|
function readHistDir(order_arg, re)
|
|
local pipe_out = io.popen("ls "..order_arg.." -1 ./history")
|
|
for f in pipe_out:lines() do
|
|
table.insert(re, {
|
|
dir = DocSettings:getPathFromHistory(f),
|
|
name = DocSettings:getNameFromHistory(f),
|
|
})
|
|
end
|
|
end
|
|
|
|
self.hist = {}
|
|
local last_files = {}
|
|
readHistDir("-c", last_files)
|
|
for _,v in pairs(last_files) do
|
|
table.insert(self.hist, {
|
|
text = v.name,
|
|
callback = function()
|
|
showReaderUI(v.dir .. "/" .. v.name)
|
|
end
|
|
})
|
|
end
|
|
end
|
|
|
|
return FileManagerHistory
|