Added wxFilePickerCtrl::SetInitialDirectory().
This method allows to configure the initial directory to be shown when browsing for files in an initially empty wxFileDirPickerCtrl. It is also available for wxDirPickerCtrl but is less useful there. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
|
||||
#if wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL
|
||||
|
||||
#include "wx/filename.h"
|
||||
#include "wx/filepicker.h"
|
||||
|
||||
#include "wx/scopedptr.h"
|
||||
@@ -106,4 +107,63 @@ void wxGenericFileDirButton::OnButtonClick(wxCommandEvent& WXUNUSED(ev))
|
||||
}
|
||||
}
|
||||
|
||||
void wxGenericFileDirButton::SetInitialDirectory(const wxString& dir)
|
||||
{
|
||||
m_initialDir = dir;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxGenericFileutton
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxGenericDirButton
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxDialog *wxGenericDirButton::CreateDialog()
|
||||
{
|
||||
wxDirDialog* const dialog = new wxDirDialog
|
||||
(
|
||||
GetDialogParent(),
|
||||
m_message,
|
||||
m_path.empty() ? m_initialDir : m_path,
|
||||
GetDialogStyle()
|
||||
);
|
||||
return dialog;
|
||||
}
|
||||
|
||||
#endif // wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL
|
||||
|
Reference in New Issue
Block a user