]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/volume.cpp
Fixed a long-standing issue where wxSlider controls with a hardcoded size would mispl...
[wxWidgets.git] / src / msw / volume.cpp
index 9cfda8856f1032592a7213022457279b698bcb3c..ec4f016e2c88649e2994426fcab4e73d5a6060ee 100644 (file)
@@ -17,7 +17,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "fsvolume.h"
 #endif
 
     #pragma implementation "fsvolume.h"
 #endif
 
@@ -30,7 +30,9 @@
 #if wxUSE_FSVOLUME
 
 #ifndef WX_PRECOMP
 #if wxUSE_FSVOLUME
 
 #ifndef WX_PRECOMP
-    #include "wx/icon.h"
+    #if wxUSE_GUI
+        #include "wx/icon.h"
+    #endif
     #include "wx/intl.h"
 #endif // WX_PRECOMP
 
     #include "wx/intl.h"
 #endif // WX_PRECOMP
 
 #include "wx/volume.h"
 
 #include <shellapi.h>
 #include "wx/volume.h"
 
 #include <shellapi.h>
+#include <shlobj.h>
 #include "wx/msw/missing.h"
 
 #include "wx/msw/missing.h"
 
-#ifdef __WXBASE__
+#if wxUSE_BASE
 
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 // Dynamic library function defs.
 
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 // Dynamic library function defs.
@@ -177,28 +180,28 @@ static unsigned GetBasicFlags(const wxChar* filename)
 // Purpose: Add a file to the list if it meets the filter requirement.
 // Notes: - See GetBasicFlags for remarks about the Mounted flag.
 //=============================================================================
 // Purpose: Add a file to the list if it meets the filter requirement.
 // Notes: - See GetBasicFlags for remarks about the Mounted flag.
 //=============================================================================
