From 3da4e4bd4abbc9c76a6b7b9c77132c18b0658cf4 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Thu, 8 Jan 2004 14:44:23 +0000 Subject: [PATCH] Applied patch [ 866387 ] wxGenericDirCtrl does not accept multiple wildcards git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/dirctrlg.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp index 0193c7e016..a8897cdf8c 100644 --- a/src/generic/dirctrlg.cpp +++ b/src/generic/dirctrlg.cpp @@ -834,16 +834,24 @@ void wxGenericDirCtrl::ExpandDir(wxTreeItemId parentId) { int style = wxDIR_FILES; if (m_showHidden) style |= wxDIR_HIDDEN; - if (d.GetFirst(& eachFilename, m_currentFilterStr, style)) + // 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); -- 2.45.2