#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
long cookie;
wxTreeItemId childId = m_treeCtrl->GetFirstChild(parentId, cookie);
- while (childId != 0)
+ while (childId.IsOk())
{
wxDirItemDataEx* data = (wxDirItemDataEx*) m_treeCtrl->GetItemData(childId);
bool done = FALSE;
wxTreeItemId id = FindChild(m_rootId, path, done);
wxTreeItemId lastId = id; // The last non-zero id
- while ((id > 0) && !done)
+ while (id.IsOk() && !done)
{
ExpandDir(id);
id = FindChild(id, path, done);
- if (id != 0)
+ if (id.IsOk())
lastId = id;
}
- if (lastId > 0)
+ if (lastId.IsOk())
{
wxDirItemDataEx *data = (wxDirItemDataEx *) m_treeCtrl->GetItemData(lastId);
if (data->m_isDir)
long cookie;
wxTreeItemId childId = m_treeCtrl->GetFirstChild(lastId, cookie);
bool selectedChild = FALSE;
- while (childId != 0)
+ while (childId.IsOk())
{
wxDirItemDataEx* data = (wxDirItemDataEx*) m_treeCtrl->GetItemData(childId);