X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5b05d3ee52cb31caa856c9982eaeb2fcf5b5f78e..9c1d2aa29cdfa5da6a04186d7fb2949fa6ef3861:/src/generic/aboutdlgg.cpp diff --git a/src/generic/aboutdlgg.cpp b/src/generic/aboutdlgg.cpp index c6f1845ca7..70f1582622 100644 --- a/src/generic/aboutdlgg.cpp +++ b/src/generic/aboutdlgg.cpp @@ -100,9 +100,11 @@ wxString wxAboutDialogInfo::GetCopyrightToDisplay() const { wxString ret = m_copyright; +#if wxUSE_UNICODE const wxString copyrightSign = wxString::FromUTF8("\xc2\xa9"); ret.Replace("(c)", copyrightSign); ret.Replace("(C)", copyrightSign); +#endif // wxUSE_UNICODE return ret; } @@ -111,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; @@ -183,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; } @@ -235,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