diff --git a/frontend/ui/widget/doublespinwidget.lua b/frontend/ui/widget/doublespinwidget.lua index 7c7e491f2..91c2f3532 100644 --- a/frontend/ui/widget/doublespinwidget.lua +++ b/frontend/ui/widget/doublespinwidget.lua @@ -86,6 +86,8 @@ function DoubleSpinWidget:init() end function DoubleSpinWidget:update(numberpicker_left_value, numberpicker_right_value) + local prev_movable_offset = self.movable and self.movable:getMovedOffset() + local prev_movable_alpha = self.movable and self.movable.alpha self.layout = {} local left_widget = NumberPickerWidget:new{ show_parent = self, @@ -256,6 +258,7 @@ function DoubleSpinWidget:update(numberpicker_left_value, numberpicker_right_val } } self.movable = MovableContainer:new{ + alpha = prev_movable_alpha, self.widget_frame, } self[1] = WidgetContainer:new{ @@ -267,6 +270,9 @@ function DoubleSpinWidget:update(numberpicker_left_value, numberpicker_right_val }, self.movable, } + if prev_movable_offset then + self.movable:setMovedOffset(prev_movable_offset) + end self:refocusWidget() UIManager:setDirty(self, function() return "ui", self.widget_frame.dimen diff --git a/frontend/ui/widget/spinwidget.lua b/frontend/ui/widget/spinwidget.lua index c3fae130e..4e3ef5066 100644 --- a/frontend/ui/widget/spinwidget.lua +++ b/frontend/ui/widget/spinwidget.lua @@ -85,6 +85,8 @@ function SpinWidget:init() end function SpinWidget:update(numberpicker_value, numberpicker_value_index) + local prev_movable_offset = self.movable and self.movable:getMovedOffset() + local prev_movable_alpha = self.movable and self.movable.alpha self.layout = {} local value_widget = NumberPickerWidget:new{ show_parent = self, @@ -223,6 +225,7 @@ function SpinWidget:update(numberpicker_value, numberpicker_value_index) vgroup, } self.movable = MovableContainer:new{ + alpha = prev_movable_alpha, self.spin_frame, } self[1] = WidgetContainer:new{ @@ -234,6 +237,9 @@ function SpinWidget:update(numberpicker_value, numberpicker_value_index) }, self.movable, } + if prev_movable_offset then + self.movable:setMovedOffset(prev_movable_offset) + end self:refocusWidget() UIManager:setDirty(self, function() return "ui", self.spin_frame.dimen