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 ReaderFlipping = WidgetContainer:extend{
orig_reflow_mode = 0,
-- Icons to show during crengine partial rerendering automation
rolling_rendering_state_icons = {
PARTIALLY_RERENDERED = "cre.render.partial",
@ -22,7 +21,11 @@ function ReaderFlipping:init()
width = 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)
self.select_mode_widget = IconWidget:new{
icon = "texture-box",
@ -83,22 +86,23 @@ function ReaderFlipping:onSetStatusLine()
end
function ReaderFlipping:paintTo(bb, x, y)
if self.ui.highlight.select_mode then
if self[1][1] ~= self.select_mode_widget then
self[1][1] = self.select_mode_widget
end
local widget
if self.ui.paging and self.view.flipping_visible then
-- pdf page flipping or bookmark browsing mode
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
local widget = self:getRollingRenderingStateIconWidget()
-- epub rerendering
widget = self:getRollingRenderingStateIconWidget()
end
if widget then
if self[1][1] ~= widget then
self[1][1] = widget
end
if not widget then return end -- nothing to get painted
else
if self[1][1] ~= self.flipping_widget then
self[1][1] = self.flipping_widget
end
WidgetContainer.paintTo(self, bb, x, y)
end
WidgetContainer.paintTo(self, bb, x, y)
end
return ReaderFlipping

@ -273,15 +273,11 @@ function ReaderPaging:onToggleBookmarkFlipping()
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
self:enterFlippingMode()
else
self.view.flipping_visible = self.orig_flipping_mode
self.view.dogear_visible = self.orig_dogear_mode
self:exitFlippingMode()
self:_gotoPage(self.bm_flipping_orig_page)
end

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

@ -154,6 +154,7 @@ local settingsList = {
-- paging reader settings
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},
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},
@ -335,6 +336,7 @@ local dispatcher_menu_order = {
"toggle_bookmark",
"toggle_page_change_animation",
"toggle_page_flipping",
"toggle_bookmark_flipping",
"toggle_reflow",
"toggle_inverse_reading_order",
"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