X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..7e99520bd3fc092bbbcbc38bb699a0236618ea40:/src/common/docview.cpp?ds=sidebyside diff --git a/src/common/docview.cpp b/src/common/docview.cpp index cf02ef0e08..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() ) { @@ -2253,7 +2253,7 @@ bool wxTransferFileToStream(const wxString& filename, wxOutputStream& stream) FILE *fd1; int ch; - if ((fd1 = wxFopen (filename.fn_str(), wxT("rb"))) == NULL) + if ((fd1 = wxFopen (filename, wxT("rb"))) == NULL) return FALSE; while ((ch = getc (fd1)) != EOF) @@ -2268,7 +2268,7 @@ bool wxTransferStreamToFile(wxInputStream& stream, const wxString& filename) FILE *fd1; char ch; - if ((fd1 = wxFopen (filename.fn_str(), wxT("wb"))) == NULL) + if ((fd1 = wxFopen (filename, wxT("wb"))) == NULL) { return FALSE; }