]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/dirctrlg.cpp
Removed TABs that had gotten in to the source
[wxWidgets.git] / src / generic / dirctrlg.cpp
index a37f39da70de8d2538bb042d24c2a65fba5edef9..d878e874faab5f0f0014390798a91c23b9a96206 100644 (file)
@@ -308,15 +308,19 @@ static const int ID_NEW = 1004;
 #if defined(__WXMSW__) || defined(__WXPM__)
 int setdrive(int drive)
 {
-       char  newdrive[3];
+       wxChar  newdrive[3];
 
        if (drive < 1 || drive > 31)
                return -1;
-       newdrive[0] = (char)('A' + (char)drive - (char)1);
-       newdrive[1] = ':';
-       newdrive[2] = '\0';
+       newdrive[0] = (wxChar)(wxT('A') + drive - 1);
+       newdrive[1] = wxT(':');
+       newdrive[2] = wxT('\0');
 #if defined(__WXMSW__)
-       if (SetCurrentDirectory((LPSTR)newdrive))
+#ifdef __WIN16__
+    if (wxSetWorkingDirectory(newdrive))
+#else
+       if (::SetCurrentDirectory(newdrive))
+#endif
 #else
     // VA doesn't know what LPSTR is and has its own set
        if (DosSetCurrentDir((PSZ)newdrive))
@@ -360,6 +364,16 @@ static bool wxIsDriveAvailable(const wxString dirName)
 }
 #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
 //-----------------------------------------------------------------------------
@@ -743,7 +757,7 @@ void wxGenericDirCtrl::ExpandDir(wxTreeItemId parentId)
             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)
@@ -766,7 +780,7 @@ void wxGenericDirCtrl::ExpandDir(wxTreeItemId parentId)
                 while (d.GetNext(& eachFilename)) ;
             }
         }
-        filenames.Sort();
+        filenames.Sort((wxArrayString::CompareFunction) wxDirCtrlStringCompareFunction);
     }
 
     // Add the sorted dirs