]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/dir.cpp
Don't generate wxEVT_COMMAND_DATAVIEW_CACHE_HINT for empty control.
[wxWidgets.git] / src / os2 / dir.cpp
index c7844fb1f4036865a762d2d704cccb9bafe8718a..2b08bac7d17e72f03a985390d93f5f3ddc768c6d 100644 (file)
@@ -1,12 +1,12 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        os2/dir.cpp
+// Name:        src/os2/dir.cpp
 // Purpose:     wxDir implementation for OS/2
 // Author:      Vadim Zeitlin
 // Modified by: Stefan Neis
 // Created:     08.12.99
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
-    #pragma implementation "dir.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #ifndef WX_PRECOMP
+    #include "wx/os2/private.h"
     #include "wx/intl.h"
     #include "wx/log.h"
 #endif // PCH
@@ -65,7 +62,7 @@ static inline void FreeFindData(
 {
     if (!::DosFindClose(vFd))
     {
-        wxLogLastError(_T("DosFindClose"));
+        wxLogLastError(wxT("DosFindClose"));
     }
 }
 
@@ -75,19 +72,19 @@ static inline FIND_DATA FindFirst(
 )
 {
     ULONG                       ulFindCount = 1;
-    FIND_DATA                   hDir;
+    FIND_DATA                   hDir = HDIR_CREATE;
     FIND_ATTR                   rc;
 
     rc = ::DosFindFirst( rsSpec.c_str()
                         ,&hDir
-                        ,FILE_NORMAL
+                        ,0x37 // was: FILE_NORMAL
                         ,pFinddata
                         ,sizeof(FILEFINDBUF3)
                         ,&ulFindCount
                         ,FIL_STANDARD
                        );
     if (rc != 0)
-        return 0;
+        return InitFindData();
     return hDir;
 }
 
@@ -102,14 +99,14 @@ static inline bool FindNext(
                          ,pFinddata
                          ,sizeof(FILEFINDBUF3)
                          ,&ulFindCount
-                         ) != 0;
+                         ) == 0;
 }
 
 static const wxChar* GetNameFromFindData(
   FIND_STRUCT*                      pFinddata
 )
 {
-    return pFinddata->achName;
+    return (wxChar*)pFinddata->achName;
 }
 
 static const FIND_ATTR GetAttrFromFindData(
@@ -212,7 +209,7 @@ bool wxDirData::Read(
   wxString*                         psFilename
 )
 {
-    bool                            bFirst = FALSE;
+    bool                            bFirst = false;
 
     FILEFINDBUF3                    vFinddata;
     #define PTR_TO_FINDDATA (&vFinddata)
@@ -226,19 +223,19 @@ bool wxDirData::Read(
 
         if ( !wxEndsWithPathSeparator(sFilespec) )
         {
-            sFilespec += _T('\\');
+            sFilespec += wxT('\\');
         }
-        sFilespec += (!m_sFilespec ? _T("*.*") : m_sFilespec.c_str());
+        sFilespec += (!m_sFilespec ? wxT("*.*") : m_sFilespec.c_str());
 
         m_vFinddata = FindFirst( sFilespec
                                 ,PTR_TO_FINDDATA
                                );
-        bFirst = TRUE;
+        bFirst = true;
     }
 
     if ( !IsFindDataOk(m_vFinddata) )
     {
-        return FALSE;
+        return false;
     }
 
     const wxChar*                   zName;
@@ -248,7 +245,7 @@ bool wxDirData::Read(
     {
         if (bFirst)
         {
-            bFirst = FALSE;
+            bFirst = false;
         }
         else
         {
@@ -256,7 +253,7 @@ bool wxDirData::Read(
                           ,PTR_TO_FINDDATA
                          ))
             {
-                return FALSE;
+                return false;
             }
         }
 
@@ -266,9 +263,9 @@ bool wxDirData::Read(
         //
         // Don't return "." and ".." unless asked for
         //
-        if ( zName[0] == _T('.') &&
-             ((zName[1] == _T('.') && zName[2] == _T('\0')) ||
-              (zName[1] == _T('\0'))) )
+        if ( zName[0] == wxT('.') &&
+             ((zName[1] == wxT('.') && zName[2] == wxT('\0')) ||
+              (zName[1] == wxT('\0'))) )
         {
             if (!(m_nFlags & wxDIR_DOTDOT))
                 continue;
@@ -308,21 +305,9 @@ bool wxDirData::Read(
         *psFilename = zName;
         break;
     }
-    return TRUE;
+    return true;
 } // end of wxDirData::Read
 
-// ----------------------------------------------------------------------------
-// wxDir helpers
-// ----------------------------------------------------------------------------
-
-/* static */
-bool wxDir::Exists(
-  const wxString&                   rsDir
-)
-{
-    return wxPathExists(rsDir);
-} // end of wxDir::Exists
-
 // ----------------------------------------------------------------------------
 // wxDir construction/destruction
 // ----------------------------------------------------------------------------
@@ -342,7 +327,7 @@ bool wxDir::Open(
 {
     delete M_DIR;
     m_data = new wxDirData(rsDirname);
-    return TRUE;
+    return true;
 } // end of wxDir::Open
 
 bool wxDir::IsOpened() const
@@ -359,9 +344,9 @@ wxString wxDir::GetName() const
         if ( !name.empty() )
         {
             // bring to canonical Windows form
-            name.Replace(_T("/"), _T("\\"));
+            name.Replace(wxT("/"), wxT("\\"));
 
-            if ( name.Last() == _T('\\') )
+            if ( name.Last() == wxT('\\') )
             {
                 // chop off the last (back)slash
                 name.Truncate(name.length() - 1);
@@ -387,7 +372,7 @@ bool wxDir::GetFirst(
 , int                               nFlags
 ) const
 {
-    wxCHECK_MSG( IsOpened(), FALSE, _T("must wxDir::Open() first") );
+    wxCHECK_MSG( IsOpened(), false, wxT("must wxDir::Open() first") );
     M_DIR->Rewind();
     M_DIR->SetFileSpec(rsFilespec);
     M_DIR->SetFlags(nFlags);
@@ -398,8 +383,8 @@ bool wxDir::GetNext(
   wxString*                         psFilename
 ) const
 {
-    wxCHECK_MSG( IsOpened(), FALSE, _T("must wxDir::Open() first") );
-    wxCHECK_MSG( psFilename, FALSE, _T("bad pointer in wxDir::GetNext()") );
+    wxCHECK_MSG( IsOpened(), false, wxT("must wxDir::Open() first") );
+    wxCHECK_MSG( psFilename, false, wxT("bad pointer in wxDir::GetNext()") );
     return M_DIR->Read(psFilename);
 } // end of wxDir::GetNext