[fix] Statistics settings reset to default when on save without change (#3188)

* Fix: #3186
pull/3221/head
Robert 7 years ago committed by Frans de Jonge
parent e5eb015f1b
commit 7c88bad189

@ -1,20 +1,25 @@
local FrameContainer = require("ui/widget/container/framecontainer") local Blitbuffer = require("ffi/blitbuffer")
local CenterContainer = require("ui/widget/container/centercontainer") local CenterContainer = require("ui/widget/container/centercontainer")
local VerticalGroup = require("ui/widget/verticalgroup") local Device = require("device")
local Font = require("ui/font")
local FrameContainer = require("ui/widget/container/framecontainer")
local Geom = require("ui/geometry")
local InputDialog = require("ui/widget/inputdialog") local InputDialog = require("ui/widget/inputdialog")
local InputText = require("ui/widget/inputtext") local InputText = require("ui/widget/inputtext")
local TextBoxWidget = require("ui/widget/textboxwidget")
local UIManager = require("ui/uimanager") local UIManager = require("ui/uimanager")
local Geom = require("ui/geometry") local VerticalGroup = require("ui/widget/verticalgroup")
local Screen = require("device").screen
local _ = require("gettext") local _ = require("gettext")
local Blitbuffer = require("ffi/blitbuffer") local Screen = Device.screen
local input_field local input_field, input_description
local MultiInputDialog = InputDialog:extend{ local MultiInputDialog = InputDialog:extend{
field = {}, field = {},
field_hint = {}, field_hint = {},
fields = {}, fields = {},
description_padding = Screen:scaleBySize(5),
description_margin = Screen:scaleBySize(2),
} }
function MultiInputDialog:init() function MultiInputDialog:init()
@ -27,6 +32,7 @@ function MultiInputDialog:init()
} }
input_field = {} input_field = {}
input_description = {}
local k = 0 local k = 0
for i, field in ipairs(self.fields) do for i, field in ipairs(self.fields) do
k = k + 1 k = k + 1
@ -40,6 +46,25 @@ function MultiInputDialog:init()
scroll = false, scroll = false,
parent = self, parent = self,
} }
if field.description then
input_description[k] = FrameContainer:new{
padding = self.description_padding,
margin = self.description_margin,
bordersize = 0,
TextBoxWidget:new{
text = field.description,
face = Font:getFace("x_smallinfofont"),
width = self.width * 0.9,
}
}
table.insert(VerticalGroupData, CenterContainer:new{
dimen = Geom:new{
w = self.title_bar:getSize().w,
h = input_description[k]:getSize().h ,
},
input_description[k],
})
end
table.insert(VerticalGroupData, CenterContainer:new{ table.insert(VerticalGroupData, CenterContainer:new{
dimen = Geom:new{ dimen = Geom:new{
w = self.title_bar:getSize().w, w = self.title_bar:getSize().w,

@ -605,16 +605,14 @@ function ReaderStatistics:updateSettings()
title = _("Statistics settings"), title = _("Statistics settings"),
fields = { fields = {
{ {
text = "", text = self.page_min_read_sec,
description = T(_("Min seconds, default is %1"), DEFAULT_MIN_READ_SEC),
input_type = "number", input_type = "number",
hint = T(_("Min seconds, default is %1. Current value: %2"),
DEFAULT_MIN_READ_SEC, self.page_min_read_sec),
}, },
{ {
text = "", text = self.page_max_read_sec,
description = T(_("Max seconds, default is %1"), DEFAULT_MAX_READ_SEC),
input_type = "number", input_type = "number",
hint = T(_("Max seconds, default is %1. Current value: %2"),
DEFAULT_MAX_READ_SEC, self.page_max_read_sec),
}, },
}, },
buttons = { buttons = {

Loading…
Cancel
Save