#ifdef __WXMSW__
#include <windows.h>
+
+#ifndef __GNUWIN32__
#include <direct.h>
#include <stdlib.h>
#include <ctype.h>
#endif
+#endif
+
#ifdef __BORLANDC__
#include "dos.h"
#endif
static const int ID_NEW = 1004;
//static const int ID_CHECK = 1005;
-#ifdef __WXMSW__
+#if defined(__WXMSW__)
static bool wxIsDriveAvailable(const wxString dirName)
{
#ifdef __WIN32__
if (dirName.Len() == 3 && dirName[(size_t)1] == wxT(':'))
{
wxString dirNameLower(dirName.Lower());
+#if defined(__GNUWIN32__)
+ success = wxPathExists(dirNameLower);
+#else
int currentDrive = _getdrive();
int thisDrive = (int) (dirNameLower[(size_t)0] - 'a' + 1) ;
int err = _chdrive( thisDrive ) ;
{
success = FALSE;
}
+#endif
}
#ifdef __WIN32__
(void) SetErrorMode(errorMode);
m_name = wxFileNameFromPath( path );
}
-// No longer used, and takes a very long time
-bool wxDirItemDataEx::HasSubDirs()
-{
- if (m_path.IsEmpty())
- return TRUE;
-
- // On WIN32, must check if this volume is mounted or
- // we get an error dialog for e.g. drive a:
-#ifdef __WIN32__
- if (!wxIsDriveAvailable(m_path))
- return FALSE;
-#endif
-
- wxString search = m_path;
-
- if (m_path.Last() != wxFILE_SEP_PATH)
- {
- search += wxString(wxFILE_SEP_PATH);
- }
- search += wxT("*");
-
- wxLogNull log;
- wxString path = wxFindFirstFile( search, wxDIR );
- return (bool)(!path.IsNull());
-}
-
//-----------------------------------------------------------------------------
// wxGenericDirCtrl
//-----------------------------------------------------------------------------
if (!wxIsDriveAvailable(dirName))
{
data->m_isExpanded = FALSE;
- wxMessageBox(wxT("Sorry, this drive is not available."));
- return;
+ //wxMessageBox(wxT("Sorry, this drive is not available."));
+ return;
}
#endif