]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/filedlgg.cpp
EXTRA_LIBS vs. EXTRALIBS change.
[wxWidgets.git] / src / generic / filedlgg.cpp
index 8b1384196219f030cea48f8a8921f79346e93e35..909355ded63da70a3017b4e6de708facc693d523 100644 (file)
@@ -133,6 +133,7 @@ wxFileData::wxFileData( const wxString &name, const wxString &fname )
     m_month = t->tm_mon+1;
     m_day = t->tm_mday;
     m_year = t->tm_year;
+    m_year += 1900;
 
     m_permissions.sprintf( wxT("%c%c%c"),
      ((( buff.st_mode & S_IRUSR ) == S_IRUSR ) ? wxT('r') : wxT('-')),
@@ -181,30 +182,37 @@ wxString wxFileData::GetEntry( int num )
     switch (num)
     {
         case 0:
+        {
             s = m_name;
-            break;
+        }
+        break;
         case 1:
+        {   
             if (m_isDir) s = _("<DIR>");
             else if (m_isLink) s = _("<LINK>");
             else s = LongToString( m_size );
-            break;
+        }
+        break;
         case 2:
+        {
             if (m_day < 10) s = wxT("0"); else s = wxT("");
             s += IntToString( m_day );
             s += wxT(".");
             if (m_month < 10) s += wxT("0");
             s += IntToString( m_month );
             s += wxT(".");
-            if (m_year < 10) s += wxT("0"); // this should happen real soon...
             s += IntToString( m_year );
-            break;
+        }
+        break;
         case 3:
+        {
             if (m_hour < 10) s = wxT("0"); else s = wxT("");
             s += IntToString( m_hour );
             s += wxT(":");
             if (m_minute < 10) s += wxT("0");
             s += IntToString( m_minute );
             break;
+        }
         case 4:
             s = m_permissions;
             break;
@@ -339,7 +347,7 @@ void wxFileCtrl::Update()
     {
         InsertColumn( 0, _("Name"), wxLIST_FORMAT_LEFT, 130 );
         InsertColumn( 1, _("Size"), wxLIST_FORMAT_LEFT, 60 );
-        InsertColumn( 2, _("Date"), wxLIST_FORMAT_LEFT, 55 );
+        InsertColumn( 2, _("Date"), wxLIST_FORMAT_LEFT, 70 );
         InsertColumn( 3, _("Time"), wxLIST_FORMAT_LEFT, 50 );
         InsertColumn( 4, _("Permissions"), wxLIST_FORMAT_LEFT, 120 );
     }
@@ -388,6 +396,10 @@ void wxFileCtrl::Update()
     }
 
     SortItems( ListCompare, 0 );
+    
+    SetColumnWidth( 2, wxLIST_AUTOSIZE );
+    SetColumnWidth( 3, wxLIST_AUTOSIZE );
+    SetColumnWidth( 4, wxLIST_AUTOSIZE );
 }
 
 void wxFileCtrl::SetWild( const wxString &wild )
@@ -431,7 +443,7 @@ void wxFileCtrl::MakeDir()
     wxListItem item;
     item.m_itemId = 0;
     item.m_col = 0;
-    int id = Add( fd, item );
+    long id = Add( fd, item );
 
     if (id != -1)
     {
@@ -450,7 +462,7 @@ void wxFileCtrl::GoToParentDir()
         m_dirName = wxPathOnly( m_dirName );
         if (m_dirName.IsEmpty()) m_dirName = wxT("/");
         Update();
-        int id = FindItem( 0, fname );
+        long id = FindItem( 0, fname );
         if (id != -1)
         {
             SetItemState( id, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED );
@@ -579,7 +591,7 @@ wxFileDialog::wxFileDialog(wxWindow *parent,
         m_dialogStyle |= wxOPEN;
     
     m_dir = defaultDir;
-    if (m_dir.IsEmpty())
+    if ((m_dir.IsEmpty()) || (m_dir == wxT(".")))
     {
         char buf[200];
         m_dir = getcwd( buf, sizeof(buf) );
@@ -715,9 +727,10 @@ wxFileDialog::~wxFileDialog()
 
 void wxFileDialog::OnChoice( wxCommandEvent &event )
 {
-    wxString *str = (wxString*) m_choice->GetClientData( event.GetInt() );
+    int index = (int)event.GetInt();
+    wxString *str = (wxString*) m_choice->GetClientData( index );
     m_list->SetWild( *str );
-    m_filterIndex = event.GetInt();
+    m_filterIndex = index;
 }
 
 void wxFileDialog::OnCheck( wxCommandEvent &event )