]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/filedlgg.cpp
removed src/gtk/eggtrayicon.h
[wxWidgets.git] / src / generic / filedlgg.cpp
index 4380c60f36e03ca02e36c9cb46403717bbeacf41..a39f76d034e245098bd2e9c74218256937c5d697 100644 (file)
@@ -903,13 +903,6 @@ wxGenericFileDialog::wxGenericFileDialog(wxWindow *parent,
     m_path += defaultFile;
     m_filterExtension = wxEmptyString;
 
     m_path += defaultFile;
     m_filterExtension = wxEmptyString;
 
-    // interpret wildcards
-    wxArrayString wildDescriptions, wildFilters;
-    if ( !wxParseCommonDialogsFilter(m_wildCard, wildDescriptions, wildFilters) )
-    {
-        wxFAIL_MSG( wxT("Wrong file type description") );
-    }
-
     // layout
 
     bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
     // layout
 
     bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
@@ -978,7 +971,7 @@ wxGenericFileDialog::wxGenericFileDialog(wxWindow *parent,
         style2 |= wxLC_SINGLE_SEL;
 
     m_list = new wxFileCtrl( this, ID_LIST_CTRL,
         style2 |= wxLC_SINGLE_SEL;
 
     m_list = new wxFileCtrl( this, ID_LIST_CTRL,
-                             wildFilters[0], ms_lastShowHidden,
+                             _T(""), ms_lastShowHidden,
                              wxDefaultPosition, wxSize(540,200),
                              style2);
 
                              wxDefaultPosition, wxSize(540,200),
                              style2);
 
@@ -1021,11 +1014,7 @@ wxGenericFileDialog::wxGenericFileDialog(wxWindow *parent,
         mainsizer->Add( choicesizer, 0, wxEXPAND );
     }
 
         mainsizer->Add( choicesizer, 0, wxEXPAND );
     }
 
-    for (size_t n=0; n<wildFilters.GetCount(); n++)
-    {
-        m_choice->Append( wildDescriptions[n], (void*) new wxString( wildFilters[n] ) );
-    }
-    SetFilterIndex( 0 );
+    SetWildcard(wildCard);
 
     SetAutoLayout( true );
     SetSizer( mainsizer );
 
     SetAutoLayout( true );
     SetSizer( mainsizer );
@@ -1093,6 +1082,25 @@ void wxGenericFileDialog::DoSetFilterIndex(int filterindex)
     }
 }
 
     }
 }
 
+void wxGenericFileDialog::SetWildcard(const wxString& wildCard)
+{
+    wxFileDialogBase::SetWildcard(wildCard);
+
+    wxArrayString wildDescriptions, wildFilters;
+    const size_t count = wxParseCommonDialogsFilter(m_wildCard,
+                                                    wildDescriptions,
+                                                    wildFilters);
+    wxCHECK_RET( count, wxT("wxFileDialog: bad wildcard string") );
+
+    m_choice->Clear();
+    for ( size_t n = 0; n < count; n++ )
+    {
+        m_choice->Append( wildDescriptions[n], new wxString( wildFilters[n] ) );
+    }
+
+    SetFilterIndex( 0 );
+}
+
 void wxGenericFileDialog::SetFilterIndex( int filterindex )
 {
     m_choice->SetSelection( filterindex );
 void wxGenericFileDialog::SetFilterIndex( int filterindex )
 {
     m_choice->SetSelection( filterindex );