|
|
|
@ -176,17 +176,37 @@ function ReaderPaging:onToggleFlipping()
|
|
|
|
|
self.view.flipping_visible = not self.view.flipping_visible
|
|
|
|
|
self.flipping_mode = self.view.flipping_visible
|
|
|
|
|
self.flipping_page = self.current_page
|
|
|
|
|
|
|
|
|
|
if self.flipping_mode then
|
|
|
|
|
self:updateOriginalPage(self.current_page)
|
|
|
|
|
self:enterFlippingMode()
|
|
|
|
|
else
|
|
|
|
|
self:updateOriginalPage(nil)
|
|
|
|
|
self:exitFlippingMode()
|
|
|
|
|
end
|
|
|
|
|
self.view:resetLayout()
|
|
|
|
|
self.ui:handleEvent(Event:new("SetFlippingMode", self.flipping_mode))
|
|
|
|
|
self.ui:handleEvent(Event:new("SetHinting", not self.flipping_mode))
|
|
|
|
|
self.ui:handleEvent(Event:new("ReZoom"))
|
|
|
|
|
UIManager:setDirty(self.view.dialog, "partial")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function ReaderPaging:enterFlippingMode()
|
|
|
|
|
self.orig_reflow_mode = self.view.document.configurable.text_wrap
|
|
|
|
|
self.orig_footer_mode = self.view.footer_visible
|
|
|
|
|
self.orig_scroll_mode = self.view.page_scroll
|
|
|
|
|
|
|
|
|
|
self.view.document.configurable.text_wrap = 0
|
|
|
|
|
self.view.page_scroll = false
|
|
|
|
|
self.view.footer_visible = true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function ReaderPaging:exitFlippingMode()
|
|
|
|
|
self.view.document.configurable.text_wrap = self.orig_reflow_mode
|
|
|
|
|
self.view.page_scroll = self.orig_scroll_mode
|
|
|
|
|
self.view.footer_visible = self.orig_footer_mode
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function ReaderPaging:updateOriginalPage(page)
|
|
|
|
|
self.original_page = page
|
|
|
|
|
end
|
|
|
|
@ -675,4 +695,11 @@ function ReaderPaging:onGotoPage(number)
|
|
|
|
|
return true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function ReaderPaging:onGotoPercentage(percentage)
|
|
|
|
|
if percentage < 0 then percentage = 0 end
|
|
|
|
|
if percentage > 1 then percentage = 1 end
|
|
|
|
|
self:gotoPage(math.floor(percentage*self.number_of_pages))
|
|
|
|
|
return true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return ReaderPaging
|
|
|
|
|