remove full screen option in koptoption

since we can now switch progress bar status simply by tap
pull/584/head
chrox 10 years ago
parent 7fc5d8910f
commit 1d292f16a9

@ -23,7 +23,7 @@ local ReaderFooter = InputContainer:new{
progress_percentage = 0.0,
progress_text = "0 / 0",
show_time = false,
bar_width = 0.85,
bar_width = 0.87,
text_width = 0.15,
text_font_face = "ffont",
text_font_size = 14,
@ -122,11 +122,12 @@ function ReaderFooter:onPosUpdate(pos)
self:updateFooterPos()
end
function ReaderFooter:applyFooterMode()
function ReaderFooter:applyFooterMode(mode)
-- three modes switcher for reader footer
-- 0 for footer off
-- 1 for footer page info
-- 2 for footer time info
if mode ~= nil then self.mode = mode end
if self.mode == 0 then
self.view.footer_visible = false
else
@ -139,12 +140,24 @@ function ReaderFooter:applyFooterMode()
end
end
function ReaderFooter:onEnterFlippingMode()
self.orig_mode = self.mode
self:applyFooterMode(1)
end
function ReaderFooter:onExitFlippingMode()
self:applyFooterMode(self.orig_mode)
end
function ReaderFooter:onTapFooter(arg, ges)
if self.view.flipping_visible then
local pos = ges.pos
local dimen = self.progress_bar.dimen
local percentage = (pos.x - dimen.x)/dimen.w
self.ui:handleEvent(Event:new("GotoPercentage", percentage))
-- if reader footer is not drawn before the dimen value should be nil
if dimen then
local percentage = (pos.x - dimen.x)/dimen.w
self.ui:handleEvent(Event:new("GotoPercentage", percentage))
end
else
self.mode = (self.mode + 1) % 3
self:applyFooterMode()

@ -18,7 +18,7 @@ local ReaderPaging = InputContainer:new{
page_area = nil,
show_overlap_enable = nil,
overlap = Screen:scaleByDPI(DOVERLAPPIXELS),
page_flipping_mode = false,
bookmark_flipping_mode = false,
flip_steps = {0,1,2,5,10,20,50,100}
@ -138,9 +138,9 @@ end
function ReaderPaging:addToMainMenu(tab_item_table)
if self.ui.document.info.has_pages then
table.insert(tab_item_table.typeset, {
text_func = function()
return self.show_overlap_enable and
_("Turn off page overlap") or
text_func = function()
return self.show_overlap_enable and
_("Turn off page overlap") or
_("Turn on page overlap")
end,
callback = function()
@ -153,7 +153,7 @@ end
--[[
Set reading position on certain page
Page position is a fractional number ranging from 0 to 1, indicating the read percentage on
certain page. With the position information on each page whenever users change font size,
certain page. With the position information on each page whenever users change font size,
page margin or line spacing or close and reopen the book, the page view will be roughly the same.
--]]
function ReaderPaging:setPagePosition(page, pos)
@ -165,9 +165,9 @@ end
Get reading position on certain page
--]]
function ReaderPaging:getPagePosition(page)
-- Page number ought to be integer, somehow I notice that with
-- fractional page number the reader runs silently well, but the
-- number won't fit to retrieve page position.
-- Page number ought to be integer, somehow I notice that with
-- fractional page number the reader runs silently well, but the
-- number won't fit to retrieve page position.
page = math.floor(page)
DEBUG("get page position", self.page_positions[page])
return self.page_positions[page] or 0
@ -187,7 +187,7 @@ function ReaderPaging:onTogglePageFlipping()
self.view.flipping_visible = not self.view.flipping_visible
self.page_flipping_mode = self.view.flipping_visible
self.flipping_page = self.current_page
if self.page_flipping_mode then
self:updateOriginalPage(self.current_page)
self:enterFlippingMode()
@ -195,7 +195,6 @@ function ReaderPaging:onTogglePageFlipping()
self:updateOriginalPage(nil)
self:exitFlippingMode()
end
self.view:resetLayout()
self.ui:handleEvent(Event:new("SetHinting", not self.page_flipping_mode))
self.ui:handleEvent(Event:new("ReZoom"))
UIManager:setDirty(self.view.dialog, "partial")
@ -203,11 +202,11 @@ end
function ReaderPaging:onToggleBookmarkFlipping()
self.bookmark_flipping_mode = not self.bookmark_flipping_mode
if self.bookmark_flipping_mode then
self.orig_flipping_mode = self.view.flipping_visible
self.orig_dogear_mode = self.view.dogear_visible
self.view.flipping_visible = true
self.view.dogear_visible = true
self.bm_flipping_orig_page = self.current_page
@ -218,32 +217,30 @@ function ReaderPaging:onToggleBookmarkFlipping()
self:exitFlippingMode()
self:gotoPage(self.bm_flipping_orig_page)
end
self.view:resetLayout()
self.ui:handleEvent(Event:new("SetHinting", not self.bookmark_flipping_mode))
self.ui:handleEvent(Event:new("ReZoom"))
UIManager:setDirty(self.view.dialog, "partial")
end
function ReaderPaging:enterFlippingMode()
self.ui:handleEvent(Event:new("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.orig_zoom_mode = self.view.zoom_mode
DEBUG("store zoom mode", self.orig_zoom_mode)
self.DGESDETECT_DISABLE_DOUBLE_TAP = DGESDETECT_DISABLE_DOUBLE_TAP
self.view.document.configurable.text_wrap = 0
self.view.page_scroll = false
self.view.footer_visible = true
Input.disable_double_tap = false
DGESDETECT_DISABLE_DOUBLE_TAP = false
self.ui:handleEvent(Event:new("SetZoomMode", "page"))
end
function ReaderPaging:exitFlippingMode()
self.ui:handleEvent(Event:new("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
DGESDETECT_DISABLE_DOUBLE_TAP = self.DGESDETECT_DISABLE_DOUBLE_TAP
Input.disable_double_tap = DGESDETECT_DISABLE_DOUBLE_TAP
DEBUG("restore zoom mode", self.orig_zoom_mode)
@ -598,7 +595,7 @@ function ReaderPaging:onScrollPanRel(diff)
end
-- update current pageno to the very last part in current view
self:gotoPage(self.view.page_states[#self.view.page_states].page, "scrolling")
UIManager:setDirty(self.view.dialog, "fast")
end

@ -56,6 +56,7 @@ local KoptOptions = {
default_value = DFULL_SCREEN,
event = "SetFullScreen",
args = {true, false},
show = false,
},
{
name = "page_margin",

Loading…
Cancel
Save