Thanks! I have a working solution now.

Jeremy

On May 24, 2013, at 4:37 PM, Christopher Stone <listmeis...@suddenlink.net> 
wrote:

> On May 23, 2013, at 10:18, Jeremy Cowgar <jer...@cowgar.com> wrote:
>> When using the content menu on a given directory, it defaults to the 
>> selected directory. If a keyboard shortcut existed, I would think it would 
>> default to the project directory. If I wanted to place the file in a 
>> sub-directory of the project, I could navigate there.
> 
> ______________________________________________________________________
> 
> Hey Jeremy,
> 
> This is doable.
> 
> The script presents you with a save-dialog and lets you choose a location and 
> file name.  The default name is "New-File.txt", but you can change that to 
> anything you want.
> 
> The dialog opens with a default location of the .bbprojectd file of the front 
> project, but you can go anywhere from there.
> 
> The new file is created in the project and is added to the file panel.
> 
> There are two versions of the script.  The second one works around Default 
> Folder if it is installed.
> 
> --
> Best Regards,
> Chris
> 
> -------------------------------------------------------------------------------------------
> 
> try
>       set AppleScript's text item delimiters to ":"
>       tell application "BBEdit"
>               if front window's name ends with ".bbprojectd" then
>                       set _proj to a reference to the front project document
>                       tell _proj to set projRootFldr to (text items 1 thru -3 
> of (its file as text) as text) & ":"
>                       set _file to choose file name default location 
> (projRootFldr as alias) default name "New-File.txt"
>                       set newDoc to make new text document at _proj's window 
> initial save location _file
>                       tell newDoc to save
>                       tell _proj to make new project item with properties 
> {file:_file}
>               else
>                       error "Front window is not a project document!"
>               end if
>       end tell
> on error e number n
>       if n ≠ -128 then
>               set e to e & return & return & "Num: " & n
>               tell me to set dDlg to display dialog e with title "ERROR!" 
> buttons {"Cancel", "Copy", "OK"} default button "OK"
>               if button returned of dDlg = "Copy" then set the clipboard to e
>       end if
> end try
> 
> -------------------------------------------------------------------------------------------
> 
> 
> 
> -------------------------------------------------------------------------------------------
> # Works around Default Folder if it is installed:
> -------------------------------------------------------------------------------------------
> 
> try
>   set AppleScript's text item delimiters to ":"
>   tell application "BBEdit"
>     if front window's name ends with ".bbprojectd" then
>       set _proj to a reference to the front project document
>       tell _proj to set projRootFldr to (text items 1 thru -3 of (its file as 
> text) as text) & ":"
>       if dfFlag() of me then
>         dfDisable() of me
>         set _file to choose file name default location (projRootFldr as 
> alias) default name "New-File.txt"
>         dfEnable() of me
>       else
>         set _file to choose file name default location (projRootFldr as 
> alias) default name "New-File.txt"
>       end if
>       set newDoc to make new text document at _proj's window initial save 
> location _file
>       tell newDoc to save
>       tell _proj to make new project item with properties {file:_file}
>     else
>       error "Front window is not a project document!"
>     end if
>   end tell
> on error e number n
>   if n = -128 then
>     dfEnable() of me
>   else
>     set e to e & return & return & "Num: " & n
>     tell me to set dDlg to display dialog e with title "ERROR!" buttons 
> {"Cancel", "Copy", "OK"} default button "OK"
>     if button returned of dDlg = "Copy" then set the clipboard to e
>   end if
> end try
> 
> -------------------------------------------------------------------------------------------
> on dfEnable()
>   tell application "Default Folder X Helper"
>     Enable
>   end tell
> end dfEnable
> -------------------------------------------------------------------------------------------
> on dfDisable()
>   tell application "Default Folder X Helper"
>     Disable
>   end tell
> end dfDisable
> -------------------------------------------------------------------------------------------
> on dfFlag()
>   try
>     set dfPrefPane to ((path to system preferences from user domain as text) 
> & "Default Folder X.prefPane:")
>     alias dfPrefPane
>     set cmd to "
>       ps xc |
>       sed -En 's!.+(Default Folder X Agent).*!\\1!p'"
>     set _flag to do shell script cmd
>     if _flag = "Default Folder X Agent" then
>       return true
>     end if
>   on error
>     return false
>   end try
> end dfFlag
> -------------------------------------------------------------------------------------------
> 
> 
> -- 
> This is the BBEdit Talk public discussion group. If you have a 
> feature request or would like to report a problem, please email
> "supp...@barebones.com" rather than posting to the group.
> Follow @bbedit on Twitter: <http://www.twitter.com/bbedit>
>  
> --- 
> You received this message because you are subscribed to the Google Groups 
> "BBEdit Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to bbedit+unsubscr...@googlegroups.com.
> To post to this group, send email to bbedit@googlegroups.com.
>  
>  

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to