#undef GetFirstChild
#endif
-#if !defined(__WXMSW__) || wxUSE_XPM_IN_MSW || wxUSE_XPM_IN_OS2
/* Closed folder */
static char * icon1_xpm[] = {
/* width height ncolors chars_per_pixel */
" ",
" ",
" "};
-#endif // !wxMSW
static const int ID_DIRCTRL = 1000;
static const int ID_TEXTCTRL = 1001;
newdrive[1] = ':';
newdrive[2] = '\0';
#if defined(__WXMSW__)
+#ifdef __WIN16__
+ if (wxSetWorkingDirectory(newdrive))
+#else
if (SetCurrentDirectory((LPSTR)newdrive))
+#endif
#else
// VA doesn't know what LPSTR is and has its own set
if (DosSetCurrentDir((PSZ)newdrive))
}
#endif
+// Function which is called by quick sort. We want to override the default wxArrayString behaviour,
+// and sort regardless of case.
+static int LINKAGEMODE wxDirCtrlStringCompareFunction(const void *first, const void *second)
+{
+ wxString *strFirst = (wxString *)first;
+ wxString *strSecond = (wxString *)second;
+
+ return strFirst->CmpNoCase(*strSecond);
+}
+
//-----------------------------------------------------------------------------
// wxDirItemDataEx
//-----------------------------------------------------------------------------
m_filterListCtrl->FillFilterList(filter, defaultFilter);
m_imageList = new wxImageList(16, 16, TRUE);
-#if !defined(__WXMSW__) || wxUSE_XPM_IN_MSW
m_imageList->Add(wxIcon(icon1_xpm));
m_imageList->Add(wxIcon(icon2_xpm));
m_imageList->Add(wxIcon(icon3_xpm));
m_imageList->Add(wxIcon(icon6_xpm));
m_imageList->Add(wxIcon(icon7_xpm));
m_imageList->Add(wxIcon(icon8_xpm));
-#elif defined(__WXMSW__)
- m_imageList->Add(wxIcon(wxT("wxICON_SMALL_CLOSED_FOLDER"), wxBITMAP_TYPE_ICO_RESOURCE));
- m_imageList->Add(wxIcon(wxT("wxICON_SMALL_OPEN_FOLDER"), wxBITMAP_TYPE_ICO_RESOURCE));
- m_imageList->Add(wxIcon(wxT("wxICON_SMALL_FILE"), wxBITMAP_TYPE_ICO_RESOURCE));
- m_imageList->Add(wxIcon(wxT("wxICON_SMALL_COMPUTER"), wxBITMAP_TYPE_ICO_RESOURCE));
- m_imageList->Add(wxIcon(wxT("wxICON_SMALL_DRIVE"), wxBITMAP_TYPE_ICO_RESOURCE));
- m_imageList->Add(wxIcon(wxT("wxICON_SMALL_CDROM"), wxBITMAP_TYPE_ICO_RESOURCE));
- m_imageList->Add(wxIcon(wxT("wxICON_SMALL_FLOPPY"), wxBITMAP_TYPE_ICO_RESOURCE));
- m_imageList->Add(wxIcon(wxT("wxICON_SMALL_REMOVEABLE"), wxBITMAP_TYPE_ICO_RESOURCE));
-#else
-#error "Sorry, we don't have icons available for this platforms."
-#endif
m_treeCtrl->SetImageList(m_imageList);
m_showHidden = FALSE;
while (d.GetNext(& eachFilename)) ;
}
}
- dirs.Sort();
+ dirs.Sort((wxArrayString::CompareFunction) wxDirCtrlStringCompareFunction);
// Now do the filenames -- but only if we're allowed to
if ((GetWindowStyle() & wxDIRCTRL_DIR_ONLY) == 0)
while (d.GetNext(& eachFilename)) ;
}
}
- filenames.Sort();
+ filenames.Sort((wxArrayString::CompareFunction) wxDirCtrlStringCompareFunction);
}
// Add the sorted dirs