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));