From 1d1dc7429026516787cec1a8aa005610b19897a6 Mon Sep 17 00:00:00 2001 From: Frans de Jonge Date: Fri, 1 Mar 2019 12:55:55 +0100 Subject: [PATCH] [UX] creoptions: add more margin values Fixes #4684. --- .luacheckrc | 5 +++++ defaults.lua | 5 +++++ frontend/ui/data/creoptions.lua | 13 ++++++++++++- frontend/ui/widget/configdialog.lua | 18 +++++++++++++++++- 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/.luacheckrc b/.luacheckrc index f2c267a51..c162021f6 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -63,6 +63,11 @@ read_globals = { "DCREREADER_CONFIG_MARGIN_SIZES_SMALL", "DCREREADER_CONFIG_MARGIN_SIZES_MEDIUM", "DCREREADER_CONFIG_MARGIN_SIZES_LARGE", + "DCREREADER_CONFIG_MARGIN_SIZES_X_LARGE", + "DCREREADER_CONFIG_MARGIN_SIZES_XX_LARGE", + "DCREREADER_CONFIG_MARGIN_SIZES_XXX_LARGE", + "DCREREADER_CONFIG_MARGIN_SIZES_HUGE", + "DCREREADER_CONFIG_MARGIN_SIZES_X_HUGE", "DCREREADER_CONFIG_LIGHTER_FONT_GAMMA", "DCREREADER_CONFIG_DEFAULT_FONT_GAMMA", "DCREREADER_CONFIG_DARKER_FONT_GAMMA", diff --git a/defaults.lua b/defaults.lua index e2d1fdcf4..02353bfce 100644 --- a/defaults.lua +++ b/defaults.lua @@ -114,6 +114,11 @@ DCREREADER_CONFIG_DEFAULT_FONT_SIZE = 22 -- default font size DCREREADER_CONFIG_MARGIN_SIZES_SMALL = {5, 10, 5, 10} DCREREADER_CONFIG_MARGIN_SIZES_MEDIUM = {10, 15, 10, 15} DCREREADER_CONFIG_MARGIN_SIZES_LARGE = {20, 20, 20, 20} +DCREREADER_CONFIG_MARGIN_SIZES_X_LARGE = {30, 30, 30, 30} +DCREREADER_CONFIG_MARGIN_SIZES_XX_LARGE = {50, 50, 50, 50} +DCREREADER_CONFIG_MARGIN_SIZES_XXX_LARGE = {70, 70, 70, 70} +DCREREADER_CONFIG_MARGIN_SIZES_HUGE = {100, 100, 100, 100} +DCREREADER_CONFIG_MARGIN_SIZES_X_HUGE = {140, 140, 140, 140} -- crereader font gamma (no longer used) -- DCREREADER_CONFIG_LIGHTER_FONT_GAMMA = 10 diff --git a/frontend/ui/data/creoptions.lua b/frontend/ui/data/creoptions.lua index e1ffd310c..49960ca1c 100644 --- a/frontend/ui/data/creoptions.lua +++ b/frontend/ui/data/creoptions.lua @@ -89,18 +89,29 @@ Note that your selected font size is not affected by this setting.]]), { name = "page_margins", name_text = S.PAGE_MARGIN, - toggle = {S.SMALL, S.MEDIUM, S.LARGE}, + buttonprogress = true, values = { DCREREADER_CONFIG_MARGIN_SIZES_SMALL, DCREREADER_CONFIG_MARGIN_SIZES_MEDIUM, DCREREADER_CONFIG_MARGIN_SIZES_LARGE, + DCREREADER_CONFIG_MARGIN_SIZES_X_LARGE, + DCREREADER_CONFIG_MARGIN_SIZES_XX_LARGE, + DCREREADER_CONFIG_MARGIN_SIZES_XXX_LARGE, + DCREREADER_CONFIG_MARGIN_SIZES_HUGE, + DCREREADER_CONFIG_MARGIN_SIZES_X_HUGE, }, + default_pos = 2, default_value = DCREREADER_CONFIG_MARGIN_SIZES_MEDIUM, event = "SetPageMargins", args = { DCREREADER_CONFIG_MARGIN_SIZES_SMALL, DCREREADER_CONFIG_MARGIN_SIZES_MEDIUM, DCREREADER_CONFIG_MARGIN_SIZES_LARGE, + DCREREADER_CONFIG_MARGIN_SIZES_X_LARGE, + DCREREADER_CONFIG_MARGIN_SIZES_XX_LARGE, + DCREREADER_CONFIG_MARGIN_SIZES_XXX_LARGE, + DCREREADER_CONFIG_MARGIN_SIZES_HUGE, + DCREREADER_CONFIG_MARGIN_SIZES_X_HUGE, }, name_text_hold_callback = optionsutil.showValuesMargins, }, diff --git a/frontend/ui/widget/configdialog.lua b/frontend/ui/widget/configdialog.lua index 98832e48f..f9a999d0e 100644 --- a/frontend/ui/widget/configdialog.lua +++ b/frontend/ui/widget/configdialog.lua @@ -27,6 +27,7 @@ local UIManager = require("ui/uimanager") local UnderlineContainer = require("ui/widget/container/underlinecontainer") local VerticalGroup = require("ui/widget/verticalgroup") local VerticalSpan = require("ui/widget/verticalspan") +local dump = require("dump") local logger = require("logger") local _ = require("gettext") local Screen = Device.screen @@ -844,15 +845,30 @@ function ConfigDialog:onConfigChoose(values, name, event, args, events, position end function ConfigDialog:onMakeDefault(name, name_text, values, labels, position) + local display_value = labels[position] if name == "font_fine_tune" then return + -- known table value, make it pretty + elseif name == "page_margins" then + display_value = T(_([[ + + left: %1 + top: %2 + right: %3 + bottom: %4 +]]), + display_value[1], display_value[2], display_value[3], display_value[4]) + end + -- generic fallback to support table values + if type(display_value) == "table" then + display_value = dump(display_value) end UIManager:show(ConfirmBox:new{ text = T( _("Set default %1 to %2?"), (name_text or ""), - labels[position] + display_value ), ok_text = T(_("Set default")), ok_callback = function()