#pragma hdrstop
#endif
+#if wxUSE_FILEDLG
+
#ifndef __UNIX__
#error wxFileDialog currently only supports unix
#endif
#include <sys/stat.h>
#include <dirent.h>
#include <pwd.h>
-#include <grp.h>
-#include <time.h>
+#ifndef __VMS
+# include <grp.h>
+#endif
+# include <time.h>
#include <unistd.h>
#include "wx/generic/home.xpm"
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 );
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++;
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++;
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 )
return;
}
- if (filename[0] == wxT('~'))
+ if (filename[0u] == wxT('~'))
{
filename.Remove( 0, 1 );
wxString tmp( wxGetUserHome() );
}
if (dir != wxT("/")) dir += wxT("/");
- if (filename[0] != wxT('/'))
+ if (filename[0u] != wxT('/'))
{
dir += filename;
filename = dir;
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);
}
}
}
-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,
{
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);
}
};
IMPLEMENT_DYNAMIC_CLASS(wxFileDialogGenericModule, wxModule)
+
+#endif // wxUSE_FILEDLG