SpinWidgets: keep movable position/alpha after Apply

Since eda8379e8c, on Apply, the widget is fully rebuild,
and was repositionned at its initial position (centered)
and fully opaque.
reviewable/pr8996/r2^2
poire-z 2 years ago
parent 814f42cce0
commit 658991ed5e

@ -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

@ -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

Loading…
Cancel
Save