From: Vadim Zeitlin Date: Wed, 18 Aug 2010 22:48:15 +0000 (+0000) Subject: Fix Yes/No/Cancel buttons order in wxGTK wxStdDialogButtonSizer. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/2afba7c46ce2fbd13a6aed64e7600343fd01c224 Fix Yes/No/Cancel buttons order in wxGTK wxStdDialogButtonSizer. "Yes" and "No" buttons should be positioned next to each other for consistency with the native message box instead of separating them with the "Cancel" button. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp index ebf81ecc1f..518ccce91f 100644 --- a/src/common/sizer.cpp +++ b/src/common/sizer.cpp @@ -2578,19 +2578,35 @@ void wxStdDialogButtonSizer::Realize() Add((wxWindow*)m_buttonNegative, 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3); } - // according to HIG, in explicit apply windows the order is: - // [ Help Apply Cancel OK ] if (m_buttonApply) - Add((wxWindow*)m_buttonApply, 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3); + { + // according to HIG, in explicit apply windows the order is: + // [ Help Apply Cancel OK ] - if (m_buttonCancel){ - Add((wxWindow*)m_buttonCancel, 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3); - // Cancel or help should be default - // m_buttonCancel->SetDefaultButton(); + Add((wxWindow*)m_buttonApply, + 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3); + + if (m_buttonCancel) + Add((wxWindow*)m_buttonCancel, + 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3); + + if (m_buttonAffirmative) + Add((wxWindow*)m_buttonAffirmative, + 0, wxALIGN_CENTRE | wxLEFT, 6); + } + else + { + // without an Apply button, have the buttons representing + // affirmative and negative close to each other. + + if (m_buttonAffirmative) + Add((wxWindow*)m_buttonAffirmative, + 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3); + + if (m_buttonCancel) + Add((wxWindow*)m_buttonCancel, 0, wxALIGN_CENTRE | wxLEFT, 6); } - if (m_buttonAffirmative) - Add((wxWindow*)m_buttonAffirmative, 0, wxALIGN_CENTRE | wxLEFT, 6); #elif defined(__WXMSW__) // Windows