X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b6fa52db667283fea7eaba7abe3dc48b8631f360..cd378f94bec1edc0f991ee55b02bfe3084de94e0:/src/generic/filedlgg.cpp diff --git a/src/generic/filedlgg.cpp b/src/generic/filedlgg.cpp index 0026835965..41e6ad08d0 100644 --- a/src/generic/filedlgg.cpp +++ b/src/generic/filedlgg.cpp @@ -46,8 +46,10 @@ #include #include #include -#include -#include +#ifndef __VMS +# include +#endif +# include #include #include "wx/generic/home.xpm" @@ -273,7 +275,7 @@ wxFileData::wxFileData( const wxString &name, const wxString &fname ) struct stat buff; stat( m_fileName.fn_str(), &buff ); -#ifndef __EMX__ +#if !defined( __EMX__ ) && !defined(__VMS) struct stat lbuff; lstat( m_fileName.fn_str(), &lbuff ); m_isLink = S_ISLNK( lbuff.st_mode ); @@ -555,7 +557,7 @@ void wxFileCtrl::Update() res = wxFileNameFromPath( f ); fd = new wxFileData( res, f ); wxString s = fd->GetName(); - if (m_showHidden || (s[0] != wxT('.'))) + if (m_showHidden || (s[0u] != wxT('.'))) { Add( fd, item ); item.m_itemId++; @@ -570,7 +572,7 @@ void wxFileCtrl::Update() res = wxFileNameFromPath( f ); fd = new wxFileData( res, f ); wxString s = fd->GetName(); - if (m_showHidden || (s[0] != wxT('.'))) + if (m_showHidden || (s[0u] != wxT('.'))) { Add( fd, item ); item.m_itemId++; @@ -580,9 +582,12 @@ void wxFileCtrl::Update() SortItems( ListCompare, 0 ); - SetColumnWidth( 1, wxLIST_AUTOSIZE ); - SetColumnWidth( 2, wxLIST_AUTOSIZE ); - SetColumnWidth( 3, wxLIST_AUTOSIZE ); + if (my_style & wxLC_REPORT) + { + SetColumnWidth( 1, wxLIST_AUTOSIZE ); + SetColumnWidth( 2, wxLIST_AUTOSIZE ); + SetColumnWidth( 3, wxLIST_AUTOSIZE ); + } } void wxFileCtrl::SetWild( const wxString &wild ) @@ -1021,7 +1026,7 @@ void wxFileDialog::HandleAction( const wxString &fn ) return; } - if (filename[0] == wxT('~')) + if (filename[0u] == wxT('~')) { filename.Remove( 0, 1 ); wxString tmp( wxGetUserHome() ); @@ -1043,7 +1048,7 @@ void wxFileDialog::HandleAction( const wxString &fn ) } if (dir != wxT("/")) dir += wxT("/"); - if (filename[0] != wxT('/')) + if (filename[0u] != wxT('/')) { dir += filename; filename = dir; @@ -1092,6 +1097,18 @@ void wxFileDialog::HandleAction( const wxString &fn ) SetPath( filename ); + // change to the directory where the user went if asked + if ( m_dialogStyle & wxCHANGE_DIR ) + { + wxString cwd; + wxSplitPath(filename, &cwd, NULL, NULL); + + if ( cwd != wxGetWorkingDirectory() ) + { + wxSetWorkingDirectory(cwd); + } + } + wxCommandEvent event; wxDialog::OnOK(event); } @@ -1257,19 +1274,17 @@ wxString wxFileSelector( const wxChar *title, } } -wxString wxLoadFileSelector( const wxChar *what, const wxChar *extension, const wxChar *default_name, wxWindow *parent ) +wxString wxLoadFileSelector( const wxChar *what, const wxChar *ext, const wxChar *default_name, wxWindow *parent ) { - wxChar *ext = (wxChar *)extension; + wxString prompt = wxString::Format(_("Load %s file"), what); - wxChar prompt[50]; - wxString str = _("Load %s file"); - wxSprintf(prompt, str, what); + if (*ext == wxT('.')) + ext++; - if (*ext == wxT('.')) ext++; - wxChar wild[60]; - wxSprintf(wild, wxT("*.%s"), ext); + wxString wild = wxString::Format(_T("*.%s"), ext); - return wxFileSelector (prompt, (const wxChar *) NULL, default_name, ext, wild, 0, parent); + return wxFileSelector(prompt, (const wxChar *) NULL, default_name, + ext, wild, 0, parent); } wxString wxSaveFileSelector(const wxChar *what, const wxChar *extension, const wxChar *default_name, @@ -1277,15 +1292,15 @@ wxString wxSaveFileSelector(const wxChar *what, const wxChar *extension, const w { wxChar *ext = (wxChar *)extension; - wxChar prompt[50]; - wxString str = _("Save %s file"); - wxSprintf(prompt, str, what); + wxString prompt = wxString::Format(_("Save %s file"), what); + + if (*ext == wxT('.')) + ext++; - if (*ext == wxT('.')) ext++; - wxChar wild[60]; - wxSprintf(wild, wxT("*.%s"), ext); + wxString wild = wxString::Format(_T("*.%s"), ext); - return wxFileSelector (prompt, (const wxChar *) NULL, default_name, ext, wild, 0, parent); + return wxFileSelector(prompt, (const wxChar *) NULL, default_name, + ext, wild, 0, parent); }