[CoverImage] use units in SpinWidget (#9938)

reviewable/pr9970/r2
zwim 1 year ago committed by GitHub
parent 89af6d9385
commit 180cebe7ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -19,15 +19,16 @@ local InputDialog = require("ui/widget/inputdialog")
local PathChooser = require("ui/widget/pathchooser") local PathChooser = require("ui/widget/pathchooser")
local UIManager = require("ui/uimanager") local UIManager = require("ui/uimanager")
local RenderImage = require("ui/renderimage") local RenderImage = require("ui/renderimage")
local Screen = require("device").screen
local T = require("ffi/util").template
local WidgetContainer = require("ui/widget/container/widgetcontainer") local WidgetContainer = require("ui/widget/container/widgetcontainer")
local ffiutil = require("ffi/util") local ffiutil = require("ffi/util")
local lfs = require("libs/libkoreader-lfs") local lfs = require("libs/libkoreader-lfs")
local logger = require("logger") local logger = require("logger")
local md5 = require("ffi/sha2").md5
local util = require("util") local util = require("util")
local _ = require("gettext") local _ = require("gettext")
local C_ = _.pgettext
local Screen = require("device").screen
local T = require("ffi/util").template
local md5 = require("ffi/sha2").md5
-- todo: please check the default paths directly on the depending Device:getDefaultCoverPath() -- todo: please check the default paths directly on the depending Device:getDefaultCoverPath()
@ -399,12 +400,13 @@ Update a specific G_reader_setting's value via a Spinner
@int default default value of the spinner @int default default value of the spinner
@function callback to call, when spinner changed the value @function callback to call, when spinner changed the value
]] ]]
function CoverImage:sizeSpinner(touchmenu_instance, setting, title, min, max, default, callback) function CoverImage:sizeSpinner(touchmenu_instance, setting, title, min, max, default, callback, unit)
local SpinWidget = require("ui/widget/spinwidget") local SpinWidget = require("ui/widget/spinwidget")
UIManager:show(SpinWidget:new{ UIManager:show(SpinWidget:new{
value = self[setting], value = self[setting],
value_min = min, value_min = min,
value_max = max, value_max = max,
unit = unit,
default_value = default, default_value = default,
title_text = title, title_text = title,
ok_text = _("Set"), ok_text = _("Set"),
@ -491,7 +493,7 @@ function CoverImage:menuEntryCache()
return self.cover_image_cache_maxsize >= 0 return self.cover_image_cache_maxsize >= 0
end, end,
callback = function(touchmenu_instance) callback = function(touchmenu_instance)
self:sizeSpinner(touchmenu_instance, "cover_image_cache_maxsize", _("Cache size"), -1, 100, 5, self.cleanCache) self:sizeSpinner(touchmenu_instance, "cover_image_cache_maxsize", _("Cache size"), -1, 100, 5, self.cleanCache, C_("Data storage size", "MB"))
end, end,
}, },
self:menuEntrySetPath("cover_image_cache_path", _("Cover cache folder"), _("Current cache path:\n%1"), self:menuEntrySetPath("cover_image_cache_path", _("Cover cache folder"), _("Current cache path:\n%1"),
@ -617,17 +619,17 @@ function CoverImage:menuEntrySBF()
{ {
text_func = function() text_func = function()
return T(_("Aspect ratio stretch threshold: %1"), return T(_("Aspect ratio stretch threshold: %1"),
self.cover_image_stretch_limit ~= 0 and self.cover_image_stretch_limit .. "%" or _("off")) self.cover_image_stretch_limit ~= 0 and self.cover_image_stretch_limit .. " %" or _("off"))
end, end,
keep_menu_open = true, keep_menu_open = true,
help_text_func = function() help_text_func = function()
return T(_("If the image and the screen have a similar aspect ratio (±%1%), stretch the image instead of keeping its aspect ratio."), self.cover_image_stretch_limit) return T(_("If the image and the screen have a similar aspect ratio (±%1 %), stretch the image instead of keeping its aspect ratio."), self.cover_image_stretch_limit)
end, end,
callback = function(touchmenu_instance) callback = function(touchmenu_instance)
local function createCover() local function createCover()
self:createCoverImage(self.ui.doc_settings) self:createCoverImage(self.ui.doc_settings)
end end
self:sizeSpinner(touchmenu_instance, "cover_image_stretch_limit", _("Set stretch threshold"), 0, 20, 8, createCover) self:sizeSpinner(touchmenu_instance, "cover_image_stretch_limit", _("Set stretch threshold"), 0, 20, 8, createCover, "%")
end, end,
}, },
self:menuEntryBackground("black", _("black")), self:menuEntryBackground("black", _("black")),

Loading…
Cancel
Save