diff --git a/crereader.lua b/crereader.lua index dab931cec..f89d10cac 100644 --- a/crereader.lua +++ b/crereader.lua @@ -274,6 +274,7 @@ function CREReader:adjustCreReaderCommands() if self.line_space_percent > 200 then self.line_space_percent = 200 end + InfoMessage:show("line spacing "..self.line_space_percent.."%", 0) print("line spacing set to", self.line_space_percent) cr.doc:setDefaultInterlineSpace(self.line_space_percent) cr:redrawCurrentPage() @@ -286,6 +287,7 @@ function CREReader:adjustCreReaderCommands() if self.line_space_percent < 100 then self.line_space_percent = 100 end + InfoMessage:show("line spacing "..self.line_space_percent.."%", 0) print("line spacing set to", self.line_space_percent) cr.doc:setDefaultInterlineSpace(self.line_space_percent) cr:redrawCurrentPage() @@ -305,8 +307,10 @@ function CREReader:adjustCreReaderCommands() end ) self.commands:add(KEY_F, nil, "F", - "invoke font menu", + "change document font", function(cr) + Screen:saveCurrentBB() + local face_list = cre.getFontFaces() local fonts_menu = SelectMenu:new{ @@ -320,6 +324,8 @@ function CREReader:adjustCreReaderCommands() cr.doc:setFontFace(face_list[item_no]) self.font_face = face_list[item_no] end + Screen:restoreFromSavedBB() + InfoMessage:show("Redrawing with "..face_list[item_no], 0) cr:redrawCurrentPage() end ) diff --git a/dialog.lua b/dialog.lua index 855650a4d..f333c5e0e 100644 --- a/dialog.lua +++ b/dialog.lua @@ -5,7 +5,8 @@ InfoMessage = { face = Font:getFace("infofont", 25) } -function InfoMessage:show(text) +function InfoMessage:show(text,refresh_mode) + print("# InfoMessage ", text, refresh_mode) local dialog = CenterContainer:new({ dimen = { w = G_width, h = G_height }, FrameContainer:new({ @@ -13,9 +14,9 @@ function InfoMessage:show(text) background = 0, HorizontalGroup:new({ align = "center", - ImageWidget:new({ - file = "resources/info-i.png" - }), +-- ImageWidget:new({ +-- file = "resources/info-i.png" +-- }), Widget:new({ dimen = { w = 10, h = 0 } }), @@ -28,6 +29,9 @@ function InfoMessage:show(text) }) dialog:paintTo(fb.bb, 0, 0) dialog:free() + if refresh_mode ~= nil then + fb:refresh(refresh_mode) + end end function showInfoMsgWithDelay(text, msec, refresh_mode) diff --git a/filesearcher.lua b/filesearcher.lua index c0426029c..9339ae516 100644 --- a/filesearcher.lua +++ b/filesearcher.lua @@ -51,6 +51,7 @@ function FileSearcher:readDir() end function FileSearcher:setPath(newPath) + InfoMessage:show("Reading filenames...",0) self.path = newPath self:readDir() self.items = #self.files diff --git a/helppage.lua b/helppage.lua index fb868de9a..7cd8269d4 100644 --- a/helppage.lua +++ b/helppage.lua @@ -99,7 +99,7 @@ function HelpPage:show(ypos, height, commands) end end renderUtf8Text(fb.bb, 5, height - fface_height + fface_ascender - 5, self.fface, - "Page "..self.page.." of "..math.ceil(self.items / perpage).." - click Back to close this page", true) + "Page "..self.page.." of "..math.ceil(self.items / perpage).." - Back to close this page", true) end if is_pagedirty then fb:refresh(0, 0, ypos, fb.bb:getWidth(), height) diff --git a/launchpad/kpdf.ini b/launchpad/kpdf.ini index 4ad186020..316cf7853 100755 --- a/launchpad/kpdf.ini +++ b/launchpad/kpdf.ini @@ -3,5 +3,7 @@ P D = !/mnt/us/launchpad/kpdf.sh /mnt/us/documents # start kindlepdfviewer with last document P P = !/mnt/us/launchpad/kpdf.sh +# start kindlepdfviewer without framework +P K = !/mnt/us/launchpad/kpdf.sh /mnt/us/documents framework_stop # restart amazon framework - when it got irritated P R = !/etc/init.d/framework restart diff --git a/launchpad/kpdf.sh b/launchpad/kpdf.sh index 5c0611f2e..1cd6dc63a 100755 --- a/launchpad/kpdf.sh +++ b/launchpad/kpdf.sh @@ -8,9 +8,15 @@ cd /mnt/us/kindlepdfviewer/ grep /mnt/us/kindlepdfviewer/fonts/host /proc/mounts || mount -o bind /usr/java/lib/fonts /mnt/us/kindlepdfviewer/fonts/host +test "$2" == "framework_stop" && /etc/init.d/framework stop + ./reader.lua "$1" 2> /mnt/us/kindlepdfviewer/crash.log || cat /mnt/us/kindlepdfviewer/crash.log grep /mnt/us/kindlepdfviewer/fonts/host /proc/mounts && umount /mnt/us/kindlepdfviewer/fonts/host -killall -cont cvm -echo 1 > /proc/eink_fb/update_display +# always try to continue cvm +killall -cont cvm || /etc/init.d/framework start + +# cleanup hanging process +killall lipc-wait-event + diff --git a/reader.lua b/reader.lua index f1aed3f34..abce5bd8b 100755 --- a/reader.lua +++ b/reader.lua @@ -48,8 +48,7 @@ function openFile(filename) reader = CREReader end if reader then - InfoMessage:show("Opening document, please wait... ") - fb:refresh(0) + InfoMessage:show("Opening document, please wait... ", 0) local ok, err = reader:open(filename) if ok then reader:loadSettings(filename) @@ -58,8 +57,7 @@ function openFile(filename) reader_settings:savesetting("lastfile", filename) return reader:inputLoop() else - InfoMessage:show("Error opening document.") - fb:refresh(0) + InfoMessage:show("Error opening document.", 0) util.sleep(2) end end