add previous and next chevron icon in touch menu

pull/629/head
chrox 10 years ago
parent e23e48ffa5
commit 3ae68399eb

@ -13,6 +13,7 @@ local VerticalGroup = require("ui/widget/verticalgroup")
local HorizontalSpan = require("ui/widget/horizontalspan")
local VerticalSpan = require("ui/widget/verticalspan")
local IconButton = require("ui/widget/iconbutton")
local Button = require("ui/widget/button")
local UIManager = require("ui/uimanager")
local Screen = require("ui/screen")
local Geom = require("ui/geometry")
@ -204,7 +205,7 @@ end
--[[
TouchMenu widget
TouchMenu widget for hierarchical menus
--]]
local TouchMenu = InputContainer:new{
tab_item_table = {},
@ -215,6 +216,7 @@ local TouchMenu = InputContainer:new{
bordersize = Screen:scaleByDPI(2),
padding = Screen:scaleByDPI(5),
footer_height = Screen:scaleByDPI(50),
fface = Font:getFace("ffont", 16),
width = nil,
height = nil,
page = 1,
@ -264,14 +266,33 @@ function TouchMenu:init()
self.item_group = VerticalGroup:new{
align = "left",
}
self.footer_page = TextWidget:new{
face = Font:getFace("ffont", 20),
-- group for page info
self.page_info_left_chev = Button:new{
icon = "resources/icons/appbar.chevron.left.png",
callback = function() self:onPrevPage() end,
bordersize = 0,
show_parent = self,
}
self.page_info_right_chev = Button:new{
icon = "resources/icons/appbar.chevron.right.png",
callback = function() self:onNextPage() end,
bordersize = 0,
show_parent = self,
}
self.page_info_left_chev:hide()
self.page_info_right_chev:hide()
self.page_info_text = TextWidget:new{
text = "",
face = self.fface,
}
self.page_info = HorizontalGroup:new{
self.page_info_left_chev,
self.page_info_text,
self.page_info_right_chev
}
self.time_info = TextWidget:new{
face = Font:getFace("ffont", 20),
text = "",
face = self.fface,
}
local footer_width = self.width - self.padding*2 - self.bordersize*2
self.footer = HorizontalGroup:new{
@ -288,7 +309,7 @@ function TouchMenu:init()
},
CenterContainer:new{
dimen = Geom:new{ w = footer_width*0.33, h = self.footer_height},
self.footer_page,
self.page_info,
},
RightContainer:new{
dimen = Geom:new{ w = footer_width*0.33, h = self.footer_height},
@ -379,7 +400,11 @@ function TouchMenu:updateItems()
table.insert(self.item_group, VerticalSpan:new{width = Screen:scaleByDPI(2)})
table.insert(self.item_group, self.footer)
self.footer_page.text = _("Page ")..self.page.."/"..self.page_num
self.page_info_text.text = _("Page ")..self.page.."/"..self.page_num
self.page_info_left_chev:showHide(self.page_num > 1)
self.page_info_right_chev:showHide(self.page_num > 1)
self.page_info_left_chev:enableDisable(self.page > 1)
self.page_info_right_chev:enableDisable(self.page < self.page_num)
self.time_info.text = os.date("%H:%M")
-- FIXME: this is a dirty hack to clear previous menus
-- refert to issue #664

Loading…
Cancel
Save