mirror of
https://github.com/koreader/koreader.git
synced 2025-12-13 20:36:53 +01:00
Bookmark flipping mode fix (#10196)
(1) Changed indicator icon to "bookmark". (2) Added toggling action to dispatcher.
This commit is contained in:
@@ -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",
|
||||
|
||||
1
resources/icons/mdlight/bookmark.svg
Normal file
1
resources/icons/mdlight/bookmark.svg
Normal file
@@ -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 |
Reference in New Issue
Block a user