From 0f4a9826c86b9c3c80ccd1d20a2f9cb238e6a018 Mon Sep 17 00:00:00 2001 From: hius07 <62179190+hius07@users.noreply.github.com> Date: Fri, 15 Mar 2024 10:41:18 +0200 Subject: [PATCH] readerhighlight: update highlight page numbers --- .../apps/reader/modules/readerhighlight.lua | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/frontend/apps/reader/modules/readerhighlight.lua b/frontend/apps/reader/modules/readerhighlight.lua index d5d7fe0b4..995e61812 100644 --- a/frontend/apps/reader/modules/readerhighlight.lua +++ b/frontend/apps/reader/modules/readerhighlight.lua @@ -2217,6 +2217,31 @@ function ReaderHighlight:onUpdateHoldPanRate() self:setupTouchZones() end +function ReaderHighlight:updateHighlightPageNumbers() + local bookmarks = self.ui.bookmark.bookmarks + local highlights = {} + for i = #bookmarks, 1, -1 do + local bookmark = bookmarks[i] + if bookmark.highlighted then + local highlight = self:getHighlightByDatetime(bookmark.datetime) + if highlight then + local pageno = self.ui.paging and bookmark.page or self.document:getPageFromXPointer(bookmark.page) + if highlights[pageno] == nil then + highlights[pageno] = {} + end + table.insert(highlights[pageno], highlight) + else -- orphan + table.remove(bookmarks, i) + end + end + end + self.view.highlight.saved = highlights +end + +function ReaderHighlight:onCloseDocument() + self:updateHighlightPageNumbers() +end + function ReaderHighlight:onSaveSettings() self.ui.doc_settings:saveSetting("highlight_drawer", self.view.highlight.saved_drawer) self.ui.doc_settings:saveSetting("panel_zoom_enabled", self.panel_zoom_enabled)