diff --git a/include/wx/generic/filepickerg.h b/include/wx/generic/filepickerg.h index 59cae31c09..5ab51d7b32 100644 --- a/include/wx/generic/filepickerg.h +++ b/include/wx/generic/filepickerg.h @@ -77,6 +77,11 @@ public: protected: wxString m_message, m_wildcard; + + // we just store the style passed to the ctor here instead of passing it to + // wxButton as some of our bits can conflict with wxButton styles and it + // just doesn't make sense to use picker styles for wxButton anyhow + long m_pickerStyle; }; @@ -112,15 +117,15 @@ public: // overrideable { long filedlgstyle = 0; - if (this->HasFlag(wxFLP_OPEN)) + if ( m_pickerStyle & wxFLP_OPEN ) filedlgstyle |= wxFD_OPEN; - if (this->HasFlag(wxFLP_SAVE)) + if ( m_pickerStyle & wxFLP_SAVE ) filedlgstyle |= wxFD_SAVE; - if (this->HasFlag(wxFLP_OVERWRITE_PROMPT)) + if ( m_pickerStyle & wxFLP_OVERWRITE_PROMPT ) filedlgstyle |= wxFD_OVERWRITE_PROMPT; - if (this->HasFlag(wxFLP_FILE_MUST_EXIST)) + if ( m_pickerStyle & wxFLP_FILE_MUST_EXIST ) filedlgstyle |= wxFD_FILE_MUST_EXIST; - if (this->HasFlag(wxFLP_CHANGE_DIR)) + if ( m_pickerStyle & wxFLP_CHANGE_DIR ) filedlgstyle |= wxFD_CHANGE_DIR; return filedlgstyle; @@ -182,9 +187,9 @@ public: // overrideable { long dirdlgstyle = wxDD_DEFAULT_STYLE; - if (this->HasFlag(wxDIRP_DIR_MUST_EXIST)) + if ( m_pickerStyle & wxDIRP_DIR_MUST_EXIST ) dirdlgstyle |= wxDD_DIR_MUST_EXIST; - if (this->HasFlag(wxDIRP_CHANGE_DIR)) + if ( m_pickerStyle & wxDIRP_CHANGE_DIR ) dirdlgstyle |= wxDD_CHANGE_DIR; return dirdlgstyle; diff --git a/src/generic/filepickerg.cpp b/src/generic/filepickerg.cpp index f8d7a827c3..1aaf01a420 100644 --- a/src/generic/filepickerg.cpp +++ b/src/generic/filepickerg.cpp @@ -48,10 +48,12 @@ bool wxGenericFileDirButton::Create(wxWindow *parent, const wxString& wildcard, const wxPoint& pos, const wxSize& size, - long WXUNUSED(style), + long style, const wxValidator& validator, const wxString& name) { + m_pickerStyle = style; + // create this button if ( !wxButton::Create(parent, id, label, pos, size, 0, validator, name) ) {