#if wxUSE_DIRDLG
-#if wxUSE_OLE && !defined(__GNUWIN32_OLD__) && (!defined(__WXWINCE__) || (defined(__HANDHELDPC__) && (_WIN32_WCE >= 500)))
+#if wxUSE_OLE && !defined(__GNUWIN32_OLD__) && (!defined(__WXWINCE__) || \
+ (defined(__HANDHELDPC__) && (_WIN32_WCE >= 500)))
+
+#include "wx/dirdlg.h"
#ifndef WX_PRECOMP
#include "wx/utils.h"
#include "wx/dialog.h"
- #include "wx/dirdlg.h"
#include "wx/log.h"
#include "wx/app.h" // for GetComCtl32Version()
#endif
m_message = message;
m_parent = parent;
- SetStyle(style);
+ SetWindowStyle(style);
SetPath(defaultPath);
}
// is also the only way to have a resizable dialog
//
// "new" style is only available in the version 5.0+ of comctl32.dll
- const bool needNewDir = HasFlag(wxDD_NEW_DIR_BUTTON);
+ const bool needNewDir = !HasFlag(wxDD_DIR_MUST_EXIST);
if ( (needNewDir || HasFlag(wxRESIZE_BORDER)) && (verComCtl32 >= 500) )
{
if (needNewDir)
m_path = pidl.GetPath();
+ // change current working directory if asked so
+ if (HasFlag(wxDD_CHANGE_DIR))
+ wxSetWorkingDirectory(m_path);
+
return m_path.empty() ? wxID_CANCEL : wxID_OK;
}
#endif // compiler/platform on which the code here compiles
#endif // wxUSE_DIRDLG
-