]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/msgdlg.cpp
Refactor wxTranslationsLoader API.
[wxWidgets.git] / src / gtk / msgdlg.cpp
index ca2fa78303076b01beb1346bebb78276f4496bff..dc24565e391852c931f817fb7ccb43a1a40c77e7 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)
+               : wxMessageDialogWithCustomLabels
+                 (
+                    GetParentForModalDialog(parent, style),
+                    message,
+                    caption,
+                    style
+                 )
 {
 }
 
@@ -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)