Merge pull request #1041 from houqp/dxg

more fixes for none touch kindles
pull/1049/head
Huang Xin 10 years ago
commit 1340ba8e62

@ -1,7 +1,6 @@
local CenterContainer = require("ui/widget/container/centercontainer")
local InputContainer = require("ui/widget/container/inputcontainer")
local ConfirmBox = require("ui/widget/confirmbox")
local TouchMenu = require("ui/widget/touchmenu")
local InfoMessage = require("ui/widget/infomessage")
local OTAManager = require("ui/otamanager")
local UIManager = require("ui/uimanager")
@ -190,6 +189,7 @@ function FileManagerMenu:onShowMenu()
local main_menu = nil
if Device:isTouchDevice() then
local TouchMenu = require("ui/widget/touchmenu")
main_menu = TouchMenu:new{
width = Screen:getWidth(),
tab_item_table = {
@ -202,17 +202,13 @@ function FileManagerMenu:onShowMenu()
show_parent = menu_container,
}
else
local Menu = require("ui/widget/menu")
main_menu = Menu:new{
title = _("File manager menu"),
item_table = {},
width = Screen:getWidth() - 100,
item_table = Menu.itemTableFromTouchMenu(self.tab_item_table),
width = Screen:getWidth()-10,
show_parent = menu_container,
}
for _,item_table in pairs(self.tab_item_table) do
for k,v in ipairs(item_table) do
table.insert(main_menu.item_table, v)
end
end
end
main_menu.close_callback = function ()

@ -79,7 +79,9 @@ end
-- event handler for readercropping
function ReaderConfig:onCloseConfigMenu()
self.config_dialog:closeDialog()
if self.config_dialog then
self.config_dialog:closeDialog()
end
end
function ReaderConfig:onReadSettings(config)

@ -3,7 +3,6 @@ local CenterContainer = require("ui/widget/container/centercontainer")
local InfoMessage = require("ui/widget/infomessage")
local InputDialog = require("ui/widget/inputdialog")
local ConfirmBox = require("ui/widget/confirmbox")
local TouchMenu = require("ui/widget/touchmenu")
local GestureRange = require("ui/gesturerange")
local OTAManager = require("ui/otamanager")
local UIManager = require("ui/uimanager")
@ -11,7 +10,6 @@ local Device = require("ui/device")
local Geom = require("ui/geometry")
local Event = require("ui/event")
local Screen = require("ui/screen")
local Menu = require("ui/widget/menu")
local Language = require("ui/language")
local DEBUG = require("dbg")
local _ = require("gettext")
@ -172,6 +170,7 @@ function ReaderMenu:onShowReaderMenu()
local main_menu = nil
if Device:isTouchDevice() then
local TouchMenu = require("ui/widget/touchmenu")
main_menu = TouchMenu:new{
width = Screen:getWidth(),
tab_item_table = {
@ -186,17 +185,13 @@ function ReaderMenu:onShowReaderMenu()
show_parent = menu_container,
}
else
local Menu = require("ui/widget/menu")
main_menu = Menu:new{
title = _("Document menu"),
item_table = {},
item_table = Menu.itemTableFromTouchMenu(self.tab_item_table),
width = Screen:getWidth() - 100,
show_parent = menu_container,
}
for _,item_table in pairs(self.tab_item_table) do
for k,v in ipairs(item_table) do
table.insert(main_menu.item_table, v)
end
end
end
main_menu.close_callback = function ()

@ -356,15 +356,15 @@ local Menu = FocusManager:new{
function Menu:_recalculateDimen()
self.dimen.w = self.width
-- if height not given, dynamically calculate it
self.dimen.h = self.height or (#self.item_table + 2) * Screen:scaleByDPI(36)
if self.dimen.h > Screen:getHeight() then
self.dimen.h = Screen:getHeight()
end
self.item_dimen = Geom:new{
w = self.dimen.w,
h = Screen:scaleByDPI(46), -- hardcoded for now
}
-- if height not given, dynamically calculate it
self.dimen.h = self.height or (#self.item_table + 2) * self.item_dimen.h
if self.dimen.h > Screen:getHeight() then
self.dimen.h = Screen:getHeight()
end
-- header and footer should approximately take up space of 2 items
self.perpage = math.floor(self.dimen.h / self.item_dimen.h) - (self.no_title and 1 or 2)
self.page_num = math.ceil(#self.item_table / self.perpage)
@ -648,9 +648,8 @@ function Menu:updateItems(select_number)
end
-- nicolua
-- FIXMED: dirty hack to clear previous menus
-- FIXME: dirty hack to clear previous menus
UIManager:setDirty(self.show_parent or self)
end
--[[
@ -834,4 +833,18 @@ function Menu:onSwipe(arg, ges_ev)
end
end
function Menu.itemTableFromTouchMenu(t)
local item_t = {}
for k,v in pairs(t) do
local item = { text = k }
if v.callback then
item.callback = v.callback
else
item.sub_item_table = v
end
table.insert(item_t, item)
end
return item_t
end
return Menu

Loading…
Cancel
Save