Try to avoid more update_regions_func mismatches

scheduling tricks
pull/1204/head
NiLuJe 10 years ago committed by Hans-Werner Hilse
parent f6753085ef
commit e9573ebe58

@ -152,14 +152,14 @@ end
function Button:onTapSelectButton()
if self.enabled and self.callback then
self[1].invert = true
-- NOTE: Nope, this breaks the FM, by only refreshing the buttons themselves :D.
--[[
UIManager.update_regions_func = function()
return {self[1].dimen}
end
--]]
UIManager:setDirty(self.show_parent, "partial")
UIManager:scheduleIn(0.0, function()
self[1].invert = true
UIManager.update_regions_func = function()
return {self[1].dimen}
end
UIManager.repaint_all = true -- FIXME: Why?
UIManager:setDirty(self.show_parent, "partial")
end)
UIManager:scheduleIn(0.1, function()
self.callback()
self[1].invert = false

@ -39,11 +39,13 @@ function IconButton:initGesListener()
end
function IconButton:onTapClickButton()
self.image.invert = true
UIManager.update_regions_func = function()
return {self[1].dimen}
end
UIManager:setDirty(self.show_parent, "partial")
UIManager:scheduleIn(0.0, function()
self.image.invert = true
UIManager.update_regions_func = function()
return {self[1].dimen}
end
UIManager:setDirty(self.show_parent, "partial")
end)
-- make sure button reacts before doing callback
UIManager:scheduleIn(0.1, function()
self.callback()

@ -95,11 +95,13 @@ function TouchMenuItem:onTapSelect(arg, ges)
end
if enabled == false then return end
self.item_frame.invert = true
UIManager.update_regions_func = function()
return {self.dimen}
end
UIManager:setDirty(self.show_parent, "partial")
UIManager:scheduleIn(0.0, function()
self.item_frame.invert = true
UIManager.update_regions_func = function()
return {self.dimen}
end
UIManager:setDirty(self.show_parent, "partial")
end)
UIManager:scheduleIn(0.1, function()
self.menu:onMenuSelect(self.item)
end)
@ -117,11 +119,13 @@ function TouchMenuItem:onHoldSelect(arg, ges)
end
if enabled == false then return end
self.item_frame.invert = true
UIManager.update_regions_func = function()
return {self.dimen}
end
UIManager:setDirty(self.show_parent, "partial")
UIManager:scheduleIn(0.0, function()
self.item_frame.invert = true
UIManager.update_regions_func = function()
return {self.dimen}
end
UIManager:setDirty(self.show_parent, "partial")
end)
UIManager:scheduleIn(0.1, function()
self.menu:onMenuHold(self.item)
end)
@ -454,7 +458,7 @@ function TouchMenu:updateItems()
self.page_info_right_chev:enableDisable(self.page < self.page_num)
self.time_info.text = os.date("%H:%M").." @ "..Device:getPowerDevice():getCapacity().."%"
-- FIXME: this is a dirty hack to clear previous menus
-- refert to issue #664
-- refer to issue #664 (in kindlepdfviewer)
UIManager.repaint_all = true
end
@ -533,7 +537,7 @@ function TouchMenu:onMenuSelect(item)
callback = item.callback_func()
end
if callback then
-- put stuff in scheduler so we can See
-- put stuff in scheduler so we can see
-- the effect of inverted menu item
UIManager:scheduleIn(0.1, function()
self:closeMenu()

Loading…
Cancel
Save