wouldn't it be neat...

Roger Guay irog at mac.com
Sun Aug 21 20:37:07 EDT 2016


Thanks for this, Peter, I’m going to give it a try…


> On Aug 21, 2016, at 9:26 AM, Peter M. Brigham <pmbrig at gmail.com> wrote:
> 
> 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
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the Use-livecode mailing list