]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied patch [ 866387 ] wxGenericDirCtrl does not accept multiple wildcards
authorJulian Smart <julian@anthemion.co.uk>
Thu, 8 Jan 2004 14:44:23 +0000 (14:44 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Thu, 8 Jan 2004 14:44:23 +0000 (14:44 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/dirctrlg.cpp

index 0193c7e016363d82788086fb215f09d0107161ec..a8897cdf8c6eb996d91dd940f4069b0067b389e1 100644 (file)
@@ -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);