From 394c847e2b276e07b9a639d53d29b59ac6eb4609 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 25 Oct 2014 04:02:42 -0400 Subject: [PATCH] fix(app): initilize menu properly in reader and filemanager --- frontend/apps/filemanager/filemanagermenu.lua | 14 +++++--------- frontend/apps/reader/modules/readermenu.lua | 13 ++++--------- frontend/ui/widget/menu.lua | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/frontend/apps/filemanager/filemanagermenu.lua b/frontend/apps/filemanager/filemanagermenu.lua index 794ef7c70..a53e1c958 100644 --- a/frontend/apps/filemanager/filemanagermenu.lua +++ b/frontend/apps/filemanager/filemanagermenu.lua @@ -1,7 +1,6 @@ local CenterContainer = require("ui/widget/container/centercontainer") local InputContainer = require("ui/widget/container/inputcontainer") local ConfirmBox = require("ui/widget/confirmbox") -local TouchMenu = require("ui/widget/touchmenu") local InfoMessage = require("ui/widget/infomessage") local OTAManager = require("ui/otamanager") local UIManager = require("ui/uimanager") @@ -190,6 +189,7 @@ function FileManagerMenu:onShowMenu() local main_menu = nil if Device:isTouchDevice() then + local TouchMenu = require("ui/widget/touchmenu") main_menu = TouchMenu:new{ width = Screen:getWidth(), tab_item_table = { @@ -202,17 +202,13 @@ function FileManagerMenu:onShowMenu() show_parent = menu_container, } else + local Menu = require("ui/widget/menu") main_menu = Menu:new{ title = _("File manager menu"), - item_table = {}, - width = Screen:getWidth() - 100, + item_table = Menu.itemTableFromTouchMenu(self.tab_item_table), + width = Screen:getWidth()-10, + show_parent = menu_container, } - - for _,item_table in pairs(self.tab_item_table) do - for k,v in ipairs(item_table) do - table.insert(main_menu.item_table, v) - end - end end main_menu.close_callback = function () diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index 182daaa23..8b171961d 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -3,7 +3,6 @@ local CenterContainer = require("ui/widget/container/centercontainer") local InfoMessage = require("ui/widget/infomessage") local InputDialog = require("ui/widget/inputdialog") local ConfirmBox = require("ui/widget/confirmbox") -local TouchMenu = require("ui/widget/touchmenu") local GestureRange = require("ui/gesturerange") local OTAManager = require("ui/otamanager") local UIManager = require("ui/uimanager") @@ -11,7 +10,6 @@ local Device = require("ui/device") local Geom = require("ui/geometry") local Event = require("ui/event") local Screen = require("ui/screen") -local Menu = require("ui/widget/menu") local Language = require("ui/language") local DEBUG = require("dbg") local _ = require("gettext") @@ -172,6 +170,7 @@ function ReaderMenu:onShowReaderMenu() local main_menu = nil if Device:isTouchDevice() then + local TouchMenu = require("ui/widget/touchmenu") main_menu = TouchMenu:new{ width = Screen:getWidth(), tab_item_table = { @@ -186,17 +185,13 @@ function ReaderMenu:onShowReaderMenu() show_parent = menu_container, } else + local Menu = require("ui/widget/menu") main_menu = Menu:new{ title = _("Document menu"), - item_table = {}, + item_table = Menu.itemTableFromTouchMenu(self.tab_item_table), width = Screen:getWidth() - 100, + show_parent = menu_container, } - - for _,item_table in pairs(self.tab_item_table) do - for k,v in ipairs(item_table) do - table.insert(main_menu.item_table, v) - end - end end main_menu.close_callback = function () diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index d3b470872..a00ca47de 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -833,4 +833,18 @@ function Menu:onSwipe(arg, ges_ev) end end +function Menu.itemTableFromTouchMenu(t) + local item_t = {} + for k,v in pairs(t) do + local item = { text = k } + if v.callback then + item.callback = v.callback + else + item.sub_item_table = v + end + table.insert(item_t, item) + end + return item_t +end + return Menu