X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/27df579a6fee15c771a6020ec856dff64422151f..5adad46628e545a6d4172ecf3a0cb848934f5cd0:/src/generic/filedlgg.cpp diff --git a/src/generic/filedlgg.cpp b/src/generic/filedlgg.cpp index ed7c974c9b..2d418f1064 100644 --- a/src/generic/filedlgg.cpp +++ b/src/generic/filedlgg.cpp @@ -20,6 +20,8 @@ #pragma hdrstop #endif +#if wxUSE_FILEDLG + #ifndef __UNIX__ #error wxFileDialog currently only supports unix #endif @@ -557,7 +559,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++; @@ -572,7 +574,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++; @@ -582,9 +584,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 ) @@ -1023,7 +1028,7 @@ void wxFileDialog::HandleAction( const wxString &fn ) return; } - if (filename[0] == wxT('~')) + if (filename[0u] == wxT('~')) { filename.Remove( 0, 1 ); wxString tmp( wxGetUserHome() ); @@ -1045,7 +1050,7 @@ void wxFileDialog::HandleAction( const wxString &fn ) } if (dir != wxT("/")) dir += wxT("/"); - if (filename[0] != wxT('/')) + if (filename[0u] != wxT('/')) { dir += filename; filename = dir; @@ -1094,6 +1099,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); } @@ -1259,19 +1276,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, @@ -1279,15 +1294,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); } @@ -1307,3 +1322,5 @@ public: }; IMPLEMENT_DYNAMIC_CLASS(wxFileDialogGenericModule, wxModule) + +#endif // wxUSE_FILEDLG