mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Bookmarks: refresh list entry when closing Bookmark details dialog with X (#12390)
Also: refresh dogear state for current page when closing Page browser or Book map, as we may have toggled bookmark on it.
This commit is contained in:
@@ -1090,11 +1090,28 @@ function ReaderBookmark:showBookmarkDetails(item)
|
||||
self:updateBookmarkList(nil, idx)
|
||||
self:showBookmarkDetails(item_table[idx])
|
||||
end
|
||||
-- Refresh the bookmark list whenever details may have been edited
|
||||
local _updateBookmarkList = function()
|
||||
if self.details_updated then
|
||||
self.details_updated = nil
|
||||
if self.show_edited_only then
|
||||
for i = #item_table, 1, -1 do
|
||||
if not item_table[i].text_edited then
|
||||
table.remove(item_table, i)
|
||||
end
|
||||
end
|
||||
end
|
||||
self:updateBookmarkList(item_table, -1)
|
||||
end
|
||||
end
|
||||
|
||||
textviewer = TextViewer:new{
|
||||
title = T(_("Bookmark details (%1/%2)"), item.idx, #item_table),
|
||||
text = text,
|
||||
text_type = "bookmark",
|
||||
close_callback = function()
|
||||
_updateBookmarkList()
|
||||
end,
|
||||
buttons_table = {
|
||||
{
|
||||
{
|
||||
@@ -1141,17 +1158,7 @@ function ReaderBookmark:showBookmarkDetails(item)
|
||||
{
|
||||
text = _("Close"),
|
||||
callback = function()
|
||||
if self.details_updated then
|
||||
self.details_updated = nil
|
||||
if self.show_edited_only then
|
||||
for i = #item_table, 1, -1 do
|
||||
if not item_table[i].text_edited then
|
||||
table.remove(item_table, i)
|
||||
end
|
||||
end
|
||||
end
|
||||
self:updateBookmarkList(item_table, -1)
|
||||
end
|
||||
_updateBookmarkList()
|
||||
UIManager:close(textviewer)
|
||||
end,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user