]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/msgdlg.cpp
Remove assert checking for wxMOD_CONTROL from wxUIActionSimulator.
[wxWidgets.git] / src / gtk / msgdlg.cpp
index ca2fa78303076b01beb1346bebb78276f4496bff..5275bac3feaaaf2ca5cae270c7230c2bf8cb9c00 100644 (file)
@@ -25,6 +25,7 @@
 #endif
 
 #include "wx/gtk/private.h"
+#include "wx/gtk/private/messagetype.h"
 #include "wx/gtk/private/mnemonics.h"
 #include <gtk/gtk.h>
 
@@ -43,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
+                 )
 {
 }
 
@@ -75,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
@@ -89,19 +93,26 @@ void wxMessageDialog::GTKCreateMsgDialog()
     GtkWindow * const parent = m_parent ? GTK_WINDOW(m_parent->m_widget) : NULL;
 
 #if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
-    const char *stockIcon;
-    if ( m_dialogStyle & wxICON_NONE )
-        stockIcon = "";
-    else if ( m_dialogStyle & wxICON_ERROR )
-        stockIcon = "qgn_note_gene_syserror";
-    else if ( m_dialogStyle & wxICON_EXCLAMATION )
-        stockIcon = "qgn_note_gene_syswarning";
-    else if ( m_dialogStyle & wxICON_INFORMATION )
-        stockIcon = "qgn_note_info";
-    else if ( m_dialogStyle & wxICON_QUESTION )
-        stockIcon = "qgn_note_confirm";
-    else
-        stockIcon = "";
+    const char *stockIcon = "";
+
+    switch ( GetEffectiveIcon() )
+    {
+        case wxICON_ERROR:
+            stockIcon = "qgn_note_gene_syserror";
+            break;
+
+        case wxICON_WARNING:
+            stockIcon = "qgn_note_gene_syswarning";
+            break;
+
+        case wxICON_QUESTION:
+            stockIcon = "qgn_note_confirm";
+            break;
+
+        case wxICON_INFORMATION:
+            stockIcon = "qgn_note_info";
+            break;
+    }
 
     // there is no generic note creation function in public API so we have no
     // choice but to use g_object_new() directly
@@ -137,20 +148,7 @@ void wxMessageDialog::GTKCreateMsgDialog()
         }
     }
 
-#ifdef __WXGTK210__
-    if ( gtk_check_version(2, 10, 0) == NULL && (m_dialogStyle & wxICON_NONE))
-        type = GTK_MESSAGE_OTHER;
-    else
-#endif // __WXGTK210__
-    if (m_dialogStyle & wxICON_EXCLAMATION)
-        type = GTK_MESSAGE_WARNING;
-    else if (m_dialogStyle & wxICON_ERROR)
-        type = GTK_MESSAGE_ERROR;
-    else if (m_dialogStyle & wxICON_INFORMATION)
-        type = GTK_MESSAGE_INFO;
-    else if (m_dialogStyle & wxICON_QUESTION)
-        type = GTK_MESSAGE_QUESTION;
-    else
+    if ( !wxGTKImpl::ConvertMessageTypeFromWX(GetEffectiveIcon(), &type) )
     {
         // if no style is explicitly specified, detect the suitable icon
         // ourselves (this can be disabled by using wxICON_NONE)