]> git.saurik.com Git - wxWidgets.git/commitdiff
we need to set URL hook for the link to appear as a link in GtkAboutDialog
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 8 Oct 2006 14:31:52 +0000 (14:31 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 8 Oct 2006 14:31:52 +0000 (14:31 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/aboutdlg.cpp

index 7c0c374076361b013a02e9b517c56dd2e8c66440..5f83dc37fd9d28ac69eb4ba1326756c0d90a93ac 100644 (file)
@@ -22,6 +22,7 @@
 #if wxUSE_ABOUTDLG && defined(__WXGTK26__)
 
 #ifndef WX_PRECOMP
 #if wxUSE_ABOUTDLG && defined(__WXGTK26__)
 
 #ifndef WX_PRECOMP
+    #include "wx/utils.h"       // for wxLaunchDefaultBrowser()
 #endif //WX_PRECOMP
 
 #include "wx/aboutdlg.h"
 #endif //WX_PRECOMP
 
 #include "wx/aboutdlg.h"
@@ -81,6 +82,14 @@ private:
 // implementation
 // ============================================================================
 
 // implementation
 // ============================================================================
 
+extern "C" void
+wxGtkAboutDialogOnLink(GtkAboutDialog * WXUNUSED(about),
+                       const gchar *link,
+                       gpointer WXUNUSED(data))
+{
+    wxLaunchDefaultBrowser(wxGTK_CONV_BACK(link));
+}
+
 void wxAboutBox(const wxAboutDialogInfo& info)
 {
     if ( !gtk_check_version(2,6,0) )
 void wxAboutBox(const wxAboutDialogInfo& info)
 {
     if ( !gtk_check_version(2,6,0) )
@@ -102,6 +111,11 @@ void wxAboutBox(const wxAboutDialogInfo& info)
 
         if ( info.HasWebSite() )
         {
 
         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
             (
             gtk_about_dialog_set_website(dlg, GtkStr(info.GetWebSiteURL()));
             gtk_about_dialog_set_website_label
             (