X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9dc44eff0235c5f30940f32ccc6d9d82a236e7d2..4e15d1caa03346c126015019c1fdf093033ef40b:/src/gtk/filedlg.cpp diff --git a/src/gtk/filedlg.cpp b/src/gtk/filedlg.cpp index 09508a9f6e..28f087c246 100644 --- a/src/gtk/filedlg.cpp +++ b/src/gtk/filedlg.cpp @@ -29,6 +29,7 @@ #include "wx/filename.h" // wxFilename #include "wx/tokenzr.h" // wxStringTokenizer #include "wx/filefn.h" // ::wxGetCwd +#include "wx/testing.h" //----------------------------------------------------------------------------- // "clicked" for OK-button @@ -342,6 +343,8 @@ void wxFileDialog::OnFakeOk(wxCommandEvent& WXUNUSED(event)) int wxFileDialog::ShowModal() { + WX_TESTING_SHOW_MODAL_HOOK(); + CreateExtraControl(); return wxDialog::ShowModal(); @@ -382,6 +385,8 @@ void wxFileDialog::SetMessage(const wxString& message) void wxFileDialog::SetPath(const wxString& path) { + wxFileDialogBase::SetPath(path); + // Don't do anything if no path is specified, in particular don't set the // path to m_dir below as this would result in opening the dialog in the // parent directory of this one instead of m_dir itself. @@ -398,12 +403,9 @@ void wxFileDialog::SetPath(const wxString& path) void wxFileDialog::SetDirectory(const wxString& dir) { - if (m_fc.SetDirectory( dir )) - { - // Cache the dir, as gtk_file_chooser_get_current_folder() - // doesn't return anything until the dialog has been shown - m_dir = dir; - } + wxFileDialogBase::SetDirectory(dir); + + m_fc.SetDirectory(dir); } wxString wxFileDialog::GetDirectory() const @@ -420,10 +422,11 @@ wxString wxFileDialog::GetDirectory() const void wxFileDialog::SetFilename(const wxString& name) { + wxFileDialogBase::SetFilename(name); + if (HasFdFlag(wxFD_SAVE)) { gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(m_widget), wxGTK_CONV(name)); - m_fileName = name; } else @@ -435,7 +438,6 @@ void wxFileDialog::SetFilename(const wxString& name) return; } SetPath(wxFileName(path, name).GetFullPath()); - m_fileName = name; } }