diff --git a/filechooser.lua b/filechooser.lua index d7007f9ee..04f4db7dc 100644 --- a/filechooser.lua +++ b/filechooser.lua @@ -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:") diff --git a/filesearcher.lua b/filesearcher.lua index 1c6199631..6466b2098 100644 --- a/filesearcher.lua +++ b/filesearcher.lua @@ -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) @@ -248,6 +248,17 @@ function FileSearcher:choose(ypos, height, keywords) keywords = old_keywords end pagedirty = true + elseif ev.code == KEY_F then -- invoke fontchooser menu + fonts_menu = SelectMenu:new{ + menu_title = "Fonts Menu", + item_array = FontChooser.fonts, + } + 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] file_path = file_entry.dir .. "/" .. file_entry.name diff --git a/pdfreader.lua b/pdfreader.lua index bc8b0b37d..ef9a7ab58 100644 --- a/pdfreader.lua +++ b/pdfreader.lua @@ -377,12 +377,7 @@ function PDFReader:inputloop() end elseif ev.code == KEY_BACK then if self.altmode then - -- in altmode, back to last jump - if #self.jump_stack ~= 0 then - self:goto(self.jump_stack[1].page) - end - else - -- not shiftmode, exit pdfreader + -- altmode, exit pdfreader self:clearcache() if self.doc ~= nil then self.doc:close() @@ -393,6 +388,11 @@ function PDFReader:inputloop() self.settings:close() end return + else + -- not altmode, back to last jump + if #self.jump_stack ~= 0 then + self:goto(self.jump_stack[1].page) + end end elseif ev.code == KEY_VPLUS then self:modify_gamma( 1.25 )