#endif
-#ifdef __OS2__
-
-#define INCL_BASE
-#include <os2.h>
-#ifndef __EMX__
-#include <direct.h>
-#endif
-#include <stdlib.h>
-#include <ctype.h>
-extern bool wxIsDriveAvailable(const wxString& dirName);
+#if defined(__OS2__) || defined(__DOS__)
+ #ifdef __OS2__
+ #define INCL_BASE
+ #include <os2.h>
+ #ifndef __EMX__
+ #include <direct.h>
+ #endif
+ #include <stdlib.h>
+ #include <ctype.h>
+ #endif
+ extern bool wxIsDriveAvailable(const wxString& dirName);
#endif // __OS2__
#if defined(__WXMAC__)
dirs.Add(eachFilename);
}
}
- while (d.GetNext(& eachFilename));
+ while (d.GetNext(&eachFilename));
}
}
dirs.Sort(wxDirCtrlStringCompareFunction);
if (d.IsOpened())
{
- if (d.GetFirst(& eachFilename, m_currentFilterStr, wxDIR_FILES))
+ int style = wxDIR_FILES;
+ if (m_showHidden) style |= wxDIR_HIDDEN;
+ // Process each filter (ex: "JPEG Files (*.jpg;*.jpeg)|*.jpg;*.jpeg")
+ wxStringTokenizer strTok;
+ wxString curFilter;
+ strTok.SetString(m_currentFilterStr,wxT(";"));
+ while(strTok.HasMoreTokens())
{
- do
+ curFilter = strTok.GetNextToken();
+ if (d.GetFirst(& eachFilename, m_currentFilterStr, style))
{
- if ((eachFilename != wxT(".")) && (eachFilename != wxT("..")))
+ do
{
- filenames.Add(eachFilename);
+ if ((eachFilename != wxT(".")) && (eachFilename != wxT("..")))
+ {
+ filenames.Add(eachFilename);
+ }
}
+ while (d.GetNext(& eachFilename));
}
- while (d.GetNext(& eachFilename));
}
}
filenames.Sort(wxDirCtrlStringCompareFunction);
wxIconLocation iconLoc;
wxIcon ic;
- if ( ft && ft->GetIcon(&iconLoc) )
+
{
- ic = wxIcon(iconLoc);
+ wxLogNull logNull;
+ if ( ft && ft->GetIcon(&iconLoc) )
+ {
+ ic = wxIcon(iconLoc);
+ }
}
delete ft;
return newid;
}
- wxBitmap tmpBmp;
- tmpBmp.CopyFromIcon(ic);
- wxImage img = tmpBmp.ConvertToImage();
+ wxBitmap bmp;
+ bmp.CopyFromIcon(ic);
+
+ if ( !bmp.Ok() )
+ {
+ int newid = file;
+ m_HashTable->Put(extension, new wxFileIconEntry(newid));
+ return newid;
+ }
int id = m_smallImageList->GetImageCount();
- if (img.GetWidth() == 16 && img.GetHeight() == 16)
- m_smallImageList->Add(wxBitmap(img));
+ if ((bmp.GetWidth() == 16) && (bmp.GetHeight() == 16))
+ m_smallImageList->Add(bmp);
else
{
- if (img.GetWidth() != 32 || img.GetHeight() != 32)
+ wxImage img = bmp.ConvertToImage();
+
+ if ((img.GetWidth() != 32) || (img.GetHeight() != 32))
m_smallImageList->Add(CreateAntialiasedBitmap(CutEmptyBorders(img).Rescale(32, 32)));
else
m_smallImageList->Add(CreateAntialiasedBitmap(img));