diff --git a/include/wx/gtk/filepicker.h b/include/wx/gtk/filepicker.h index e1bd484781..7b5a7da72e 100644 --- a/include/wx/gtk/filepicker.h +++ b/include/wx/gtk/filepicker.h @@ -99,15 +99,6 @@ public: // overrides // event handler for the click void OnDialogOK(wxCommandEvent &); - // GtkFileChooserButton does not support GTK_FILE_CHOOSER_ACTION_SAVE - // so we replace it with GTK_FILE_CHOOSER_ACTION_OPEN; since wxFD_SAVE - // is not supported, wxFD_OVERWRITE_PROMPT isn't too... - virtual long GetDialogStyle() const - { - return (wxGenericFileButton::GetDialogStyle() & - ~(wxFD_SAVE | wxFD_OVERWRITE_PROMPT)) | wxFD_OPEN; - } - virtual void SetPath(const wxString &str); // see macro defined above diff --git a/src/gtk/filepicker.cpp b/src/gtk/filepicker.cpp index d1f18c726f..fffa3b0da9 100644 --- a/src/gtk/filepicker.cpp +++ b/src/gtk/filepicker.cpp @@ -41,7 +41,9 @@ bool wxFileButton::Create( wxWindow *parent, wxWindowID id, long style, const wxValidator& validator, const wxString &name ) { - if (!gtk_check_version(2,6,0)) + // we can't use the native button for wxFLP_SAVE pickers as it can only + // open existing files and there is no way to create a new file using it + if ( !(style & wxFLP_SAVE) && !gtk_check_version(2,6,0) ) { // VERY IMPORTANT: this code is identic to relative code in wxDirButton; // if you find a problem here, fix it also in wxDirButton !