#include "wx/dialog.h"
#include "wx/dirdlg.h"
#include "wx/log.h"
+ #include "wx/app.h" // for GetComCtl32Version()
#endif
#include "wx/msw/private.h"
wxDirDialog::wxDirDialog(wxWindow *parent,
const wxString& message,
const wxString& defaultPath,
- long WXUNUSED(style),
- const wxPoint& WXUNUSED(pos))
+ long style,
+ const wxPoint& WXUNUSED(pos),
+ const wxSize& WXUNUSED(size),
+ const wxString& WXUNUSED(name))
{
m_message = message;
m_parent = parent;
-
+
+ SetStyle(style);
SetPath(defaultPath);
}
}
}
+#ifndef BIF_NEWDIALOGSTYLE
+#define BIF_NEWDIALOGSTYLE 0x0040
+#endif
+
int wxDirDialog::ShowModal()
{
wxWindow *parent = GetParent();
bi.lpfn = BrowseCallbackProc;
bi.lParam = (LPARAM)m_path.c_str(); // param for the callback
+ if ((GetStyle() & wxDD_NEW_DIR_BUTTON) &&
+ (wxApp::GetComCtl32Version() >= 500))
+ {
+ bi.ulFlags |= BIF_NEWDIALOGSTYLE;
+ }
+
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
if ( bi.pidlRoot )