]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/filedlgg.cpp
don't generate wxEVT_CONTEXT_MENU messages for right clicks in the list control header
[wxWidgets.git] / src / generic / filedlgg.cpp
index efbe7253eda62b383f60095dc3334a206f85d2a0..c372fb9fac50f87a46aa11b46560d4d1788091f5 100644 (file)
@@ -250,7 +250,7 @@ void wxFileData::ReadData()
             NULL);
 
     if (fileHandle != INVALID_HANDLE_VALUE)
-    { 
+    {
         m_size = GetFileSize(fileHandle, 0);
         CloseHandle(fileHandle);
     }
@@ -284,7 +284,7 @@ void wxFileData::ReadData()
     m_dateTime = buff.st_mtime;
 #endif
     // __WXWINCE__
-    
+
 #if defined(__UNIX__)
     m_permissions.Printf(_T("%c%c%c%c%c%c%c%c%c"),
                          buff.st_mode & wxS_IRUSR ? _T('r') : _T('-'),
@@ -297,7 +297,7 @@ void wxFileData::ReadData()
                          buff.st_mode & wxS_IWOTH ? _T('w') : _T('-'),
                          buff.st_mode & wxS_IXOTH ? _T('x') : _T('-'));
 #elif defined(__WIN32__)
-    DWORD attribs = GetFileAttributes(m_filePath.fn_str());
+    DWORD attribs = ::GetFileAttributes(m_filePath.c_str());
     if (attribs != (DWORD)-1)
     {
         m_permissions.Printf(_T("%c%c%c%c"),
@@ -998,7 +998,11 @@ bool wxGenericFileDialog::Create( wxWindow *parent,
         return true;
 
     if (!wxDialog::Create( parent, wxID_ANY, message, pos, wxDefaultSize,
-                           wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER ))
+                           wxDEFAULT_DIALOG_STYLE
+#if !(defined(__PDA__) || defined(__SMARTPHONE__))
+                           | wxRESIZE_BORDER
+#endif
+                           ))
     {
         return false;
     }
@@ -1118,7 +1122,7 @@ bool wxGenericFileDialog::Create( wxWindow *parent,
         mainsizer->Add( m_list, 1, wxEXPAND | wxLEFT|wxRIGHT, 5 );
 
         wxBoxSizer *textsizer = new wxBoxSizer( wxHORIZONTAL );
-        m_text = new wxTextCtrl( this, ID_TEXT, m_fileName, wxDefaultPosition, wxDefaultSize, wxPROCESS_ENTER );
+        m_text = new wxTextCtrl( this, ID_TEXT, m_fileName, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
         textsizer->Add( m_text, 1, wxCENTER | wxALL, 5 );
         mainsizer->Add( textsizer, 0, wxEXPAND );
 
@@ -1126,17 +1130,22 @@ bool wxGenericFileDialog::Create( wxWindow *parent,
         m_choice = new wxChoice( this, ID_CHOICE );
         textsizer->Add( m_choice, 1, wxCENTER|wxALL, 5 );
 
-        buttonsizer = new wxBoxSizer( wxHORIZONTAL );
-        buttonsizer->Add( new wxButton( this, wxID_OK ), 0, wxCENTER | wxALL, 5 );
-        buttonsizer->Add( new wxButton( this, wxID_CANCEL ), 0, wxCENTER | wxALL, 5 );
-        mainsizer->Add( buttonsizer, 0, wxALIGN_RIGHT );
+        wxSizer *bsizer = CreateButtonSizer( wxOK|wxCANCEL , false, 5 );
+        if(bsizer->GetChildren().GetCount() > 0 )
+        {
+            mainsizer->Add( bsizer, 0, wxEXPAND | wxALL, 5 );
+        }
+        else
+        {
+            delete bsizer;
+        }
     }
     else
     {
         mainsizer->Add( m_list, 1, wxEXPAND | wxLEFT|wxRIGHT, 10 );
 
         wxBoxSizer *textsizer = new wxBoxSizer( wxHORIZONTAL );
-        m_text = new wxTextCtrl( this, ID_TEXT, m_fileName, wxDefaultPosition, wxDefaultSize, wxPROCESS_ENTER );
+        m_text = new wxTextCtrl( this, ID_TEXT, m_fileName, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
         textsizer->Add( m_text, 1, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 );
         textsizer->Add( new wxButton( this, wxID_OK ), 0, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 );
         mainsizer->Add( textsizer, 0, wxEXPAND );
@@ -1163,9 +1172,9 @@ bool wxGenericFileDialog::Create( wxWindow *parent,
 
         Centre( wxBOTH );
     }
-    
+
     m_text->SetFocus();
-    
+
     ignoreChanges = false;
 
     return true;
@@ -1287,9 +1296,7 @@ void wxGenericFileDialog::OnActivated( wxListEvent &event )
 
 void wxGenericFileDialog::OnTextEnter( wxCommandEvent &WXUNUSED(event) )
 {
-    wxCommandEvent cevent(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
-    cevent.SetEventObject( this );
-    GetEventHandler()->ProcessEvent( cevent );
+    HandleAction( m_text->GetValue() );
 }
 
 void wxGenericFileDialog::OnTextChange( wxCommandEvent &WXUNUSED(event) )
@@ -1346,10 +1353,17 @@ void wxGenericFileDialog::HandleAction( const wxString &fn )
         return;
 
     wxString filename( fn );
-    wxString dir = m_list->GetDir();
-    if (filename.empty()) return;
+    if (filename.empty())
+    {
+#ifdef __WXWINCE__
+        EndModal(wxID_CANCEL);
+#endif
+        return;
+    }
     if (filename == wxT(".")) return;
 
+    wxString dir = m_list->GetDir();
+
     // "some/place/" means they want to chdir not try to load "place"
     bool want_dir = filename.Last() == wxFILE_SEP_PATH;
     if (want_dir)
@@ -1465,8 +1479,7 @@ void wxGenericFileDialog::HandleAction( const wxString &fn )
         }
     }
 
-    wxCommandEvent event;
-    wxDialog::OnOK(event);
+    EndModal(wxID_OK);
 }
 
 void wxGenericFileDialog::OnListOk( wxCommandEvent &WXUNUSED(event) )