X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/888b0f22a9c9f4609eef3bb7e9a3ce1e67ac6c31..28be2e8a170979d476a5ea4f585505b8a2f5af27:/src/common/docview.cpp diff --git a/src/common/docview.cpp b/src/common/docview.cpp index 5e0d3c4aef..072766bb9a 100644 --- a/src/common/docview.cpp +++ b/src/common/docview.cpp @@ -1114,8 +1114,8 @@ wxDocument *wxDocManager::CreateDocument(const wxString& path, long flags) } return newDoc; } - else - return (wxDocument *) NULL; + + return (wxDocument *) NULL; } wxView *wxDocManager::CreateView(wxDocument *doc, long flags) @@ -1364,7 +1364,7 @@ wxDocTemplate *wxDocManager::SelectDocumentPath(wxDocTemplate **templates, wxString descrBuf = wxT("*.*"); #endif - int FilterIndex = 0; + int FilterIndex = -1; wxWindow* parent = wxFindSuitableParent(); @@ -1376,6 +1376,7 @@ wxDocTemplate *wxDocManager::SelectDocumentPath(wxDocTemplate **templates, 0, parent); + wxDocTemplate *theTemplate = (wxDocTemplate *)NULL; if (!pathTmp.IsEmpty()) { if (!wxFileExists(pathTmp)) @@ -1396,21 +1397,20 @@ wxDocTemplate *wxDocManager::SelectDocumentPath(wxDocTemplate **templates, path = pathTmp; - // This is dodgy in that we're selecting the template on the - // basis of the file extension, which may not be a standard - // one. We really want to know exactly which template was - // chosen by using a more advanced file selector. - wxDocTemplate *theTemplate = FindTemplateForPath(path); - if ( !theTemplate ) + // first choose the template using the extension, if this fails (i.e. + // wxFileSelectorEx() didn't fill it), then use the path + if ( FilterIndex != -1 ) theTemplate = templates[FilterIndex]; - - return theTemplate; + if ( !theTemplate ) + theTemplate = FindTemplateForPath(path); } else { path = wxT(""); - return (wxDocTemplate *) NULL; } + + return theTemplate; + #if 0 // In all other windowing systems, until we have more advanced // file selectors, we must select the document type (template) first, and @@ -1657,7 +1657,7 @@ void wxDocParentFrame::OnExit(wxCommandEvent& WXUNUSED(event)) void wxDocParentFrame::OnMRUFile(wxCommandEvent& event) { - int n = event.GetSelection() - wxID_FILE1; // the index in MRU list + int n = event.GetId() - wxID_FILE1; // the index in MRU list wxString filename(m_docManager->GetHistoryFile(n)); if ( !filename.IsEmpty() ) {