From 2a4282e8f5fe07da19ef50b530a20b302693429a Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 16 Mar 2013 13:45:00 -0400 Subject: [PATCH 1/7] bug fix in item_table_stack should create a new one for each menu widget invoke --- frontend/ui/widget/menu.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index c37691607..638cbc4d7 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -218,7 +218,7 @@ Menu = FocusManager:new{ "A", "S", "D", "F", "G", "H", "J", "K", "L", "Del", "Z", "X", "C", "V", "B", "N", "M", ".", "Sym", "Enter", }, - item_table_stack = {}, + item_table_stack = nil, is_enable_shortcut = true, item_dimen = nil, @@ -256,6 +256,7 @@ function Menu:_recalculateDimen() end function Menu:init() + self.item_table_stack = {} self:_recalculateDimen() self.page = 1 From 935ed5576c5207acb9872204263e9217655d32a3 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 16 Mar 2013 14:15:50 -0400 Subject: [PATCH 2/7] add show_parent to menu widget --- frontend/ui/widget/menu.lua | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index 638cbc4d7..ad6e58f9b 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -5,6 +5,7 @@ require "ui/widget/text" require "ui/widget/group" require "ui/widget/span" require "ui/font" +require "dbg" --[[ Widget that displays a shortcut icon for menu item @@ -91,6 +92,7 @@ Widget that displays an item for menu --]] MenuItem = InputContainer:new{ text = nil, + show_parent = nil, detail = nil, face = Font:getFace("cfont", 22), dimen = nil, @@ -188,7 +190,14 @@ function MenuItem:onShowItemDetail() end function MenuItem:onTapSelect() - self.menu:onMenuSelect(self.table) + self[1].invert = true + LvDEBUG(1, "----------------", self.show_parent, 3) + UIManager:setDirty(self.show_parent, "partial") + UIManager:scheduleIn(0.1, function() + self[1].invert = false + UIManager:setDirty(self.show_parent, "partial") + self.menu:onMenuSelect(self.table) + end) return true end @@ -197,6 +206,7 @@ end Widget that displays menu --]] Menu = FocusManager:new{ + show_parent = nil, -- face for displaying item contents cface = Font:getFace("cfont", 22), -- face for menu title @@ -256,6 +266,7 @@ function Menu:_recalculateDimen() end function Menu:init() + self.show_parent = self.show_parent or self self.item_table_stack = {} self:_recalculateDimen() self.page = 1 @@ -389,6 +400,7 @@ function Menu:updateItems(select_number) end end local item_tmp = MenuItem:new{ + show_parent = self.show_parent, text = self.item_table[i].text, face = self.cface, dimen = self.item_dimen:new(), From d3e362a5510a92bb5c848a112032cf4ab39c1f18 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 16 Mar 2013 14:17:42 -0400 Subject: [PATCH 3/7] use show_parent in reader.lua --- reader.lua | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/reader.lua b/reader.lua index 8d622db74..ed2032eb8 100755 --- a/reader.lua +++ b/reader.lua @@ -81,17 +81,21 @@ function HomeMenu:onTapShowMenu() self.item_table = {} self:setUpdateItemTable() + local menu_container = CenterContainer:new{ + ignore = "height", + dimen = Screen:getSize(), + name = "haha", + } + local home_menu = Menu:new{ + show_parent = menu_container, title = "Home menu", item_table = self.item_table, width = Screen:getWidth() - 100, } - local menu_container = CenterContainer:new{ - ignore = "height", - dimen = Screen:getSize(), - home_menu, - } + menu_container[1] = home_menu + home_menu.close_callback = function () UIManager:close(menu_container) end @@ -121,7 +125,12 @@ end function showHomePage(path) local exclude_dirs = {"%.sdr$"} + + local HomePage = InputContainer:new{ + } + local FileManager = FileChooser:new{ + show_parent = HomePage, title = "FileManager", path = path, width = Screen:getWidth(), @@ -141,10 +150,8 @@ function showHomePage(path) end } - local HomePage = InputContainer:new{ - FileManager, - HomeMenu, - } + table.insert(HomePage, FileManager) + table.insert(HomePage, HomeMenu) function FileManager:onFileSelect(file) showReader(file) From b6e0a4ca9a83e762308038e9dbc248b5419651ba Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 16 Mar 2013 14:19:51 -0400 Subject: [PATCH 4/7] add show_parent in readermenu --- frontend/ui/reader/readertoc.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/frontend/ui/reader/readertoc.lua b/frontend/ui/reader/readertoc.lua index 8460e5ab3..d3c5c4603 100644 --- a/frontend/ui/reader/readertoc.lua +++ b/frontend/ui/reader/readertoc.lua @@ -77,21 +77,25 @@ function ReaderToc:onShowToc() end end + local menu_container = CenterContainer:new{ + dimen = Screen:getSize(), + } + local toc_menu = Menu:new{ title = "Table of Contents", item_table = self.toc, ui = self.ui, width = Screen:getWidth()-20, height = Screen:getHeight(), + show_parent = menu_container, } + + table.insert(menu_container, toc_menu) + function toc_menu:onMenuChoice(item) self.ui:handleEvent(Event:new("PageUpdate", item.page)) end - local menu_container = CenterContainer:new{ - dimen = Screen:getSize(), - toc_menu, - } toc_menu.close_callback = function() UIManager:close(menu_container) end From 595392e841510c1449556f1fd8fe65eaddead98e Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 16 Mar 2013 14:37:56 -0400 Subject: [PATCH 5/7] remove debug information --- reader.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/reader.lua b/reader.lua index ed2032eb8..28755a2b0 100755 --- a/reader.lua +++ b/reader.lua @@ -84,7 +84,6 @@ function HomeMenu:onTapShowMenu() local menu_container = CenterContainer:new{ ignore = "height", dimen = Screen:getSize(), - name = "haha", } local home_menu = Menu:new{ From 9831c40dc7b8cdbb842d67f2b09a266ab7184eb8 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 16 Mar 2013 14:39:17 -0400 Subject: [PATCH 6/7] remove debug information --- frontend/ui/reader/readermenu.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/frontend/ui/reader/readermenu.lua b/frontend/ui/reader/readermenu.lua index 2d2b7653d..448e95b85 100644 --- a/frontend/ui/reader/readermenu.lua +++ b/frontend/ui/reader/readermenu.lua @@ -2,7 +2,6 @@ require "ui/widget/menu" require "ui/widget/touchmenu" ReaderMenu = InputContainer:new{ - _name = "ReaderMenu", tab_item_table = nil, registered_widgets = {}, } @@ -66,7 +65,6 @@ function ReaderMenu:onShowMenu() end local menu_container = CenterContainer:new{ - name = "haha", ignore = "height", dimen = Screen:getSize(), } From 7f03dcd82b69758dc362dc86d7f3f89052e5ae79 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 16 Mar 2013 14:40:51 -0400 Subject: [PATCH 7/7] remove LvDEBUG call --- frontend/ui/widget/menu.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index ad6e58f9b..30da4e11d 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -5,7 +5,6 @@ require "ui/widget/text" require "ui/widget/group" require "ui/widget/span" require "ui/font" -require "dbg" --[[ Widget that displays a shortcut icon for menu item @@ -191,7 +190,6 @@ end function MenuItem:onTapSelect() self[1].invert = true - LvDEBUG(1, "----------------", self.show_parent, 3) UIManager:setDirty(self.show_parent, "partial") UIManager:scheduleIn(0.1, function() self[1].invert = false