#1807 FR: Add separator into menu

pull/1808/head
Alex Pletnev 8 years ago
parent 20d301fa7a
commit a6ebbe9adb

@ -8,6 +8,7 @@ local BottomContainer = require("ui/widget/container/bottomcontainer")
local UnderlineContainer = require("ui/widget/container/underlinecontainer") local UnderlineContainer = require("ui/widget/container/underlinecontainer")
local FocusManager = require("ui/widget/focusmanager") local FocusManager = require("ui/widget/focusmanager")
local TextWidget = require("ui/widget/textwidget") local TextWidget = require("ui/widget/textwidget")
local LineWidget = require("ui/widget/linewidget")
local OverlapGroup = require("ui/widget/overlapgroup") local OverlapGroup = require("ui/widget/overlapgroup")
local VerticalSpan = require("ui/widget/verticalspan") local VerticalSpan = require("ui/widget/verticalspan")
local HorizontalSpan = require("ui/widget/horizontalspan") local HorizontalSpan = require("ui/widget/horizontalspan")
@ -109,6 +110,45 @@ function MenuCloseButton:onClose()
return true return true
end end
--[[
Widget that displays a solid line in menu
--]]
local SeparatorMenuItem = InputContainer:new{
style = "solid",
dimen = nil,
_line_container = nil,
}
function SeparatorMenuItem:init()
self._line_container = CenterContainer:new{
vertical_align = "center",
dimen = Geom:new {
w = self.dimen.w,
h = self.dimen.h
},
HorizontalGroup:new {
align = "center",
OverlapGroup:new {
dimen = Geom:new { w = self.dimen.w, h = Screen:scaleBySize(2) },
LineWidget:new {
style = self.style,
dimen = Geom:new { w = self.dimen.w - 30, h = Screen:scaleBySize(2) },
}
},
}
}
self[1] = FrameContainer:new {
bordersize = 0,
padding = 0,
HorizontalGroup:new {
align = "center",
HorizontalSpan:new { width = 15 },
self._line_container
}
}
end
--[[ --[[
Widget that displays an item for menu Widget that displays an item for menu
--]] --]]
@ -641,20 +681,27 @@ function Menu:updateItems(select_number)
item_shortcut = "Ent" item_shortcut = "Ent"
end end
end end
local item_tmp = MenuItem:new{ local item_tmp
show_parent = self.show_parent, if self.item_table[i].text == "-" then
state = self.item_table[i].state, item_tmp = SeparatorMenuItem:new{
state_size = self.state_size or {}, dimen = self.item_dimen:new{ h = Screen:scaleBySize(10) },
text = self.item_table[i].text, }
mandatory = self.item_table[i].mandatory, else
bold = self.item_table.current == i, item_tmp = MenuItem:new{
face = self.cface, show_parent = self.show_parent,
dimen = self.item_dimen:new(), state = self.item_table[i].state,
shortcut = item_shortcut, state_size = self.state_size or {},
shortcut_style = shortcut_style, text = self.item_table[i].text,
table = self.item_table[i], mandatory = self.item_table[i].mandatory,
menu = self, bold = self.item_table.current == i,
} face = self.cface,
dimen = self.item_dimen:new(),
shortcut = item_shortcut,
shortcut_style = shortcut_style,
table = self.item_table[i],
menu = self,
}
end
table.insert(self.item_group, item_tmp) table.insert(self.item_group, item_tmp)
-- this is for focus manager -- this is for focus manager
table.insert(self.layout, {item_tmp}) table.insert(self.layout, {item_tmp})

@ -318,7 +318,7 @@ function ReaderStatistics:updateTotalStat()
DEBUG ("TOTALSTATS", total_stats) DEBUG ("TOTALSTATS", total_stats)
table.insert(total_stats, 1, { text = _("Total hours read"), mandatory = util.secondsToClock(total_books_time, false) }) table.insert(total_stats, 1, { text = _("Total hours read"), mandatory = util.secondsToClock(total_books_time, false) })
table.insert(total_stats, 2, { text = _("----------------------------------------------------") }) table.insert(total_stats, 2, { text = "-" })
table.insert(total_stats, 3, { table.insert(total_stats, 3, {
text = self.data.title, text = self.data.title,
mandatory = util.secondsToClock(self.data.total_time_in_sec, false), mandatory = util.secondsToClock(self.data.total_time_in_sec, false),

Loading…
Cancel
Save