Author: jhaitsma
Date: Sat Jan 26 20:06:02 2008
New Revision: 434
URL: http://svn.gnome.org/viewvc/cheese?rev=434&view=rev

Log:
Don't use gnome-vfs for opening links in about dialog


Modified:
   trunk/ChangeLog
   trunk/src/cheese-window.c

Modified: trunk/src/cheese-window.c
==============================================================================
--- trunk/src/cheese-window.c   (original)
+++ trunk/src/cheese-window.c   Sat Jan 26 20:06:02 2008
@@ -118,23 +118,48 @@
 
 } CheeseWindow;
 
+static void 
+open_url(const char *url, GdkScreen *screen)
+{
+  GError *error = NULL;
+  gboolean ret;
+  char *cmdline;
+  GtkWidget *error_dialog;
+
+  cmdline = g_strconcat ("xdg-open ", url, NULL);
+  ret = gdk_spawn_command_line_on_screen (screen, cmdline, &error);
+  g_free (cmdline);
+
+  if (ret == FALSE) {
+    error_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, 
+                                          GTK_MESSAGE_INFO, GTK_BUTTONS_OK, 
+                                          _("Failed to show url %s"), 
error->message); 
+                                          gtk_dialog_run (GTK_DIALOG 
(error_dialog));
+    g_error_free(error);
+  }
+}
 
 /* Make url in about dialog clickable */
 static void
-cheese_about_dialog_handle_url (GtkAboutDialog *about, const char *link, 
gpointer data)
+cheese_about_dialog_handle_url (GtkAboutDialog *dialog, const char *url, 
gpointer data)
 {
-  gnome_vfs_url_show (link);
+  GdkScreen *gscreen;
+  
+  gscreen = gtk_window_get_screen (GTK_WINDOW (dialog));
+  open_url (url, gscreen);
 }
 
 /* Make email in about dialog clickable */
 static void
-cheese_about_dialog_handle_email (GtkAboutDialog *about, const char *link, 
gpointer data)
+cheese_about_dialog_handle_email (GtkAboutDialog *dialog, const char *email, 
gpointer data)
 {
-  char *address;
+  char *url;
+  GdkScreen *gscreen;
 
-  address = g_strdup_printf ("mailto:%s";, link);
-  gnome_vfs_url_show (address);
-  g_free (address);
+  gscreen = gtk_window_get_screen (GTK_WINDOW (dialog));
+  url = g_strconcat ("mailto:";, email, NULL);
+  open_url (url, gscreen);
+  g_free (url);
 }
 
 static char *
_______________________________________________
SVN-commits-list mailing list (read only)
http://mail.gnome.org/mailman/listinfo/svn-commits-list

Want to limit the commits to a few modules? Go to above URL, log in to edit 
your options and select the modules ('topics') you want.
Module maintainer? It is possible to set the reply-to to your development 
mailing list. Email [EMAIL PROTECTED] if interested.

Reply via email to