X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/24689293df6521eeb31a51f2b848cc033f02cefb..7a0a6cc8f61cb53ce1c76897489e1e363d1a1fa5:/src/gtk/msgdlg.cpp?ds=inline diff --git a/src/gtk/msgdlg.cpp b/src/gtk/msgdlg.cpp index d7b27a4777..0b2b5f9bb2 100644 --- a/src/gtk/msgdlg.cpp +++ b/src/gtk/msgdlg.cpp @@ -86,7 +86,9 @@ void wxMessageDialog::GTKCreateMsgDialog() #if wxUSE_LIBHILDON const char *stockIcon; - if ( m_dialogStyle & wxICON_ERROR ) + 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"; @@ -127,6 +129,11 @@ 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) @@ -137,7 +144,8 @@ void wxMessageDialog::GTKCreateMsgDialog() type = GTK_MESSAGE_QUESTION; else { - // GTK+ doesn't have a "typeless" msg box, so try to auto detect... + // if no style is explicitly specified, detect the suitable icon + // ourselves (this can be disabled by using wxICON_NONE) type = m_dialogStyle & wxYES ? GTK_MESSAGE_QUESTION : GTK_MESSAGE_INFO; } @@ -182,6 +190,11 @@ void wxMessageDialog::GTKCreateMsgDialog() GtkDialog * const dlg = GTK_DIALOG(m_widget); + if ( m_dialogStyle & wxSTAY_ON_TOP ) + { + gtk_window_set_keep_above(GTK_WINDOW(m_widget), TRUE); + } + // we need to add buttons manually if we use custom labels or always for // Yes/No/Cancel dialog as GTK+ doesn't support it natively and when using // Hildon we add all the buttons manually as it doesn't support too many of @@ -247,7 +260,7 @@ int wxMessageDialog::ShowModal() { GTKCreateMsgDialog(); wxCHECK_MSG( m_widget, wxID_CANCEL, - _T("failed to create GtkMessageDialog") ); + wxT("failed to create GtkMessageDialog") ); } // This should be necessary, but otherwise the @@ -263,7 +276,7 @@ int wxMessageDialog::ShowModal() switch (result) { default: - wxFAIL_MSG(_T("unexpected GtkMessageDialog return code")); + wxFAIL_MSG(wxT("unexpected GtkMessageDialog return code")); // fall through case GTK_RESPONSE_CANCEL: