diff options
author | jingham <jingham@noemail.net> | 2000-04-23 03:47:13 (GMT) |
---|---|---|
committer | jingham <jingham@noemail.net> | 2000-04-23 03:47:13 (GMT) |
commit | 1eb4b976d7c7ef79102c479065996250f673c7f0 (patch) | |
tree | 80482fd73a69139e652624000f1c33ca6f129f2a /mac/tkMacMenus.c | |
parent | f4d129867943c4f9ebd0fe7b7719cf08fa2e75a7 (diff) | |
download | tk-1eb4b976d7c7ef79102c479065996250f673c7f0.zip tk-1eb4b976d7c7ef79102c479065996250f673c7f0.tar.gz tk-1eb4b976d7c7ef79102c479065996250f673c7f0.tar.bz2 |
2000-04-22 Jim Ingham <jingham@cygnus.com>
* mac/tkMacDialog.c (Tk_MacGetOpenFile): Add empty bodies for the
"-initialfile" and "-defaultextension" options.
* mac/tkMacDialog.c (NavServicesGetFile): Only cons the result up into
a list if multiple is true.
* mac/tkMacMenus.c (SourceDialog): Use the "tk_getOpenFile" instead of hand-coding
the dialog with StandardGetFile. This way we get the Navigation dialogs for
free.
* doc/getOpenFile.n: Document the -multiple and -message flags which are only
implemented on the Mac. Also note that the -title works on the Mac with
Nav Services installed.
FossilOrigin-Name: 94894720f3e5ba4140104523b125afa23b691842
Diffstat (limited to 'mac/tkMacMenus.c')
-rw-r--r-- | mac/tkMacMenus.c | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/mac/tkMacMenus.c b/mac/tkMacMenus.c index 2230f7a..f83e49d 100644 --- a/mac/tkMacMenus.c +++ b/mac/tkMacMenus.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacMenus.c,v 1.5 2000/02/10 08:56:03 jingham Exp $ + * RCS: @(#) $Id: tkMacMenus.c,v 1.6 2000/04/23 03:47:32 jingham Exp $ */ #include "tcl.h" @@ -329,29 +329,26 @@ GenerateEditEvent( static void SourceDialog() { - StandardFileReply reply; - OSType fileTypes[1]; - OSErr err; - int length, result; - Handle path; + int result; + char *path; + char openCmd[] = "tk_getOpenFile -filetypes {\ + {{TCL Scripts} {.tcl} TEXT} {{Text Files} {} TEXT}}"; if (gInterp == NULL) { return; } - fileTypes[0] = 'TEXT'; - StandardGetFile(NULL, 1, fileTypes, &reply); - if (reply.sfGood == false) { + if (Tcl_Eval(gInterp, openCmd) != TCL_OK) { return; } - err = FSpPathFromLocation(&reply.sfFile, &length, &path); - if (err == noErr) { - HLock(path); - result = Tcl_EvalFile(gInterp, *path); - HUnlock(path); - DisposeHandle(path); + path = Tcl_GetStringResult(gInterp); + + if (strlen(path) == 0) { + return; } + + result = Tcl_EvalFile(gInterp, path); if (result == TCL_ERROR) { Tcl_BackgroundError(gInterp); } |