mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Typeset menu: adds "Reset document settings to default" (#8412)
This commit is contained in:
@@ -29,7 +29,7 @@ function filemanagerutil.abbreviate(path)
|
||||
return path
|
||||
end
|
||||
|
||||
-- Purge doc settings in sidecar directory,
|
||||
-- Purge doc settings in sidecar directory
|
||||
function filemanagerutil.purgeSettings(file)
|
||||
local file_abs_path = util.realpath(file)
|
||||
if file_abs_path then
|
||||
@@ -37,4 +37,28 @@ function filemanagerutil.purgeSettings(file)
|
||||
end
|
||||
end
|
||||
|
||||
-- Purge doc settings except kept
|
||||
function filemanagerutil.resetDocumentSettings(file)
|
||||
local settings_to_keep = {
|
||||
bookmarks = true,
|
||||
bookmarks_sorted = true,
|
||||
bookmarks_version = true,
|
||||
cre_dom_version = true,
|
||||
highlight = true,
|
||||
highlights_imported = true,
|
||||
last_page = true,
|
||||
last_xpointer = true,
|
||||
}
|
||||
local file_abs_path = util.realpath(file)
|
||||
if file_abs_path then
|
||||
local doc_settings = DocSettings:open(file_abs_path)
|
||||
for k in pairs(doc_settings.data) do
|
||||
if not settings_to_keep[k] then
|
||||
doc_settings:delSetting(k)
|
||||
end
|
||||
end
|
||||
doc_settings:close()
|
||||
end
|
||||
end
|
||||
|
||||
return filemanagerutil
|
||||
|
||||
@@ -176,6 +176,23 @@ function ReaderMenu:setUpdateItemTable()
|
||||
end
|
||||
|
||||
-- typeset tab
|
||||
self.menu_items.reset_document_settings = {
|
||||
text = _("Reset document settings to default"),
|
||||
keep_menu_open = true,
|
||||
callback = function()
|
||||
UIManager:show(ConfirmBox:new{
|
||||
text = _("Reset current document settings to their default values?\n\nReading position, highlights and bookmarks will be kept.\nThe document will be reloaded."),
|
||||
ok_text = _("Reset"),
|
||||
ok_callback = function()
|
||||
local current_file = self.ui.document.file
|
||||
self:onTapCloseMenu()
|
||||
self.ui:onClose()
|
||||
require("apps/filemanager/filemanagerutil").resetDocumentSettings(current_file)
|
||||
require("apps/reader/readerui"):showReader(current_file)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
self.menu_items.page_overlap = require("ui/elements/page_overlap")
|
||||
|
||||
-- settings tab
|
||||
|
||||
@@ -38,12 +38,13 @@ local order = {
|
||||
"bookmarks_settings",
|
||||
},
|
||||
typeset = {
|
||||
"reset_document_settings",
|
||||
"----------------------------",
|
||||
"set_render_style",
|
||||
"style_tweaks",
|
||||
"----------------------------",
|
||||
"change_font",
|
||||
"typography",
|
||||
"floating_punctuation",
|
||||
"----------------------------",
|
||||
"switch_zoom_mode",
|
||||
"----------------------------",
|
||||
|
||||
Reference in New Issue
Block a user