long press the backspace key will clear input text

pull/818/head
chrox 10 years ago
parent 948d92a3b3
commit c83f35a0d0

@ -151,6 +151,12 @@ function InputText:delChar()
UIManager:setDirty(self.parent, "partial")
end
function InputText:clear()
self.text = ""
self:initTextBox()
UIManager:setDirty(self.parent, "partial")
end
function InputText:getText()
return self.text
end

@ -41,6 +41,7 @@ function VirtualKey:init()
self.callback = function () self.keyboard:setLayout(self.key or self.label) end
elseif self.label == "Backspace" then
self.callback = function () self.keyboard:delChar() end
self.hold_callback = function () self.keyboard:clear() end
else
self.callback = function () self.keyboard:addChar(self.key) end
end
@ -83,6 +84,12 @@ function VirtualKey:init()
range = self.dimen,
},
},
HoldSelect = {
GestureRange:new{
ges = "hold",
range = self.dimen,
},
},
}
end
end
@ -96,6 +103,15 @@ function VirtualKey:onTapSelect()
return true
end
function VirtualKey:onHoldSelect()
self[1].invert = true
if self.hold_callback then
self.hold_callback()
end
UIManager:scheduleIn(0.5, function() self:invert(false) end)
return true
end
function VirtualKey:invert(invert)
self[1].invert = invert
UIManager:setDirty(self.keyboard, "partial")
@ -191,7 +207,7 @@ function VirtualKeyboard:init()
for i = 1, string.len(GLOBAL_INPUT_VALUE) do
self:addChar(string.sub(GLOBAL_INPUT_VALUE,i,i))
end
end
end
end
function VirtualKeyboard:initLayout(layout)
@ -303,4 +319,11 @@ function VirtualKeyboard:delChar()
UIManager:setDirty(self.inputbox, "partial")
end
function VirtualKeyboard:clear()
DEBUG("clear input")
self.inputbox:clear()
UIManager:setDirty(self, "partial")
UIManager:setDirty(self.inputbox, "partial")
end
return VirtualKeyboard

Loading…
Cancel
Save