don't call stat() *and* lstat() (as if the file dialog wasn't already slow enough...); minor code cleanup (removed a few #ifdef's, TABs and other crap)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-01-12 14:24:32 +00:00
parent 7b507740a8
commit 7f04165e6f

View File

@@ -445,37 +445,29 @@ wxFileData::wxFileData( const wxString &name, const wxString &fname )
if (name.length() == 2 && name[1u] == wxT(':')) if (name.length() == 2 && name[1u] == wxT(':'))
{ {
m_isDir = TRUE; m_isDir = TRUE;
m_isExe = m_isLink = FALSE; m_isExe =
m_isLink = FALSE;
m_size = 0; m_size = 0;
return; return;
} }
#endif #endif // __DOS__ || __WINDOWS__
wxStructStat buff; wxStructStat buff;
wxStat( m_fileName, &buff );
#if defined(__UNIX__) && (!defined( __EMX__ ) && !defined(__VMS)) #if defined(__UNIX__) && (!defined( __EMX__ ) && !defined(__VMS))
struct stat lbuff; lstat( m_fileName.fn_str(), &buff );
lstat( m_fileName.fn_str(), &lbuff ); m_isLink = S_ISLNK( buff.st_mode );
m_isLink = S_ISLNK( lbuff.st_mode ); #else // no lstat()
struct tm *t = localtime( &lbuff.st_mtime ); wxStat( m_fileName, &buff );
#else
m_isLink = FALSE; m_isLink = FALSE;
struct tm *t = localtime( &buff.st_mtime );
#endif #endif
// struct passwd *user = getpwuid( buff.st_uid ); m_isDir = (buff.st_mode & S_IFDIR) != 0;
// struct group *grp = getgrgid( buff.st_gid ); m_isExe = (buff.st_mode & wxS_IXUSR) != 0;
#ifdef __VISUALC__
m_isDir = ((buff.st_mode & _S_IFDIR ) == _S_IFDIR );
#else
m_isDir = S_ISDIR( buff.st_mode );
#endif // VC++
m_isExe = ((buff.st_mode & wxS_IXUSR ) == wxS_IXUSR );
m_size = buff.st_size; m_size = buff.st_size;
const struct tm * const t = localtime( &buff.st_mtime );
m_hour = t->tm_hour; m_hour = t->tm_hour;
m_minute = t->tm_min; m_minute = t->tm_min;
m_month = t->tm_mon+1; m_month = t->tm_mon+1;
@@ -483,21 +475,10 @@ wxFileData::wxFileData( const wxString &name, const wxString &fname )
m_year = t->tm_year; m_year = t->tm_year;
m_year += 1900; m_year += 1900;
char buffer[10]; m_permissions.Printf(_T("%c%c%c"),
sprintf( buffer, "%c%c%c", buff.st_mode & wxS_IRUSR ? _T('r') : _T('-'),
((( buff.st_mode & wxS_IRUSR ) == wxS_IRUSR ) ? 'r' : '-'), buff.st_mode & wxS_IWUSR ? _T('w') : _T('-'),
((( buff.st_mode & wxS_IWUSR ) == wxS_IWUSR ) ? 'w' : '-'), buff.st_mode & wxS_IXUSR ? _T('x') : _T('-'));
((( buff.st_mode & wxS_IXUSR ) == wxS_IXUSR ) ? 'x' : '-') );
#if wxUSE_UNICODE
m_permissions = wxConvUTF8.cMB2WC( buffer );
#else
m_permissions = buffer;
#endif
// m_permissions.sprintf( wxT("%c%c%c"),
// ((( buff.st_mode & S_IRUSR ) == S_IRUSR ) ? wxT('r') : wxT('-')),
// ((( buff.st_mode & S_IWUSR ) == S_IWUSR ) ? wxT('w') : wxT('-')),
// ((( buff.st_mode & S_IXUSR ) == S_IXUSR ) ? wxT('x') : wxT('-')) );
} }
wxString wxFileData::GetName() const wxString wxFileData::GetName() const
@@ -1311,13 +1292,13 @@ void wxFileDialog::OnTextChange( wxCommandEvent &WXUNUSED(event) )
// not get the file whose name they typed. // not get the file whose name they typed.
if (m_list->GetSelectedItemCount() > 0) if (m_list->GetSelectedItemCount() > 0)
{ {
long item = m_list->GetNextItem(-1, wxLIST_NEXT_ALL, long item = m_list->GetNextItem(-1, wxLIST_NEXT_ALL,
wxLIST_STATE_SELECTED); wxLIST_STATE_SELECTED);
while ( item != -1 ) while ( item != -1 )
{ {
m_list->SetItemState(item,0, wxLIST_STATE_SELECTED); m_list->SetItemState(item,0, wxLIST_STATE_SELECTED);
item = m_list->GetNextItem(item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); item = m_list->GetNextItem(item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
} }
} }
} }
} }