fix: bug in font menu

This commit is contained in:
Qingping Hou
2012-02-28 23:05:26 +08:00
parent fd1ccee911
commit ec33e51d87
2 changed files with 13 additions and 7 deletions

View File

@@ -153,12 +153,15 @@ function FileChooser:choose(ypos, height)
elseif ev.code == KEY_FW_DOWN then
nextItem()
elseif ev.code == KEY_F then -- invoke fontchooser menu
FontChooser:init()
fonts_menu = SelectMenu:new{
menu_title = "Fonts Menu",
item_array = FontChooser.fonts,
}
FontChooser.cfont = FontChooser.fonts[fonts_menu:choose(0, height)]
local re = fonts_menu:choose(0, height)
if re then
FontChooser.cfont = FontChooser.fonts[re]
FontChooser:init()
end
pagedirty = true
elseif ev.code == KEY_S then -- invoke search input
keywords = InputBox:input(height-100, 100, "Search:")
@@ -169,8 +172,8 @@ function FileChooser:choose(ypos, height)
|| to test search feature in EMU mode
----------------------------------------------------------------
--]]
--FileSearcher:init("/home/dave/documents/kindle/backup/documents")
FileSearcher:init()
FileSearcher:init("/home/dave/documents/kindle/backup/documents")
--FileSearcher:init()
file = FileSearcher:choose(ypos, height, keywords)
if file then
return file

View File

@@ -116,7 +116,6 @@ function FileSearcher:choose(ypos, height, keywords)
local perpage = math.floor(height / self.spacing) - 2
local pagedirty = true
local markerdirty = false
self:updateFont()
local prevItem = function ()
if self.current == 1 then
@@ -154,6 +153,7 @@ function FileSearcher:choose(ypos, height, keywords)
end
while true do
self:updateFont()
if pagedirty then
markerdirty = true
fb.bb:paintRect(0, ypos, fb.bb:getWidth(), height, 0)
@@ -249,12 +249,15 @@ function FileSearcher:choose(ypos, height, keywords)
end
pagedirty = true
elseif ev.code == KEY_F then -- invoke fontchooser menu
FontChooser:init()
fonts_menu = SelectMenu:new{
menu_title = "Fonts Menu",
item_array = FontChooser.fonts,
}
FontChooser.cfont = FontChooser.fonts[fonts_menu:choose(0, height)]
local re = fonts_menu:choose(0, height)
if re then
FontChooser.cfont = FontChooser.fonts[re]
FontChooser:init()
end
pagedirty = true
elseif ev.code == KEY_ENTER or ev.code == KEY_FW_PRESS then
file_entry = self.result[perpage*(self.page-1)+self.current]