-static bool FilteredAdd(wxArrayString& list, const wxChar* filename, 
+static bool FilteredAdd(wxArrayString& list, const wxChar* filename,
                         unsigned flagsSet, unsigned flagsUnset)
 {
                         unsigned flagsSet, unsigned flagsUnset)
 {
-    bool accept = TRUE;
+    bool accept = true;
     unsigned flags = GetBasicFlags(filename);
 
     if (flagsSet & wxFS_VOL_MOUNTED && !(flags & wxFS_VOL_MOUNTED))
     unsigned flags = GetBasicFlags(filename);
 
     if (flagsSet & wxFS_VOL_MOUNTED && !(flags & wxFS_VOL_MOUNTED))
-        accept = FALSE;
+        accept = false;
     else if (flagsUnset & wxFS_VOL_MOUNTED && (flags & wxFS_VOL_MOUNTED))
     else if (flagsUnset & wxFS_VOL_MOUNTED && (flags & wxFS_VOL_MOUNTED))
-        accept = FALSE;
+        accept = false;
     else if (flagsSet & wxFS_VOL_REMOVABLE && !(flags & wxFS_VOL_REMOVABLE))
     else if (flagsSet & wxFS_VOL_REMOVABLE && !(flags & wxFS_VOL_REMOVABLE))
-        accept = FALSE;
+        accept = false;
     else if (flagsUnset & wxFS_VOL_REMOVABLE && (flags & wxFS_VOL_REMOVABLE))
     else if (flagsUnset & wxFS_VOL_REMOVABLE && (flags & wxFS_VOL_REMOVABLE))
-        accept = FALSE;
+        accept = false;
     else if (flagsSet & wxFS_VOL_READONLY && !(flags & wxFS_VOL_READONLY))
     else if (flagsSet & wxFS_VOL_READONLY && !(flags & wxFS_VOL_READONLY))
-        accept = FALSE;
+        accept = false;
     else if (flagsUnset & wxFS_VOL_READONLY && (flags & wxFS_VOL_READONLY))
     else if (flagsUnset & wxFS_VOL_READONLY && (flags & wxFS_VOL_READONLY))
-        accept = FALSE;
+        accept = false;
     else if (flagsSet & wxFS_VOL_REMOTE && !(flags & wxFS_VOL_REMOTE))
     else if (flagsSet & wxFS_VOL_REMOTE && !(flags & wxFS_VOL_REMOTE))
-        accept = FALSE;
+        accept = false;
     else if (flagsUnset & wxFS_VOL_REMOTE && (flags & wxFS_VOL_REMOTE))
     else if (flagsUnset & wxFS_VOL_REMOTE && (flags & wxFS_VOL_REMOTE))
-        accept = FALSE;
+        accept = false;
 
     // Add to the list if passed the filter.
     if (accept)
 
     // Add to the list if passed the filter.
     if (accept)
@@ -214,7 +217,7 @@ static bool FilteredAdd(wxArrayString& list, const wxChar* filename,
 //          all items while determining which are connected and not.  So this
 //          function will find either all items or connected items.
 //=============================================================================
 //          all items while determining which are connected and not.  So this
 //          function will find either all items or connected items.
 //=============================================================================
-static void BuildListFromNN(wxArrayString& list, NETRESOURCE* pResSrc, 
+static void BuildListFromNN(wxArrayString& list, NETRESOURCE* pResSrc,
                             unsigned flagsSet, unsigned flagsUnset)
 {
     HANDLE hEnum;
                             unsigned flagsSet, unsigned flagsUnset)
 {
     HANDLE hEnum;
@@ -300,19 +303,19 @@ static int CompareFcn(const wxString& first, const wxString& second)
 //          way manually.
 //        - The resulting list is sorted alphabetically.
 //=============================================================================
 //          way manually.
 //        - The resulting list is sorted alphabetically.
 //=============================================================================
-static bool BuildRemoteList(wxArrayString& list, NETRESOURCE* pResSrc, 
+static bool BuildRemoteList(wxArrayString& list, NETRESOURCE* pResSrc,
                             unsigned flagsSet, unsigned flagsUnset)
 {
     // NN query depends on dynamically loaded library.
     if (!s_pWNetOpenEnum || !s_pWNetEnumResource || !s_pWNetCloseEnum)
     {
         wxLogError(_("Failed to load mpr.dll."));
                             unsigned flagsSet, unsigned flagsUnset)
 {
     // NN query depends on dynamically loaded library.
     if (!s_pWNetOpenEnum || !s_pWNetEnumResource || !s_pWNetCloseEnum)
     {
         wxLogError(_("Failed to load mpr.dll."));
-        return FALSE;
+        return false;
     }
 
     // Don't waste time doing the work if the flags conflict.
     if (flagsSet & wxFS_VOL_MOUNTED && flagsUnset & wxFS_VOL_MOUNTED)
     }
 
     // Don't waste time doing the work if the flags conflict.
     if (flagsSet & wxFS_VOL_MOUNTED && flagsUnset & wxFS_VOL_MOUNTED)
-        return FALSE;
+        return false;
 
     //----------------------------------------------
     // Generate the list according to the flags set.
 
     //----------------------------------------------
     // Generate the list according to the flags set.
@@ -341,7 +344,7 @@ static bool BuildRemoteList(wxArrayString& list, NETRESOURCE* pResSrc,
             wxString all(list[iList]);
             wxString mount(mounted[iMounted]);
 
             wxString all(list[iList]);
             wxString mount(mounted[iMounted]);
 
-            while (compare = 
+            while (compare =
                      wxStricmp(list[iList].c_str(), mounted[iMounted].c_str()),
                    compare > 0 && iList >= 0)
             {
                      wxStricmp(list[iList].c_str(), mounted[iMounted].c_str()),
                    compare > 0 && iList >= 0)
             {
@@ -354,7 +357,7 @@ static bool BuildRemoteList(wxArrayString& list, NETRESOURCE* pResSrc,
             {
                 // Found the element.  Remove it or mark it mounted.
                 if (flagsUnset & wxFS_VOL_MOUNTED)
             {
                 // Found the element.  Remove it or mark it mounted.
                 if (flagsUnset & wxFS_VOL_MOUNTED)
-                    list.Remove(iList);
+                    list.RemoveAt(iList);
                 else
                     s_fileInfo[list[iList]].m_flags |= wxFS_VOL_MOUNTED;
 
                 else
                     s_fileInfo[list[iList]].m_flags |= wxFS_VOL_MOUNTED;
 
@@ -364,7 +367,7 @@ static bool BuildRemoteList(wxArrayString& list, NETRESOURCE* pResSrc,
         }
     }
 
         }
     }
 
-    return TRUE;
+    return true;
 } // BuildRemoteList
 
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 } // BuildRemoteList
 
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -378,7 +381,7 @@ static bool BuildRemoteList(wxArrayString& list, NETRESOURCE* pResSrc,
 //=============================================================================
 wxArrayString wxFSVolumeBase::GetVolumes(int flagsSet, int flagsUnset)
 {
 //=============================================================================
 wxArrayString wxFSVolumeBase::GetVolumes(int flagsSet, int flagsUnset)
 {
-    InterlockedExchange(&s_cancelSearch, FALSE);     // reset
+    ::InterlockedExchange(&s_cancelSearch, FALSE);     // reset
 
     if (!s_mprLib.IsLoaded() && s_mprLib.Load(_T("mpr.dll")))
     {
 
     if (!s_mprLib.IsLoaded() && s_mprLib.Load(_T("mpr.dll")))
     {
@@ -402,7 +405,7 @@ wxArrayString wxFSVolumeBase::GetVolumes(int flagsSet, int flagsUnset)
     TCHAR* buf = new TCHAR[chars+1];
 
     // Get the list of drives.
     TCHAR* buf = new TCHAR[chars+1];
 
     // Get the list of drives.
-    chars = GetLogicalDriveStrings(chars, buf);
+    GetLogicalDriveStrings(chars, buf);
 
     // Parse the list into an array, applying appropriate filters.
     TCHAR *pVol;
 
     // Parse the list into an array, applying appropriate filters.
     TCHAR *pVol;
@@ -447,7 +450,7 @@ wxArrayString wxFSVolumeBase::GetVolumes(int flagsSet, int flagsUnset)
 //=============================================================================
 void wxFSVolumeBase::CancelSearch()
 {
 //=============================================================================
 void wxFSVolumeBase::CancelSearch()
 {
-    InterlockedExchange(&s_cancelSearch, TRUE);
+    ::InterlockedExchange(&s_cancelSearch, TRUE);
 } // CancelSearch
 
 //=============================================================================
 } // CancelSearch
 
 //=============================================================================
@@ -456,7 +459,7 @@ void wxFSVolumeBase::CancelSearch()
 //=============================================================================
 wxFSVolumeBase::wxFSVolumeBase()
 {
 //=============================================================================
 wxFSVolumeBase::wxFSVolumeBase()
 {
-    m_isOk = FALSE;
+    m_isOk = false;
 } // wxVolume
 
 //=============================================================================
 } // wxVolume
 
 //=============================================================================
@@ -475,7 +478,7 @@ wxFSVolumeBase::wxFSVolumeBase(const wxString& name)
 bool wxFSVolumeBase::Create(const wxString& name)
 {
     // assume fail.
 bool wxFSVolumeBase::Create(const wxString& name)
 {
     // assume fail.
-    m_isOk = FALSE;
+    m_isOk = false;
 
     // supplied.
     m_volName = name;
 
     // supplied.
     m_volName = name;
@@ -491,12 +494,12 @@ bool wxFSVolumeBase::Create(const wxString& name)
     m_dispName = fi.szDisplayName;
 
     // all tests passed.
     m_dispName = fi.szDisplayName;
 
     // all tests passed.
-    return m_isOk = TRUE;
+    return m_isOk = true;
 } // Create
 
 //=============================================================================
 // Function: IsOk
 } // Create
 
 //=============================================================================
 // Function: IsOk
-// Purpose: returns TRUE if the volume is legal.
+// Purpose: returns true if the volume is legal.
 // Notes: For fixed disks, it must exist.  For removable disks, it must also
 //        be present.  For Network Shares, it must also be logged in, etc.
 //=============================================================================
 // Notes: For fixed disks, it must exist.  For removable disks, it must also
 //        be present.  For Network Shares, it must also be logged in, etc.
 //=============================================================================
@@ -538,7 +541,7 @@ int wxFSVolumeBase::GetFlags() const
     return itr->second.m_flags;
 } // GetFlags
 
     return itr->second.m_flags;
 } // GetFlags
 
-#endif // __WXBASE__
+#endif // wxUSE_BASE
 
 // ============================================================================
 // wxFSVolume
 
 // ============================================================================
 // wxFSVolume
@@ -585,7 +588,7 @@ wxIcon wxFSVolume::GetIcon(wxFSIconType type) const
         case wxFS_VOL_ICO_SEL_LARGE:
             flags |= SHGFI_SHELLICONSIZE | SHGFI_OPENICON;
             break;
         case wxFS_VOL_ICO_SEL_LARGE:
             flags |= SHGFI_SHELLICONSIZE | SHGFI_OPENICON;
             break;
-            
+
         case wxFS_VOL_ICO_MAX:
             wxFAIL_MSG(_T("wxFS_VOL_ICO_MAX is not valid icon type"));
             break;
         case wxFS_VOL_ICO_MAX:
             wxFAIL_MSG(_T("wxFS_VOL_ICO_MAX is not valid icon type"));
             break;