Author: jhaitsma Date: Sat Feb 16 23:23:47 2008 New Revision: 100 URL: http://svn.gnome.org/viewvc/netspeed?rev=100&view=rev
Log: 2008-02-17 Jaap Haitsma <[EMAIL PROTECTED]> * configure.in: * src/netspeed.c: (open_uri), (display_help), (handle_links): Remove dependency on libgnomeui Modified: trunk/ChangeLog trunk/configure.in trunk/src/netspeed.c Modified: trunk/configure.in ============================================================================== --- trunk/configure.in (original) +++ trunk/configure.in Sat Feb 16 23:23:47 2008 @@ -20,7 +20,7 @@ AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", GETTEXT_PACKAGE) -PKG_CHECK_MODULES(NETSPEED, libgnomeui-2.0 >= 2.8.0 libpanelapplet-2.0 libgtop-2.0 >= 2.14.2) +PKG_CHECK_MODULES(NETSPEED, libpanelapplet-2.0 libgtop-2.0 >= 2.14.2) AC_SUBST(NETSPEED_APPLET_CFLAGS) AC_SUBST(NETSPEED_APPLET_LIBS) Modified: trunk/src/netspeed.c ============================================================================== --- trunk/src/netspeed.c (original) +++ trunk/src/netspeed.c Sat Feb 16 23:23:47 2008 @@ -21,7 +21,7 @@ #include "config.h" #endif -#include <gnome.h> +#include <gtk/gtk.h> #include <panel-applet.h> #include <panel-applet-gconf.h> #include <gconf/gconf-client.h> @@ -116,6 +116,22 @@ " pixtype=\"stock\" pixname=\"gtk-about\"/>\n" "</popup>\n"; + +static gboolean +open_uri (GtkWidget *parent, const char *url, GError **error) +{ + gboolean ret; + char *cmdline; + GdkScreen *screen; + + screen = gtk_widget_get_screen (parent); + cmdline = g_strconcat ("xdg-open ", url, NULL); + ret = gdk_spawn_command_line_on_screen (screen, cmdline, error); + g_free (cmdline); + + return ret; +} + /* Adds a Pango markup "size" to a bytestring */ static void @@ -735,11 +751,17 @@ display_help (GtkWidget *dialog, const gchar *section) { GError *error = NULL; + gboolean ret; + char *uri; - gnome_help_display_on_screen (PACKAGE, section, - gtk_widget_get_screen (GTK_WIDGET (dialog)), - &error); - if (error) { + if (section) + uri = g_strdup_printf ("ghelp:netspeed_applet?%s", section); + else + uri = g_strdup ("ghelp:netspeed_applet"); + + ret = open_uri (dialog, uri, &error); + g_free (uri); + if (ret == FALSE) { GtkWidget *error_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, @@ -750,7 +772,7 @@ G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_resizable (GTK_WINDOW (error_dialog), FALSE); - gtk_window_set_screen (GTK_WINDOW (error_dialog), gtk_widget_get_screen (GTK_WIDGET (dialog))); + gtk_window_set_screen (GTK_WINDOW (error_dialog), gtk_widget_get_screen (dialog)); gtk_widget_show (error_dialog); g_error_free (error); } @@ -774,10 +796,13 @@ handle_links (GtkAboutDialog *about, const gchar *link, gpointer data) { gchar *new_link; + GError *error = NULL; + gboolean ret; + GtkWidget *dialog; switch (GPOINTER_TO_INT (data)){ case LINK_TYPE_EMAIL: - new_link = g_strdup_printf ("mailto: %s", link); + new_link = g_strdup_printf ("mailto:%s", link); break; case LINK_TYPE_URL: new_link = g_strdup (link); @@ -786,8 +811,17 @@ g_assert_not_reached (); } - gnome_url_show(new_link, NULL); + ret = open_uri (GTK_WIDGET (about), new_link, &error); + if (ret == FALSE) { + dialog = gtk_message_dialog_new (GTK_WINDOW (dialog), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, + _("Failed to show:\n%s"), new_link); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + g_error_free(error); + } g_free (new_link); } _______________________________________________ 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.