X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/937f314d3fcb38b7740d6d014a6099236907fa3b..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/cocoa/dirdlg.mm diff --git a/src/cocoa/dirdlg.mm b/src/cocoa/dirdlg.mm index 1d14768363..2f2ce30012 100644 --- a/src/cocoa/dirdlg.mm +++ b/src/cocoa/dirdlg.mm @@ -22,13 +22,16 @@ #if wxUSE_DIRDLG +#include "wx/dirdlg.h" + #ifndef WX_PRECOMP #include "wx/msgdlg.h" #include "wx/filedlg.h" - #include "wx/dirdlg.h" #include "wx/app.h" #endif + #include "wx/filename.h" +#include "wx/modalhook.h" #include "wx/cocoa/autorelease.h" #include "wx/cocoa/string.h" @@ -52,9 +55,10 @@ wxDirDialog::wxDirDialog(wxWindow *parent, const wxString& message, const wxSize& size, const wxString& name) { wxTopLevelWindows.Append(this); - - m_message = message; - m_dialogStyle = style; + + m_message = message; + + SetWindowStyle(style); m_parent = parent; m_path = defaultPath; @@ -68,7 +72,7 @@ wxDirDialog::wxDirDialog(wxWindow *parent, const wxString& message, //If the user requests to save - use a NSSavePanel //else use a NSOpenPanel - if (m_dialogStyle & wxSAVE) + if (HasFlag(wxFD_SAVE)) { SetNSPanel([NSSavePanel savePanel]); @@ -78,7 +82,7 @@ wxDirDialog::wxDirDialog(wxWindow *parent, const wxString& message, [GetNSSavePanel() setTreatsFilePackagesAsDirectories:YES]; [GetNSSavePanel() setCanSelectHiddenExtension:YES]; } - else //m_dialogStyle & wxOPEN + else //m_dialogStyle & wxFD_OPEN { SetNSPanel([NSOpenPanel openPanel]); [m_cocoaNSWindow setTitle:wxNSStringWithWxString(message)]; @@ -89,10 +93,10 @@ wxDirDialog::wxDirDialog(wxWindow *parent, const wxString& message, [GetNSSavePanel() setPrompt:@"Open"]; } - if (m_dialogStyle & wxDD_NEW_DIR_BUTTON) //m_dialogStyle & wxDD_NEW_DIR_BUTTON - { + if (HasFlag(wxDD_NEW_DIR_BUTTON)) //m_dialogStyle & wxDD_NEW_DIR_BUTTON + { [(NSOpenPanel*)m_cocoaNSWindow setCanCreateDirectories:YES]; - } + } } wxDirDialog::~wxDirDialog() @@ -101,13 +105,15 @@ wxDirDialog::~wxDirDialog() int wxDirDialog::ShowModal() { + WX_HOOK_MODAL_DIALOG(); + wxAutoNSAutoreleasePool thePool; m_fileNames.Empty(); int nResult; - if (m_dialogStyle & wxSAVE) + if (HasFlag(wxFD_SAVE)) { nResult = [GetNSSavePanel() runModalForDirectory:wxNSStringWithWxString(m_dir) @@ -119,7 +125,7 @@ int wxDirDialog::ShowModal() m_path = m_fileNames[0]; } } - else //m_dialogStyle & wxOPEN + else //m_dialogStyle & wxFD_OPEN { nResult = [(NSOpenPanel*)m_cocoaNSWindow runModalForDirectory:wxNSStringWithWxString(m_dir) @@ -141,4 +147,3 @@ int wxDirDialog::ShowModal() } #endif // wxUSE_DIRDLG -