diff --git a/frontend/ui/reader/readerpaging.lua b/frontend/ui/reader/readerpaging.lua index 0549542b8..9d93ed606 100644 --- a/frontend/ui/reader/readerpaging.lua +++ b/frontend/ui/reader/readerpaging.lua @@ -29,6 +29,7 @@ function ReaderPaging:gotoPage(number) end if number > self.number_of_pages or number < 1 then + DEBUG("wrong page number: "..number.."!") return false end DEBUG("going to page number", number) @@ -39,6 +40,10 @@ function ReaderPaging:gotoPage(number) return true end +function ReaderPaging:onReadSettings(config) + self:gotoPage(config:readSetting("last_page") or 1) +end + function ReaderPaging:onPageUpdate(new_page_no) self.current_page = new_page_no end @@ -59,3 +64,7 @@ function ReaderPaging:onGotoPageRel(diff) self:gotoPage(self.current_page + diff) return true end + +function ReaderPaging:onCloseDocument() + self.ui.doc_settings:saveSetting("last_page", self.current_page) +end diff --git a/frontend/ui/reader/readerrolling.lua b/frontend/ui/reader/readerrolling.lua index 9784d7317..648766abf 100644 --- a/frontend/ui/reader/readerrolling.lua +++ b/frontend/ui/reader/readerrolling.lua @@ -31,10 +31,6 @@ function ReaderRolling:init() self.old_doc_height = self.doc_height end -function ReaderRolling:onPosUpdate(new_pos) - self.current_pos = new_pos -end - function ReaderRolling:gotoPos(new_pos) if new_pos == self.current_pos then return end if new_pos < 0 then new_pos = 0 end @@ -46,6 +42,14 @@ function ReaderRolling:gotoPercent(new_percent) self:gotoPos(new_percent * self.doc_height / 10000) end +function ReaderRolling:onReadSettings(config) + self:gotoPercent(config:readSetting("last_percent") or 0) +end + +function ReaderRolling:onPosUpdate(new_pos) + self.current_pos = new_pos +end + -- remember to signal this event the document has been zoomed, -- font has been changed, or line height has been changed. function ReaderRolling:onUpdatePos() @@ -84,3 +88,8 @@ function ReaderRolling:onZoom() --@TODO re-read doc_height info after font or lineheight changes 05.06 2012 (houqp) self:onUpdatePos() end + +function ReaderRolling:onCloseDocument() + self.ui.doc_settings:saveSetting("last_percent", + 10000 * self.current_pos / self.doc_height) +end