InputDialog is broken by #2672 (#2690)

This change also adds a tap_input_func in both TouchMenu and Button.
pull/2692/head
Hzj_jie 7 years ago committed by GitHub
parent ea2de9638b
commit ed461c7f30

@ -185,6 +185,8 @@ function Button:onTapSelectButton()
end) end)
elseif self.tap_input then elseif self.tap_input then
self:onInput(self.tap_input) self:onInput(self.tap_input)
elseif type(self.tap_input_func) == "function" then
self:onInput(self.tap_input_func())
end end
return true return true
end end
@ -194,6 +196,8 @@ function Button:onHoldSelectButton()
self.hold_callback() self.hold_callback()
elseif self.hold_input then elseif self.hold_input then
self:onInput(self.hold_input) self:onInput(self.hold_input)
elseif type(self.hold_input_func) == "function" then
self:onInput(self.hold_input_func())
end end
return true return true
end end

@ -52,7 +52,7 @@ local RenderText = require("ui/rendertext")
local TextBoxWidget = require("ui/widget/textboxwidget") local TextBoxWidget = require("ui/widget/textboxwidget")
local TextWidget = require("ui/widget/textwidget") local TextWidget = require("ui/widget/textwidget")
local VerticalGroup = require("ui/widget/verticalgroup") local VerticalGroup = require("ui/widget/verticalgroup")
local Widget = require("ui/widget/widget") local WidgetContainer = require("ui/widget/container/widgetcontainer")
local UIManager = require("ui/uimanager") local UIManager = require("ui/uimanager")
local Screen = require("device").screen local Screen = require("device").screen
@ -115,7 +115,7 @@ function InputDialog:init()
} }
} }
else else
self.description = Widget:new() self.description = WidgetContainer:new()
end end
self._input_widget = InputText:new{ self._input_widget = InputText:new{

@ -551,9 +551,13 @@ function TouchMenu:onMenuSelect(item)
if self.touch_menu_callback then if self.touch_menu_callback then
self.touch_menu_callback() self.touch_menu_callback()
end end
if item.tap_input then if item.tap_input or type(item.tap_input_func) == "function" then
self:closeMenu() self:closeMenu()
self:onInput(item.tap_input) if item.tap_input then
self:onInput(item.tap_input)
else
self:onInput(item.tap_input_func())
end
else else
local sub_item_table = item.sub_item_table local sub_item_table = item.sub_item_table
if item.sub_item_table_func then if item.sub_item_table_func then
@ -591,9 +595,13 @@ function TouchMenu:onMenuHold(item)
if self.touch_menu_callback then if self.touch_menu_callback then
self.touch_menu_callback() self.touch_menu_callback()
end end
if item.hold_input then if item.hold_input or type(item.hold_input_func) == "function" then
self:closeMenu() self:closeMenu()
self:onInput(item.hold_input) if item.hold_input then
self:onInput(item.hold_input)
else
self:onInput(item.hold_input_func())
end
else else
local callback = item.hold_callback local callback = item.hold_callback
if item.hold_callback_func then if item.hold_callback_func then

@ -205,14 +205,16 @@ function KOSync:addToMainMenu(menu_items)
}, },
{ {
text = _("Custom sync server"), text = _("Custom sync server"),
tap_input = { tap_input_func = function()
title = _("Custom progress sync server address"), return {
input = self.kosync_custom_server or "https://", title = _("Custom progress sync server address"),
type = "text", input = self.kosync_custom_server or "https://",
callback = function(input) type = "text",
self:setCustomServer(input) callback = function(input)
end, self:setCustomServer(input)
}, end,
}
end,
}, },
} }
} }

Loading…
Cancel
Save