]> git.saurik.com Git - wxWidgets.git/commitdiff
allow multiple extensions in tge generic wxFileDialog (patch 457580)
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 28 Sep 2001 14:26:55 +0000 (14:26 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 28 Sep 2001 14:26:55 +0000 (14:26 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/dialogs/dialogs.cpp
src/generic/filedlgg.cpp

index 1420859da4904b88ce579435e62445962dd76649..f39e33f67a4c434a89b3ed0b3fe453cc1cac7220 100644 (file)
@@ -399,9 +399,9 @@ void MyFrame::MultiChoice(wxCommandEvent& WXUNUSED(event) )
 
 void MyFrame::FileOpen(wxCommandEvent& WXUNUSED(event) )
 {
-//    wxFAIL_MSG( "Test assert" );
-
-    wxFileDialog dialog(this, "Testing open file dialog", "", "", "*.txt", 0);
+    wxFileDialog dialog(this, "Testing open file dialog",
+                        "", "",
+                        "C++ files (*.h;*.cpp)|*.h;*.cpp");
 
     if (dialog.ShowModal() == wxID_OK)
     {
index 838e152bbf76f650a25223b008e3bf3abd1d4da4..f0f9ad244c29a2c86e7272b81a19dc4b6916f863 100644 (file)
@@ -655,19 +655,25 @@ void wxFileCtrl::Update()
         f = wxFindNextFile();
     }
 
-    res = m_dirName + wxT("/") + m_wild;
-    f = wxFindFirstFile( res.GetData(), wxFILE );
-    while (!f.IsEmpty())
+    // Tokenize the wildcard string, so we can handle more than 1 
+    // search pattern in a wildcard.
+    wxStringTokenizer tokenWild( m_wild, ";" );
+    while ( tokenWild.HasMoreTokens() )
     {
-        res = wxFileNameFromPath( f );
-        fd = new wxFileData( res, f );
-        wxString s = fd->GetName();
-        if (m_showHidden || (s[0u] != wxT('.')))
+        res = m_dirName + wxT("/") + tokenWild.GetNextToken();
+        f = wxFindFirstFile( res.GetData(), wxFILE );
+        while (!f.IsEmpty())
         {
-            Add( fd, item );
-            item.m_itemId++;
+            res = wxFileNameFromPath( f );
+            fd = new wxFileData( res, f );
+            wxString s = fd->GetName();
+            if (m_showHidden || (s[0u] != wxT('.')))
+            {
+                Add( fd, item );
+                item.m_itemId++;
+            }
+            f = wxFindNextFile();
         }
-        f = wxFindNextFile();
     }
 
     SortItems( ListCompare, 0 );