From c90a484d01d1a90dc6cc6be1260aeeb81b6ccf88 Mon Sep 17 00:00:00 2001 From: Hzj_jie Date: Wed, 1 Feb 2017 07:34:12 -0800 Subject: [PATCH 1/6] Add a + for menu items with sub menu --- frontend/ui/widget/menu.lua | 21 ++++++++++----------- frontend/ui/widget/touchmenu.lua | 2 +- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index 6a338e917..c3232f629 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -169,8 +169,7 @@ function MenuItem:init() local state_button_width = self.state_size.w or 0 local my_text = self.text and ""..self.text or "" - local w = RenderText:sizeUtf8Text(0, self.dimen.w, self.face, - ""..my_text, true, self.bold).x + local w = RenderText:sizeUtf8Text(0, self.dimen.w, self.face, my_text, true, self.bold).x if w + mandatory_w + state_button_width >= self.content_width then if Device:hasKeyboard() then self.active_key_events.ShowItemDetail = { @@ -599,7 +598,7 @@ function Menu:init() if self.path_items then self:refreshPath() else - self:updateItems(1) + self:updateItems() end end @@ -650,7 +649,7 @@ function Menu:updateItems(select_number) show_parent = self.show_parent, state = self.item_table[i].state, state_size = self.state_size or {}, - text = self.item_table[i].text, + text = self.item_table[i].text .. ((self.item_table[i].sub_item_table ~= nil) and " +" or ""), mandatory = self.item_table[i].mandatory, bold = self.item_table.current == i or self.item_table[i].bold == true, face = self.cface, @@ -727,7 +726,7 @@ function Menu:swithItemTable(new_title, new_item_table, itemnumber) end self.item_table = new_item_table - self:updateItems(1) + self:updateItems() end function Menu:onSelectByShortCut(_, keyevent) @@ -803,7 +802,7 @@ function Menu:onNextPage() end if self.page < self.page_num then self.page = self.page + 1 - self:updateItems(1) + self:updateItems() elseif self.page == self.page_num then -- on the last page, we check if we're on the last item local end_position = #self.item_table % self.perpage @@ -814,7 +813,7 @@ function Menu:onNextPage() self:updateItems(end_position) end self.page = 1 - self:updateItems(1) + self:updateItems() end return true end @@ -825,25 +824,25 @@ function Menu:onPrevPage() elseif self.page == 1 then self.page = self.page_num end - self:updateItems(1) + self:updateItems() return true end function Menu:onFirstPage() self.page = 1 - self:updateItems(1) + self:updateItems() return true end function Menu:onLastPage() self.page = self.page_num - self:updateItems(1) + self:updateItems() return true end function Menu:onGotoPage(page) self.page = page - self:updateItems(1) + self:updateItems() return true end diff --git a/frontend/ui/widget/touchmenu.lua b/frontend/ui/widget/touchmenu.lua index 5c2e7eccf..dec246141 100644 --- a/frontend/ui/widget/touchmenu.lua +++ b/frontend/ui/widget/touchmenu.lua @@ -78,7 +78,7 @@ function TouchMenuItem:init() item_checked and checked_widget or unchecked_widget }, TextWidget:new{ - text = self.item.text or self.item.text_func(), + text = (self.item.text or self.item.text_func()) .. ((self.item.sub_item_table == nil) and "" or " +"), fgcolor = item_enabled ~= false and Blitbuffer.COLOR_BLACK or Blitbuffer.COLOR_GREY, face = self.face, }, From 98a86ba62f5d4563c241096a8fd4c475720e4ba0 Mon Sep 17 00:00:00 2001 From: Hzj_jie Date: Wed, 1 Feb 2017 07:46:35 -0800 Subject: [PATCH 2/6] prepose plus signal --- frontend/ui/widget/menu.lua | 2 +- frontend/ui/widget/touchmenu.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index c3232f629..1c4001de9 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -649,7 +649,7 @@ function Menu:updateItems(select_number) show_parent = self.show_parent, state = self.item_table[i].state, state_size = self.state_size or {}, - text = self.item_table[i].text .. ((self.item_table[i].sub_item_table ~= nil) and " +" or ""), + text = ((self.item_table[i].sub_item_table ~= nil) and "+ " or "") .. self.item_table[i].text, mandatory = self.item_table[i].mandatory, bold = self.item_table.current == i or self.item_table[i].bold == true, face = self.cface, diff --git a/frontend/ui/widget/touchmenu.lua b/frontend/ui/widget/touchmenu.lua index dec246141..f36283e48 100644 --- a/frontend/ui/widget/touchmenu.lua +++ b/frontend/ui/widget/touchmenu.lua @@ -78,7 +78,7 @@ function TouchMenuItem:init() item_checked and checked_widget or unchecked_widget }, TextWidget:new{ - text = (self.item.text or self.item.text_func()) .. ((self.item.sub_item_table == nil) and "" or " +"), + text = ((self.item.sub_item_table == nil) and "" or "+ ") .. (self.item.text or self.item.text_func()), fgcolor = item_enabled ~= false and Blitbuffer.COLOR_BLACK or Blitbuffer.COLOR_GREY, face = self.face, }, From fa848719ae5ecf5bdb4d969ff13db4bc3b2de62c Mon Sep 17 00:00:00 2001 From: Hzj_jie Date: Wed, 1 Feb 2017 08:17:01 -0800 Subject: [PATCH 3/6] > --- frontend/ui/widget/menu.lua | 2 +- frontend/ui/widget/touchmenu.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index 1c4001de9..486792539 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -649,7 +649,7 @@ function Menu:updateItems(select_number) show_parent = self.show_parent, state = self.item_table[i].state, state_size = self.state_size or {}, - text = ((self.item_table[i].sub_item_table ~= nil) and "+ " or "") .. self.item_table[i].text, + text = self.item_table[i].text .. ((self.item_table[i].sub_item_table ~= nil) and " >" or ""), mandatory = self.item_table[i].mandatory, bold = self.item_table.current == i or self.item_table[i].bold == true, face = self.cface, diff --git a/frontend/ui/widget/touchmenu.lua b/frontend/ui/widget/touchmenu.lua index f36283e48..fb661f40c 100644 --- a/frontend/ui/widget/touchmenu.lua +++ b/frontend/ui/widget/touchmenu.lua @@ -78,7 +78,7 @@ function TouchMenuItem:init() item_checked and checked_widget or unchecked_widget }, TextWidget:new{ - text = ((self.item.sub_item_table == nil) and "" or "+ ") .. (self.item.text or self.item.text_func()), + text = (self.item.text or self.item.text_func()) .. ((self.item.sub_item_table == nil) and "" or " >"), fgcolor = item_enabled ~= false and Blitbuffer.COLOR_BLACK or Blitbuffer.COLOR_GREY, face = self.face, }, From c33d1aa43b4cbe82087fedc4a8a7b607eca43d80 Mon Sep 17 00:00:00 2001 From: Hzj_jie Date: Wed, 1 Feb 2017 19:52:47 -0800 Subject: [PATCH 4/6] Use 25b9 instead of > --- frontend/ui/widget/menu.lua | 2 +- frontend/ui/widget/touchmenu.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index 486792539..3dc0bf090 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -649,7 +649,7 @@ function Menu:updateItems(select_number) show_parent = self.show_parent, state = self.item_table[i].state, state_size = self.state_size or {}, - text = self.item_table[i].text .. ((self.item_table[i].sub_item_table ~= nil) and " >" or ""), + text = self.item_table[i].text .. ((self.item_table[i].sub_item_table ~= nil) and " \226\150\185" or ""), mandatory = self.item_table[i].mandatory, bold = self.item_table.current == i or self.item_table[i].bold == true, face = self.cface, diff --git a/frontend/ui/widget/touchmenu.lua b/frontend/ui/widget/touchmenu.lua index fb661f40c..946a43e7c 100644 --- a/frontend/ui/widget/touchmenu.lua +++ b/frontend/ui/widget/touchmenu.lua @@ -78,7 +78,7 @@ function TouchMenuItem:init() item_checked and checked_widget or unchecked_widget }, TextWidget:new{ - text = (self.item.text or self.item.text_func()) .. ((self.item.sub_item_table == nil) and "" or " >"), + text = (self.item.text or self.item.text_func()) .. ((self.item.sub_item_table == nil) and "" or " \226\150\185"), fgcolor = item_enabled ~= false and Blitbuffer.COLOR_BLACK or Blitbuffer.COLOR_GREY, face = self.face, }, From 18117584c08e41a9cf1436e1770eeb1d08fcc631 Mon Sep 17 00:00:00 2001 From: Hzj_jie Date: Fri, 3 Feb 2017 20:26:47 -0800 Subject: [PATCH 5/6] Resolve review comments --- frontend/ui/widget/menu.lua | 3 ++- frontend/ui/widget/touchmenu.lua | 3 ++- frontend/util.lua | 13 +++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index 3dc0bf090..8588edb2f 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -27,6 +27,7 @@ local util = require("ffi/util") local logger = require("logger") local Blitbuffer = require("ffi/blitbuffer") local _ = require("gettext") +local getMenuText = require("util").getMenuText --[[ Widget that displays a shortcut icon for menu item @@ -649,7 +650,7 @@ function Menu:updateItems(select_number) show_parent = self.show_parent, state = self.item_table[i].state, state_size = self.state_size or {}, - text = self.item_table[i].text .. ((self.item_table[i].sub_item_table ~= nil) and " \226\150\185" or ""), + text = getMenuText(self.item_table[i]), mandatory = self.item_table[i].mandatory, bold = self.item_table.current == i or self.item_table[i].bold == true, face = self.cface, diff --git a/frontend/ui/widget/touchmenu.lua b/frontend/ui/widget/touchmenu.lua index 946a43e7c..75954749a 100644 --- a/frontend/ui/widget/touchmenu.lua +++ b/frontend/ui/widget/touchmenu.lua @@ -20,6 +20,7 @@ local Font = require("ui/font") local util = require("ffi/util") local _ = require("gettext") local Blitbuffer = require("ffi/blitbuffer") +local getMenuText = require("util").getMenuText --[[ TouchMenuItem widget @@ -78,7 +79,7 @@ function TouchMenuItem:init() item_checked and checked_widget or unchecked_widget }, TextWidget:new{ - text = (self.item.text or self.item.text_func()) .. ((self.item.sub_item_table == nil) and "" or " \226\150\185"), + text = getMenuText(self.item), fgcolor = item_enabled ~= false and Blitbuffer.COLOR_BLACK or Blitbuffer.COLOR_GREY, face = self.face, }, diff --git a/frontend/util.lua b/frontend/util.lua index 68377df53..3aaae5351 100755 --- a/frontend/util.lua +++ b/frontend/util.lua @@ -266,4 +266,17 @@ function util.splitFileNameSuffix(file) return string.gsub(file, "(.*)%.(.*)", "%1"), string.gsub(file, ".*%.", "") end +function util.getMenuText(item) + local text + if item.text_func then + text = item.text_func() + else + text = item.text + end + if item.sub_item_table ~= nil then + text = text .. " \226\150\182" + end + return text +end + return util From 65e2d6630fa3a7365a2304482a71fc31a36233cc Mon Sep 17 00:00:00 2001 From: Hzj_jie Date: Tue, 7 Feb 2017 20:38:34 -0800 Subject: [PATCH 6/6] Use small triangle --- frontend/util.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/util.lua b/frontend/util.lua index 3aaae5351..93fa1cec7 100755 --- a/frontend/util.lua +++ b/frontend/util.lua @@ -274,7 +274,7 @@ function util.getMenuText(item) text = item.text end if item.sub_item_table ~= nil then - text = text .. " \226\150\182" + text = text .. " \226\150\184" end return text end