SpinWidget fix enable/disable OK button (#8529)

Regression since #8495. SpinWidget with value_table didn't work.
reviewable/pr8530/r1^2
hius07 3 years ago committed by GitHub
parent a001a13ab6
commit 4be2c81582
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -227,7 +227,7 @@ function NumberPickerWidget:update()
return "ui", self.dimen return "ui", self.dimen
end) end)
if self.picker_updated_callback then if self.picker_updated_callback then
self.picker_updated_callback(self.value) self.picker_updated_callback(self.value, self.value_index)
end end
end end

@ -52,7 +52,9 @@ local SpinWidget = InputContainer:new{
} }
function SpinWidget:init() function SpinWidget:init()
self.original_value = self.value -- used to enable ok_button, self.value may be changed in extra callback -- used to enable ok_button, self.value may be changed in extra callback
self.original_value = self.value_table and self.value_table[self.value_index or 1] or self.value
self.screen_width = Screen:getWidth() self.screen_width = Screen:getWidth()
self.screen_height = Screen:getHeight() self.screen_height = Screen:getHeight()
if not self.width then if not self.width then
@ -84,20 +86,20 @@ function SpinWidget:init()
self:update() self:update()
end end
function SpinWidget:update(numberpicker_value) function SpinWidget:update(numberpicker_value, numberpicker_value_index)
local value_widget = NumberPickerWidget:new{ local value_widget = NumberPickerWidget:new{
show_parent = self, show_parent = self,
value = numberpicker_value or self.value, value = numberpicker_value or self.value,
value_table = self.value_table, value_table = self.value_table,
value_index = self.value_index, value_index = numberpicker_value_index or self.value_index,
value_min = self.value_min, value_min = self.value_min,
value_max = self.value_max, value_max = self.value_max,
value_step = self.value_step, value_step = self.value_step,
value_hold_step = self.value_hold_step, value_hold_step = self.value_hold_step,
precision = self.precision, precision = self.precision,
wrap = self.wrap, wrap = self.wrap,
picker_updated_callback = function(value) picker_updated_callback = function(value, value_index)
self:update(value) self:update(value, value_index)
end, end,
} }
local value_group = HorizontalGroup:new{ local value_group = HorizontalGroup:new{

Loading…
Cancel
Save