diff --git a/dialog.lua b/dialog.lua index 19f7b0043..31c8c3737 100644 --- a/dialog.lua +++ b/dialog.lua @@ -265,17 +265,37 @@ ItemShortCutIcon = WidgetContainer:new{ height = 22, key = nil, bordersize = 2, + radius = 0, + style = "square" } function ItemShortCutIcon:init() if not self.key then return end + + local radius = 0 + local background = 0 + if self.style == "rounded_corner" then + radius = math.floor(self.width/2) + elseif self.style == "grey_square" then + background = 3 + end + + --@TODO calculate font size by icon size 01.05 2012 (houqp) + if self.key:len() > 1 then + sc_face = Font:getFace("ffont", 14) + else + sc_face = Font:getFace("scfont", 22) + end + self[1] = HorizontalGroup:new{ HorizontalSpan:new{ width = 5 }, FrameContainer:new{ padding = 0, bordersize = self.bordersize, + radius = radius, + background = background, dimen = { w = self.width, h = self.height, @@ -287,7 +307,7 @@ function ItemShortCutIcon:init() }, TextWidget:new{ text = self.key, - face = Font:getFace("scfont", 22) + face = sc_face, }, }, }, @@ -307,6 +327,7 @@ MenuItem = WidgetContainer:new{ width = nil, height = nil, shortcut = nil, + shortcut_style = "square", } function MenuItem:init() @@ -331,6 +352,8 @@ function MenuItem:init() width = shortcut_icon_w, height = shortcut_icon_h, key = self.shortcut, + radius = shortcut_icon_r, + style = self.shortcut_style, }, HorizontalSpan:new{ width = 5 }, UnderlineContainer:new{ @@ -453,7 +476,14 @@ function Menu:_updateItems() local i = (self.page - 1) * self.perpage + c if i <= self.items then local item_shortcut = nil + local shortcut_style = "square" if self.is_enable_shortcut then + -- give different shortcut_style to keys in different + -- lines of keyboard + if c >= 11 and c <= 20 then + --shortcut_style = "rounded_corner" + shortcut_style = "grey_square" + end item_shortcut = self.item_shortcuts[c] if item_shortcut == "Enter" then item_shortcut = "Ent" @@ -464,7 +494,8 @@ function Menu:_updateItems() face = self.cface, width = self.width - 14, height = self.item_height, - shortcut = item_shortcut + shortcut = item_shortcut, + shortcut_style = shortcut_style, } table.insert(item_group, item_tmp) table.insert(self.layout, {item_tmp})