}
}
-static void wxInsertChildInFileDialog(wxWindow* parent, wxWindow* child)
+void wxFileDialog::AddChildGTK(wxWindowGTK* child)
{
g_signal_connect_after(child->m_widget, "size_request",
G_CALLBACK(extra_widget_size_request), child);
gtk_file_chooser_set_extra_widget(
- GTK_FILE_CHOOSER(parent->m_widget), child->m_widget);
+ GTK_FILE_CHOOSER(m_widget), child->m_widget);
}
//-----------------------------------------------------------------------------
const wxString& name)
: wxFileDialogBase()
{
- m_insertCallback = wxInsertChildInFileDialog;
parent = GetParentForModalDialog(parent);
if (!wxFileDialogBase::Create(parent, message, defaultDir, defaultFileName,
wxString wxFileDialog::GetPath() const
{
- return m_fc.GetPath();
+ wxFileName fn = m_fc.GetPath();
+
+ if (HasFdFlag(wxFD_SAVE))
+ {
+ // add extension
+ if (!fn.HasExt())
+ {
+ wxFileName wildcard( "/dummy", m_fc.GetCurrentWildCard() );
+ wxString ext = wildcard.GetExt();
+ if (!ext.empty() && (ext.Find('?') == wxNOT_FOUND) && (ext.Find('*') == wxNOT_FOUND))
+ fn.SetExt( ext );
+ }
+ }
+
+ return fn.GetFullPath();
}
void wxFileDialog::GetFilenames(wxArrayString& files) const