X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/953aebc2d5174d8e6243645ee2cb5aef1174808d..46b38b02ce1f3a4f09a88d798e3a82fcc4271a32:/src/generic/aboutdlgg.cpp diff --git a/src/generic/aboutdlgg.cpp b/src/generic/aboutdlgg.cpp index b7a9fcf977..70f1582622 100644 --- a/src/generic/aboutdlgg.cpp +++ b/src/generic/aboutdlgg.cpp @@ -100,8 +100,11 @@ wxString wxAboutDialogInfo::GetCopyrightToDisplay() const { wxString ret = m_copyright; - ret.Replace("(c)", "\u00A9"); - ret.Replace("(C)", "\u00A9"); +#if wxUSE_UNICODE + const wxString copyrightSign = wxString::FromUTF8("\xc2\xa9"); + ret.Replace("(c)", copyrightSign); + ret.Replace("(C)", copyrightSign); +#endif // wxUSE_UNICODE return ret; } @@ -110,10 +113,9 @@ wxString wxAboutDialogInfo::GetCopyrightToDisplay() const // wxGenericAboutDialog // ---------------------------------------------------------------------------- -bool wxGenericAboutDialog::Create(const wxAboutDialogInfo& info) +bool wxGenericAboutDialog::Create(const wxAboutDialogInfo& info, wxWindow* parent) { - // this is a modal dialog thus we'll use GetParentForModalDialog: - if ( !wxDialog::Create(GetParentForModalDialog(), wxID_ANY, _("About ") + info.GetName(), + if ( !wxDialog::Create(parent, wxID_ANY, _("About ") + info.GetName(), wxDefaultPosition, wxDefaultSize, wxRESIZE_BORDER|wxDEFAULT_DIALOG_STYLE) ) return false; @@ -182,15 +184,18 @@ bool wxGenericAboutDialog::Create(const wxAboutDialogInfo& info) wxSizer *sizerTop = new wxBoxSizer(wxVERTICAL); sizerTop->Add(sizerIconAndText, wxSizerFlags(1).Expand().Border()); +// Mac typically doesn't use OK buttons just for dismissing dialogs. +#if !defined(__WXMAC__) wxSizer *sizerBtns = CreateButtonSizer(wxOK); if ( sizerBtns ) { sizerTop->Add(sizerBtns, wxSizerFlags().Expand().Border()); } +#endif SetSizerAndFit(sizerTop); - CentreOnScreen(); + CentreOnParent(); return true; } @@ -234,19 +239,24 @@ void wxGenericAboutDialog::AddCollapsiblePane(const wxString& title, // public functions // ---------------------------------------------------------------------------- -void wxGenericAboutBox(const wxAboutDialogInfo& info) +void wxGenericAboutBox(const wxAboutDialogInfo& info, wxWindow* parent) { - wxGenericAboutDialog dlg(info); +#if !defined(__WXGTK__) && !defined(__WXMAC__) + wxGenericAboutDialog dlg(info, parent); dlg.ShowModal(); +#else + wxGenericAboutDialog* dlg = new wxGenericAboutDialog(info, parent); + dlg->Show(); +#endif } // currently wxAboutBox is implemented natively only under these platforms, for // the others we provide a generic fallback here #if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXGTK26__) -void wxAboutBox(const wxAboutDialogInfo& info) +void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* parent) { - wxGenericAboutBox(info); + wxGenericAboutBox(info, parent); } #endif // platforms without native about dialog