Bookmark flipping mode fix (#10196)

(1) Changed indicator icon to "bookmark".
(2) Added toggling action to dispatcher.
reviewable/pr10217/r1
hius07 1 year ago committed by GitHub
parent 6267249b1e
commit 536d71970f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,7 +5,6 @@ local WidgetContainer = require("ui/widget/container/widgetcontainer")
local Screen = require("device").screen local Screen = require("device").screen
local ReaderFlipping = WidgetContainer:extend{ local ReaderFlipping = WidgetContainer:extend{
orig_reflow_mode = 0,
-- Icons to show during crengine partial rerendering automation -- Icons to show during crengine partial rerendering automation
rolling_rendering_state_icons = { rolling_rendering_state_icons = {
PARTIALLY_RERENDERED = "cre.render.partial", PARTIALLY_RERENDERED = "cre.render.partial",
@ -22,7 +21,11 @@ function ReaderFlipping:init()
width = icon_size, width = icon_size,
height = icon_size, height = icon_size,
} }
-- Re-use this widget to show an indicator when we are in select mode self.bookmark_flipping_widget = IconWidget:new{
icon = "bookmark",
width = icon_size,
height = icon_size,
}
icon_size = Screen:scaleBySize(36) icon_size = Screen:scaleBySize(36)
self.select_mode_widget = IconWidget:new{ self.select_mode_widget = IconWidget:new{
icon = "texture-box", icon = "texture-box",
@ -83,22 +86,23 @@ function ReaderFlipping:onSetStatusLine()
end end
function ReaderFlipping:paintTo(bb, x, y) function ReaderFlipping:paintTo(bb, x, y)
if self.ui.highlight.select_mode then local widget
if self[1][1] ~= self.select_mode_widget then if self.ui.paging and self.view.flipping_visible then
self[1][1] = self.select_mode_widget -- pdf page flipping or bookmark browsing mode
end widget = self.ui.paging.bookmark_flipping_mode and self.bookmark_flipping_widget or self.flipping_widget
elseif self.ui.highlight.select_mode then
-- highlight select mode
widget = self.select_mode_widget
elseif self.ui.rolling and self.ui.rolling.rendering_state then elseif self.ui.rolling and self.ui.rolling.rendering_state then
local widget = self:getRollingRenderingStateIconWidget() -- epub rerendering
widget = self:getRollingRenderingStateIconWidget()
end
if widget then
if self[1][1] ~= widget then if self[1][1] ~= widget then
self[1][1] = widget self[1][1] = widget
end end
if not widget then return end -- nothing to get painted WidgetContainer.paintTo(self, bb, x, y)
else
if self[1][1] ~= self.flipping_widget then
self[1][1] = self.flipping_widget
end
end end
WidgetContainer.paintTo(self, bb, x, y)
end end
return ReaderFlipping return ReaderFlipping

@ -273,15 +273,11 @@ function ReaderPaging:onToggleBookmarkFlipping()
if self.bookmark_flipping_mode then if self.bookmark_flipping_mode then
self.orig_flipping_mode = self.view.flipping_visible self.orig_flipping_mode = self.view.flipping_visible
self.orig_dogear_mode = self.view.dogear_visible
self.view.flipping_visible = true self.view.flipping_visible = true
self.view.dogear_visible = true
self.bm_flipping_orig_page = self.current_page self.bm_flipping_orig_page = self.current_page
self:enterFlippingMode() self:enterFlippingMode()
else else
self.view.flipping_visible = self.orig_flipping_mode self.view.flipping_visible = self.orig_flipping_mode
self.view.dogear_visible = self.orig_dogear_mode
self:exitFlippingMode() self:exitFlippingMode()
self:_gotoPage(self.bm_flipping_orig_page) self:_gotoPage(self.bm_flipping_orig_page)
end end

@ -233,11 +233,9 @@ function ReaderView:paintTo(bb, x, y)
if self.footer_visible then if self.footer_visible then
self.footer:paintTo(bb, x, y) self.footer:paintTo(bb, x, y)
end end
-- paint flipping or select mode sign -- paint top left corner indicator
if self.flipping_visible or self.ui.highlight.select_mode self.flipping:paintTo(bb, x, y)
or (self.ui.rolling and self.ui.rolling.rendering_state) then -- paint view modules
self.flipping:paintTo(bb, x, y)
end
for _, m in pairs(self.view_modules) do for _, m in pairs(self.view_modules) do
m:paintTo(bb, x, y) m:paintTo(bb, x, y)
end end

@ -154,6 +154,7 @@ local settingsList = {
-- paging reader settings -- paging reader settings
toggle_page_flipping = {category="none", event="TogglePageFlipping", title=_("Toggle page flipping"), paging=true}, toggle_page_flipping = {category="none", event="TogglePageFlipping", title=_("Toggle page flipping"), paging=true},
toggle_bookmark_flipping = {category="none", event="ToggleBookmarkFlipping", title=_("Toggle bookmark flipping"), paging=true},
toggle_reflow = {category="none", event="ToggleReflow", title=_("Toggle reflow"), paging=true}, toggle_reflow = {category="none", event="ToggleReflow", title=_("Toggle reflow"), paging=true},
zoom = {category="string", event="SetZoomMode", title=_("Zoom mode"), args=ReaderZooming.available_zoom_modes, toggle=ReaderZooming.available_zoom_modes, paging=true}, zoom = {category="string", event="SetZoomMode", title=_("Zoom mode"), args=ReaderZooming.available_zoom_modes, toggle=ReaderZooming.available_zoom_modes, paging=true},
zoom_factor_change = {category="none", event="ZoomFactorChange", title=_("Change zoom factor"), paging=true, separator=true}, zoom_factor_change = {category="none", event="ZoomFactorChange", title=_("Change zoom factor"), paging=true, separator=true},
@ -335,6 +336,7 @@ local dispatcher_menu_order = {
"toggle_bookmark", "toggle_bookmark",
"toggle_page_change_animation", "toggle_page_change_animation",
"toggle_page_flipping", "toggle_page_flipping",
"toggle_bookmark_flipping",
"toggle_reflow", "toggle_reflow",
"toggle_inverse_reading_order", "toggle_inverse_reading_order",
"swap_page_turn_buttons", "swap_page_turn_buttons",

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="mdil-bookmark" viewBox="0 0 24 24"><path d="M8,3H16A3,3 0 0,1 19,6V21L12,18L5,21V6A3,3 0 0,1 8,3M8,4A2,2 0 0,0 6,6V19.5L12,16.94L18,19.5V6A2,2 0 0,0 16,4H8Z" /></svg>

After

Width:  |  Height:  |  Size: 210 B

Loading…
Cancel
Save