]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/msgdlg.cpp
the wx part knows better whether it has the focus (may be the embedded NSView, not...
[wxWidgets.git] / src / gtk / msgdlg.cpp
index eee220b449bf566d9fcbfeddaa3fdebe03b28eab..d459602f0b015e45e808ed465740d46808024ad6 100644 (file)
@@ -44,10 +44,13 @@ wxMessageDialog::wxMessageDialog(wxWindow *parent,
                                  const wxString& caption,
                                  long style,
                                  const wxPoint& WXUNUSED(pos))
-               : wxMessageDialogWithCustomLabels(GetParentForModalDialog(parent),
-                                                 message,
-                                                 caption,
-                                                 style)
+               : wxMessageDialogBase
+                 (
+                    GetParentForModalDialog(parent, style),
+                    message,
+                    caption,
+                    style
+                 )
 {
 }
 
@@ -76,7 +79,7 @@ void wxMessageDialog::DoSetCustomLabel(wxString& var, const ButtonLabel& label)
     int stockId = label.GetStockId();
     if ( stockId == wxID_NONE )
     {
-        wxMessageDialogWithCustomLabels::DoSetCustomLabel(var, label);
+        wxMessageDialogBase::DoSetCustomLabel(var, label);
         var = wxConvertMnemonicsToGTK(var);
     }
     else // stock label
@@ -212,16 +215,23 @@ void wxMessageDialog::GTKCreateMsgDialog()
     {
         if ( addButtons )
         {
+            // Add the buttons in the correct order which is, according to
+            // http://library.gnome.org/devel/hig-book/stable/windows-alert.html.en
+            // the following one:
+            //
+            // [Help]                  [Alternative] [Cancel] [Affirmative]
+
             gtk_dialog_add_button(dlg, wxGTK_CONV(GetNoLabel()),
                                   GTK_RESPONSE_NO);
-            gtk_dialog_add_button(dlg, wxGTK_CONV(GetYesLabel()),
-                                  GTK_RESPONSE_YES);
 
             if ( m_dialogStyle & wxCANCEL )
             {
                 gtk_dialog_add_button(dlg, wxGTK_CONV(GetCancelLabel()),
                                       GTK_RESPONSE_CANCEL);
             }
+
+            gtk_dialog_add_button(dlg, wxGTK_CONV(GetYesLabel()),
+                                  GTK_RESPONSE_YES);
         }
 
         // it'd probably be harmless to call gtk_dialog_set_default_response()