wouldn't it be neat...
Peter M. Brigham
pmbrig at gmail.com
Sun Aug 21 12:26:01 EDT 2016
Sorry, forgot to include the little utility script q():
on q tString
return quote and tString and quote
end q
The full frontscript then is:
-------
on controlkeydown whichKey
-- put this in a frontscript universally available in LC
put the long name of the target into tarName
put the shiftkey is down into shK
switch whichKey
case "'" -- put quotes around the selection
if not shK then pass controlkeydown
if "field" is not in tarName then pass controlkeydown
if "revNewScriptEditor" is not in tarName then pass controlkeydown
-- you could take the above line out if you want this in all LC fields
get the selection
put q(it) into the selection
if it = "" then
put the selectedChunk into tSel
put word 4 of tSel into word 2 of tSel
put (word 4 of tSel) - 1 into word 4 of tSel
select tSel
end if
break
case "9"
case "0" -- put parens around the selection
if not shK then pass controlkeydown
if "field" is not in tarName then pass controlkeydown
if "revNewScriptEditor" is not in tarName then pass controlkeydown
-- you could take the above line out if you want this in all LC fields
get the selection
put "(" & it & ")" into the selection
if it = "" then
put the selectedChunk into tSel
put word 4 of tSel into word 2 of tSel
put (word 4 of tSel) - 1 into word 4 of tSel
select tSel
end if
break
case "["
case "]" -- put brackets around the selection
if not shK then pass controlkeydown
if "field" is not in tarName then pass controlkeydown
if "revNewScriptEditor" is not in tarName then pass controlkeydown
-- you could take the above line out if you want this in all LC fields
get the selection
put "[" & it & "]" into the selection
if it = "" then
put the selectedChunk into tSel
put word 4 of tSel into word 2 of tSel
put (word 4 of tSel) - 1 into word 4 of tSel
select tSel
end if
break
case " " -- scriptPaint
if not shK then pass controlkeydown
if "field" is not in tarName then pass controlkeydown
if "revNewScriptEditor" is not in tarName then pass controlkeydown
put the mouseText into the selection
break
case "d"
-- insert date
put the shiftKey is down into wantLongDate
insertDate wantLongDate
break
case "i" -- getPaint
if not shK then exit controlkeydown
if the selobj = "" then
answer "Select an image first."
exit controlkeydown
else if word 1 of (the name of the selobj) <> "image" then
answer "You must select an image."
exit controlkeydown
end if
answer file "Choose replacement image:"
if it = empty then exit to top
put url ("binfile:" & it) into the selobj
break
default
pass controlkeydown
end switch
end controlkeydown
on insertDate getLongDate
-- control-d inserts short date, control-shift-d inserts long date
-- see the controlkeydown handler for implementation
-- note: Windows users can implement this with other modifier keys
-- put these scripts into a frontscript so it is available anywhere in LC
-- requires controlkeydown
put the selectedChunk into selCh
if selCh = empty then exit insertDate
put word -1 of selCh into fldNbr
put word 4 of selCh into theCharNbr
put the selectedtext into selText
put length(selText) into origLength
if getLongDate then
-- long date
put sr(item 2 to 3 of the long date) into tDate
else
-- short date
put the short date into tDate
end if
put tDate into the selectedchunk
select after char (theCharNbr + length(tDate) - origLength) of fld fldNbr
end insertDate
on q tString
return quote and tString and quote
end q
-------
-- Peter
Peter M. Brigham
pmbrig at gmail.com
More information about the use-livecode
mailing list