This commit is contained in:
kepler155c@gmail.com 2019-11-13 14:38:24 -07:00
parent 65c6ebf711
commit 0a828fecc5
3 changed files with 8 additions and 6 deletions

View File

@ -586,6 +586,7 @@ local function shellRead(history)
end
local _,cy = term.getCursorPos()
term.setCursorPos(3, cy)
entry.value = entry.value or ''
local filler = #entry.value < lastLen
and string.rep(' ', lastLen - #entry.value)
or ''
@ -635,6 +636,7 @@ local function shellRead(history)
redraw()
elseif ie.code == 'tab' then
entry.value = entry.value or ''
if entry.pos == #entry.value then
local cline = autocomplete(entry.value)
if cline then
@ -650,6 +652,7 @@ local function shellRead(history)
else
entry:process(ie)
entry.value = entry.value or ''
if entry.textChanged then
redraw()
elseif entry.posChanged then
@ -666,7 +669,7 @@ local function shellRead(history)
print()
term.setCursorBlink( false )
return entry.value
return entry.value or ''
end
local history = History.load('usr/.shell_history', 25)

View File

@ -393,7 +393,7 @@ function Entry:process(ie)
if not self.value or #_val(self.value) == 0 then
self.value = nil
end
_syslog(tostring(line) .. ' ' .. tostring(self.value) .. ' ' .. tostring(self.textChanged))
self.textChanged = self.textChanged or self.value ~= line
self.posChanged = pos ~= self.pos
self:updateScroll()

View File

@ -41,15 +41,15 @@ function UI.TextEntry:layout()
end
function UI.TextEntry:setValue(value)
self.value = value --or ''
self.value = value
self.entry:unmark()
self.entry.value = value --tostring(value or '')
self.entry.value = value
self.entry:updateScroll()
end
function UI.TextEntry:setPosition(pos)
self.entry.pos = pos
self.entry.value = self.value --tostring(self.value or '') -- WHY HERE ?
self.entry.value = self.value -- WHY HERE ?
self.entry:updateScroll()
end
@ -117,7 +117,6 @@ function UI.TextEntry:eventHandler(event)
self.entry.value = text
if event.ie and self.entry:process(event.ie) then
if self.entry.textChanged then
--_syslog(tostring(self.entry.value) .. ' ' .. tostring(self.value))
self.value = self.entry.value
self:draw()
self:emit({ type = 'text_change', text = self.value, element = self })