diff --git a/frontend/ui/data/optionsutil.lua b/frontend/ui/data/optionsutil.lua index 7ca4bbada..0f4348cc3 100644 --- a/frontend/ui/data/optionsutil.lua +++ b/frontend/ui/data/optionsutil.lua @@ -63,7 +63,14 @@ function optionsutil.formatFlexSize(value, unit) -- We don't so subpixel positioning ;) fmt = "%d (%d %s)" end - return string.format(fmt, size, convertSizeTo(size, unit), shown_unit) + + if G_reader_settings:isTrue("dimension_units_append_px") and unit ~= "px" then + local px_str = C_("Pixels", "px") + return string.format(fmt .. " [%d %s]", size, convertSizeTo(size, unit), shown_unit, + convertSizeTo(size, "px"), px_str) + else + return string.format(fmt, size, convertSizeTo(size, unit), shown_unit) + end end function optionsutil.showValues(configurable, option, prefix, document, unit) diff --git a/frontend/ui/elements/common_settings_menu_table.lua b/frontend/ui/elements/common_settings_menu_table.lua index a392501c7..3df123cf9 100644 --- a/frontend/ui/elements/common_settings_menu_table.lua +++ b/frontend/ui/elements/common_settings_menu_table.lua @@ -721,6 +721,19 @@ common_settings.units = { return T(_("Dimension units: %1"), unit) end, sub_item_table = { + { + text = _("Also show values in pixels"), + checked_func = function() + return G_reader_settings:isTrue("dimension_units_append_px") + end, + enabled_func = function() + return G_reader_settings:readSetting("dimension_units") ~= "px" + end, + callback = function() + G_reader_settings:flipNilOrFalse("dimension_units_append_px") + end, + separator = true, + }, genGenericMenuEntry(_("Metric system"), "dimension_units", "mm", nil, true), genGenericMenuEntry(_("Imperial system"), "dimension_units", "in", nil, true), genGenericMenuEntry(_("Pixels"), "dimension_units", "px", nil, true),