more robust transitions to temporary modes
I seem to often accidentally press C-n twice to go into name mode. Now doing so overrides the previous temporary mode (name/move/delete point) without clobbering the real shape-drawing mode.
This commit is contained in:
parent
714f7d11cd
commit
fd5a47f8bf
13
drawing.lua
13
drawing.lua
|
@ -479,7 +479,9 @@ function Drawing.keychord_pressed(chord)
|
||||||
elseif chord == 'C-v' and not love.mouse.isDown('1') then
|
elseif chord == 'C-v' and not love.mouse.isDown('1') then
|
||||||
local drawing,_,p = Drawing.select_point_at_mouse()
|
local drawing,_,p = Drawing.select_point_at_mouse()
|
||||||
if drawing then
|
if drawing then
|
||||||
Previous_drawing_mode = Current_drawing_mode
|
if Previous_drawing_mode == nil then
|
||||||
|
Previous_drawing_mode = Current_drawing_mode
|
||||||
|
end
|
||||||
Current_drawing_mode = 'move'
|
Current_drawing_mode = 'move'
|
||||||
drawing.pending = {mode=Current_drawing_mode, target_point=p}
|
drawing.pending = {mode=Current_drawing_mode, target_point=p}
|
||||||
Lines.current = drawing
|
Lines.current = drawing
|
||||||
|
@ -487,7 +489,9 @@ function Drawing.keychord_pressed(chord)
|
||||||
elseif love.mouse.isDown('1') and chord == 'v' then
|
elseif love.mouse.isDown('1') and chord == 'v' then
|
||||||
local drawing,_,p = Drawing.select_point_at_mouse()
|
local drawing,_,p = Drawing.select_point_at_mouse()
|
||||||
if drawing then
|
if drawing then
|
||||||
Previous_drawing_mode = Current_drawing_mode
|
if Previous_drawing_mode == nil then
|
||||||
|
Previous_drawing_mode = Current_drawing_mode
|
||||||
|
end
|
||||||
Current_drawing_mode = 'move'
|
Current_drawing_mode = 'move'
|
||||||
drawing.pending = {mode=Current_drawing_mode, target_point=p}
|
drawing.pending = {mode=Current_drawing_mode, target_point=p}
|
||||||
Lines.current = drawing
|
Lines.current = drawing
|
||||||
|
@ -495,7 +499,10 @@ function Drawing.keychord_pressed(chord)
|
||||||
elseif chord == 'C-n' and not love.mouse.isDown('1') then
|
elseif chord == 'C-n' and not love.mouse.isDown('1') then
|
||||||
local drawing,point_index,p = Drawing.select_point_at_mouse()
|
local drawing,point_index,p = Drawing.select_point_at_mouse()
|
||||||
if drawing then
|
if drawing then
|
||||||
Previous_drawing_mode = Current_drawing_mode
|
if Previous_drawing_mode == nil then
|
||||||
|
-- don't clobber
|
||||||
|
Previous_drawing_mode = Current_drawing_mode
|
||||||
|
end
|
||||||
Current_drawing_mode = 'name'
|
Current_drawing_mode = 'name'
|
||||||
p.name = ''
|
p.name = ''
|
||||||
drawing.pending = {mode=Current_drawing_mode, target_point=point_index}
|
drawing.pending = {mode=Current_drawing_mode, target_point=point_index}
|
||||||
|
|
Loading…
Reference in New Issue