X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/75cb911c7c8a475269901bf5f0c69c583d79e498..6ba718d7aee2f519d9146b90424ccec9e2243479:/src/generic/filepickerg.cpp diff --git a/src/generic/filepickerg.cpp b/src/generic/filepickerg.cpp index edfcfc5fea..225da729d2 100644 --- a/src/generic/filepickerg.cpp +++ b/src/generic/filepickerg.cpp @@ -4,7 +4,6 @@ // Author: Francesco Montorsi // Modified by: // Created: 15/04/2006 -// RCS-ID: $Id$ // Copyright: (c) Francesco Montorsi // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -81,7 +80,7 @@ bool wxGenericFileDirButton::Create(wxWindow *parent, } // and handle user clicks on it - Connect(GetId(), wxEVT_COMMAND_BUTTON_CLICKED, + Connect(GetId(), wxEVT_BUTTON, wxCommandEventHandler(wxGenericFileDirButton::OnButtonClick), NULL, this); @@ -113,41 +112,28 @@ void wxGenericFileDirButton::SetInitialDirectory(const wxString& dir) } // ---------------------------------------------------------------------------- -// wxGenericFileutton +// wxGenericFileButton // ---------------------------------------------------------------------------- -void -wxGenericFileButton::DoSetInitialDirectory(wxFileDialog* dialog, - const wxString& dir) -{ - if ( m_path.find_first_of(wxFileName::GetPathSeparators()) == - wxString::npos ) - { - dialog->SetDirectory(dir); - } -} - wxDialog *wxGenericFileButton::CreateDialog() { - wxFileDialog* const dialog = new wxFileDialog - ( - GetDialogParent(), - m_message, - wxEmptyString, - wxEmptyString, - m_wildcard, - GetDialogStyle() - ); - - // this sets both the default folder and the default file of the dialog - dialog->SetPath(m_path); - - // If there is no default file or if it doesn't have any path, use the - // explicitly set initial directory. - if ( !m_initialDir.empty() ) - DoSetInitialDirectory(dialog, m_initialDir); - - return dialog; + // Determine the initial directory for the dialog: it comes either from the + // default path, if it has it, or from the separately specified initial + // directory that can be set even if the path is e.g. empty. + wxFileName fn(m_path); + wxString initialDir = fn.GetPath(); + if ( initialDir.empty() ) + initialDir = m_initialDir; + + return new wxFileDialog + ( + GetDialogParent(), + m_message, + initialDir, + fn.GetFullName(), + m_wildcard, + GetDialogStyle() + ); } // ----------------------------------------------------------------------------