Merge pull request #92 from sharpobject/master

Add cut for text input, use cmd instead of ctrl on macs
This commit is contained in:
Kenny Shields 2013-12-03 14:27:57 -08:00
commit e131ed8628
4 changed files with 26 additions and 8 deletions

View File

@ -514,7 +514,7 @@ function newobject:SelectRow(row, ctrl)
end
end
elseif v ~= row then
if (not multiselect and ctrl) or (not multiselect and not ctrl) or (multiselect and not ctrl) then
if not (multiselect and ctrl) then
v.selected = false
end
end

View File

@ -118,7 +118,7 @@ function newobject:mousepressed(x, y, button)
end
local parent1 = self:GetParent()
local parent2 = parent1:GetParent()
local ctrldown = love.keyboard.isDown("lctrl")
local ctrldown = loveframes.util.IsCtrlDown()
parent2:SelectRow(self, ctrldown)
end

View File

@ -135,10 +135,8 @@ function newobject:update(dt)
-- keydown check
if keydown ~= "none" then
local lctrl = love.keyboard.isDown("lctrl")
local rctrl = love.keyboard.isDown("rctrl")
if time > delay then
if (lctrl or rctrl) and keydown == "v" then
if (loveframes.util.IsCtrlDown()) and keydown == "v" then
self:Paste()
else
self:RunKey(keydown, unicode, true)
@ -475,8 +473,6 @@ function newobject:keypressed(key, unicode)
end
local time = love.timer.getTime()
local lctrl = love.keyboard.isDown("lctrl")
local rctrl = love.keyboard.isDown("rctrl")
local focus = self.focus
local repeatdelay = self.repeatdelay
local alltextselected = self.alltextselected
@ -486,7 +482,7 @@ function newobject:keypressed(key, unicode)
self.delay = time + repeatdelay
self.keydown = key
if (lctrl or rctrl) and focus then
if (loveframes.util.IsCtrlDown()) and focus then
if key == "a" then
self.alltextselected = true
elseif key == "c" and alltextselected and version == "0.9.0" then
@ -496,6 +492,15 @@ function newobject:keypressed(key, unicode)
if oncopy then
oncopy(self, text)
end
elseif key == "x" and alltextselected and version == "0.9.0" and editable then
local text = self:GetText()
local oncut = self.OnCut
love.system.setClipboardText(text)
if oncut then
oncut(self, text)
else
self:SetText("")
end
elseif key == "v" and version == "0.9.0" and editable then
self:Paste()
end

View File

@ -360,4 +360,17 @@ function loveframes.util.GetHoverObject()
return loveframes.hoverobject
end
--[[---------------------------------------------------------
- func: loveframes.util.IsCtrlDown()
- desc: checks for ctrl, for use with multiselect, copy,
paste, and such. On OS X it actually looks for cmd.
--]]---------------------------------------------------------
function loveframes.util.IsCtrlDown()
if love._os == "OS X" then
return love.keyboard.isDown("lmeta") or love.keyboard.isDown("rmeta") or
love.keyboard.isDown("lgui") or love.keyboard.isDown("rgui")
end
return love.keyboard.isDown("lctrl") or love.keyboard.isDown("rctrl")
end