From cf124eb72f3d14a5eb9c4e19992d90fded291582 Mon Sep 17 00:00:00 2001 From: chrox Date: Thu, 12 Mar 2015 14:19:10 +0800 Subject: [PATCH] refresh menu instead of closing if menu item is a check option --- frontend/ui/widget/touchmenu.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/frontend/ui/widget/touchmenu.lua b/frontend/ui/widget/touchmenu.lua index ad766396e..f3d8a3f80 100644 --- a/frontend/ui/widget/touchmenu.lua +++ b/frontend/ui/widget/touchmenu.lua @@ -546,7 +546,8 @@ function TouchMenu:onMenuSelect(item) sub_item_table = item.sub_item_table_func() end if sub_item_table == nil then - local callback = item.callback + -- keep menu opened if this item is a check option + local callback, refresh = item.callback, item.checked or item.checked_func if item.callback_func then callback = item.callback_func() end @@ -554,8 +555,12 @@ function TouchMenu:onMenuSelect(item) -- put stuff in scheduler so we can see -- the effect of inverted menu item UIManager:scheduleIn(0.1, function() - self:closeMenu() callback() + if refresh then + self:updateItems() + else + self:closeMenu() + end end) end else