X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/949c9f74c3ec1b3fba78079a5690034d1facfdb8..fb8d7eb7a880f1f2e32d8830f9c5e12b2536e05f:/src/cocoa/filedlg.mm diff --git a/src/cocoa/filedlg.mm b/src/cocoa/filedlg.mm index 0070821f25..e953896a7b 100644 --- a/src/cocoa/filedlg.mm +++ b/src/cocoa/filedlg.mm @@ -33,6 +33,7 @@ #include "wx/cocoa/autorelease.h" #include "wx/cocoa/string.h" +#include "wx/modalhook.h" #import #import @@ -48,11 +49,17 @@ IMPLEMENT_CLASS(wxCocoaFileDialog, wxFileDialogBase) // wxFileDialog // ---------------------------------------------------------------------------- -wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message, - const wxString& defaultDir, const wxString& defaultFileName, - const wxString& wildCard, long style, const wxPoint& pos) -: wxFileDialogBase(parent, message, defaultDir, defaultFileName, - wildCard, style, pos) +wxFileDialog::wxFileDialog(wxWindow *parent, + const wxString& message, + const wxString& defaultDir, + const wxString& defaultFileName, + const wxString& wildCard, + long style, + const wxPoint& pos, + const wxSize& sz, + const wxString& name) + : wxFileDialogBase(parent, message, defaultDir, defaultFileName, + wildCard, style, pos, sz, name) { wxTopLevelWindows.Append(this); @@ -69,7 +76,7 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message, //If the user requests to save - use a NSSavePanel //else use a NSOpenPanel - if (m_dialogStyle & wxFD_SAVE) + if (HasFlag(wxFD_SAVE)) { SetNSPanel([NSSavePanel savePanel]); @@ -93,7 +100,7 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message, SetNSPanel([NSOpenPanel openPanel]); [m_cocoaNSWindow setTitle:wxNSStringWithWxString(message)]; - [(NSOpenPanel*)m_cocoaNSWindow setAllowsMultipleSelection:(m_dialogStyle & wxFD_MULTIPLE)]; + [(NSOpenPanel*)m_cocoaNSWindow setAllowsMultipleSelection:(HasFlag(wxFD_MULTIPLE))]; [(NSOpenPanel*)m_cocoaNSWindow setResolvesAliases:YES]; [(NSOpenPanel*)m_cocoaNSWindow setCanChooseFiles:YES]; [(NSOpenPanel*)m_cocoaNSWindow setCanChooseDirectories:NO]; @@ -162,8 +169,8 @@ void wxFileDialog::GetPaths(wxArrayString& paths) const paths.Empty(); wxString dir(m_dir); - if ( m_dir.Last() != _T('\\') ) - dir += _T('\\'); + if ( m_dir.Last() != wxT('\\') ) + dir += wxT('\\'); size_t count = m_fileNames.GetCount(); for ( size_t n = 0; n < count; n++ ) @@ -183,20 +190,22 @@ void wxFileDialog::GetFilenames(wxArrayString& files) const void wxFileDialog::SetPath(const wxString& path) { wxString ext; - wxSplitPath(path, &m_dir, &m_fileName, &ext); + wxFileName::SplitPath(path, &m_dir, &m_fileName, &ext); if ( !ext.empty() ) - m_fileName << _T('.') << ext; + m_fileName << wxT('.') << ext; } int wxFileDialog::ShowModal() { + WX_HOOK_MODAL_DIALOG(); + wxAutoNSAutoreleasePool thePool; m_fileNames.Empty(); int nResult; - if (m_dialogStyle & wxFD_SAVE) + if (HasFlag(wxFD_SAVE)) { nResult = [GetNSSavePanel() runModalForDirectory:wxNSStringWithWxString(m_dir)