#ifndef WX_PRECOMP
#include "wx/utils.h"
+ #include "wx/dialog.h"
+ #include "wx/cmndata.h"
#endif // WX_PRECOMP
-#include "wx/dialog.h"
-
-#include "wx/cmndata.h"
#include "wx/filename.h"
#include "wx/mac/private.h"
{
// Set default location for the modern Navigation APIs
// Apple Technical Q&A 1151
- FSSpec theFSSpec;
- wxMacFilename2FSSpec(data->GetPath(), &theFSSpec);
+ FSRef theFile;
+ wxMacPathToFSRef(data->GetPath(), &theFile);
AEDesc theLocation = { typeNull, NULL };
- if (noErr == ::AECreateDesc(typeFSS, &theFSSpec, sizeof(FSSpec), &theLocation))
- ::NavCustomControl(ioParams->context, kNavCtlSetLocation, (void *) &theLocation);
+ if (noErr == ::AECreateDesc(typeFSRef, &theFile, sizeof(FSRef), &theLocation))
+ ::NavCustomControl(ioParams->context, kNavCtlSetLocation, (void *) &theLocation);
}
}
}
wxDirDialog::wxDirDialog(wxWindow *parent,
const wxString& message,
const wxString& defaultPath,
- long style,
+ long WXUNUSED(style),
const wxPoint& WXUNUSED(pos),
const wxSize& WXUNUSED(size),
const wxString& WXUNUSED(name))
int wxDirDialog::ShowModal()
{
- NavDialogRef dialog;
+ NavDialogRef dialog = NULL;
NavDialogCreationOptions options;
NavReplyRecord reply ;
bool disposeReply = false ;
OSStatus err = noErr;
err = NavGetDefaultDialogCreationOptions(&options);
+ options.optionFlags &= ~kNavAllowMultipleFiles;
if (err == noErr)
{
- wxMacCFStringHolder message(m_message, m_font.GetEncoding());
+ wxCFStringRef message(m_message, GetFont().GetEncoding());
options.message = message;
err = NavCreateChooseFolderDialog(&options, sStandardNavEventFilter , NULL, this , &dialog);
if (err == noErr)
if ( err != noErr && err != userCanceledErr )
m_path = wxEmptyString ;
+ if ( dialog )
+ ::NavDialogDispose(dialog);
+
return (err == noErr) ? wxID_OK : wxID_CANCEL ;
}