- GtkAboutDialog * const dlg = GTK_ABOUT_DIALOG(gtk_about_dialog_new());
- gtk_about_dialog_set_name(dlg, GtkStr(info.GetName()));
- if ( info.HasVersion() )
- gtk_about_dialog_set_version(dlg, GtkStr(info.GetVersion()));
- if ( info.HasCopyright() )
- gtk_about_dialog_set_copyright(dlg, GtkStr(info.GetCopyright()));
- if ( info.HasDescription() )
- gtk_about_dialog_set_comments(dlg, GtkStr(info.GetDescription()));
- if ( info.HasLicence() )
- gtk_about_dialog_set_license(dlg, GtkStr(info.GetLicence()));
-
- wxIcon icon = info.GetIcon();
- if ( icon.Ok() )
- gtk_about_dialog_set_logo(dlg, info.GetIcon().GetPixbuf());
-
- if ( info.HasWebSite() )
- {
- // NB: must be called before gtk_about_dialog_set_website() as
- // otherwise it has no effect (although GTK+ docs don't mention
- // this...)
- gtk_about_dialog_set_url_hook(wxGtkAboutDialogOnLink, NULL, NULL);
-
- gtk_about_dialog_set_website(dlg, GtkStr(info.GetWebSiteURL()));
- gtk_about_dialog_set_website_label
- (
- dlg,
- GtkStr(info.GetWebSiteDescription())
- );
- }
-
- if ( info.HasDevelopers() )
- gtk_about_dialog_set_authors(dlg, GtkArray(info.GetDevelopers()));
- if ( info.HasDocWriters() )
- gtk_about_dialog_set_documenters(dlg, GtkArray(info.GetDocWriters()));
- if ( info.HasArtists() )
- gtk_about_dialog_set_artists(dlg, GtkArray(info.GetArtists()));
+#ifdef __WXGTK3__
+ g_signal_connect(dlg, "activate-link", G_CALLBACK(activate_link), dlg);
+#else
+ // NB: must be called before gtk_about_dialog_set_website() as
+ // otherwise it has no effect (although GTK+ docs don't mention
+ // this...)
+ gtk_about_dialog_set_url_hook(wxGtkAboutDialogOnLink, NULL, NULL);
+#endif
+
+ gtk_about_dialog_set_website(dlg, wxGTK_CONV_SYS(info.GetWebSiteURL()));
+ gtk_about_dialog_set_website_label
+ (
+ dlg,
+ wxGTK_CONV_SYS(info.GetWebSiteDescription())
+ );
+ }
+ else
+ {
+ gtk_about_dialog_set_website(dlg, NULL);
+ gtk_about_dialog_set_website_label(dlg, NULL);
+#ifdef __WXGTK3__
+ g_signal_connect(dlg, "activate-link", G_CALLBACK(activate_link), NULL);
+#else
+ gtk_about_dialog_set_url_hook(NULL, NULL, NULL);
+#endif
+ }