anjuta r3798 - in trunk: . libanjuta src



Author: naba
Date: Wed Mar 26 21:33:33 2008
New Revision: 3798
URL: http://svn.gnome.org/viewvc/anjuta?rev=3798&view=rev

Log:
	* libanjuta/resources.c (anjuta_res_url_show): Use
	anjuta_prog_is_installed() instead of g_find_program_in_path() and
	fixed formatting.

	* libanjuta/anjuta-utils.c (anjuta_util_help_display):
	* libanjuta/anjuta-utils.h:
	* src/action-callbacks.c (help_activate),
	(on_help_manual_activate), (on_help_tutorial_activate),
	(on_help_advanced_tutorial_activate), (on_help_faqs_activate):
	Get rid of gnome_help_display_with_doc_id()


Modified:
   trunk/ChangeLog
   trunk/libanjuta/anjuta-utils.c
   trunk/libanjuta/anjuta-utils.h
   trunk/libanjuta/resources.c
   trunk/src/action-callbacks.c

Modified: trunk/libanjuta/anjuta-utils.c
==============================================================================
--- trunk/libanjuta/anjuta-utils.c	(original)
+++ trunk/libanjuta/anjuta-utils.c	Wed Mar 26 21:33:33 2008
@@ -1319,3 +1319,62 @@
 }
 
 #endif /* HAVE_LIBUTIL */
+
+void
+anjuta_util_help_display (GtkWindow   *parent,
+						  const gchar *doc_id,
+						  const gchar *file_name)
+{
+
+	GError *error = NULL;
+	GdkScreen *screen;
+	gchar *command;
+	const gchar *lang;
+	const gchar * const *langs;
+	gchar *uri = NULL;
+	gint i;
+	
+	g_return_if_fail (file_name != NULL);
+
+	langs = g_get_language_names ();
+	for (i = 0; langs[i]; i++)
+	{
+		lang = langs[i];
+		if (strchr (lang, '.'))
+			continue;
+
+		uri = g_build_filename (DATADIR, "/gnome/help/", doc_id,
+							    lang, file_name, NULL);
+
+		if (g_file_test (uri, G_FILE_TEST_EXISTS)) {
+			break;
+		}
+		g_free (uri);
+		uri = NULL;
+	}
+
+	if (uri == NULL)
+	{
+		anjuta_util_dialog_error (parent, _("Unable to display help. Please make sure Anjuta "
+								  "documentation package is install. It can be downloaded "
+								  "from http://anjuta.org";));
+
+		return;
+	}
+	
+	command = g_strconcat ("gnome-help ghelp://", uri,  NULL);
+	g_free (uri);
+
+	screen = gtk_widget_get_screen (GTK_WIDGET (parent));
+	gdk_spawn_command_line_on_screen (screen, command, &error);
+	if (error != NULL)
+	{
+		g_warning ("Error executing help application: %s",
+				   error->message);
+		g_error_free (error);
+		
+		return;
+	}
+	g_free (command);
+}
+

Modified: trunk/libanjuta/anjuta-utils.h
==============================================================================
--- trunk/libanjuta/anjuta-utils.h	(original)
+++ trunk/libanjuta/anjuta-utils.h	Wed Mar 26 21:33:33 2008
@@ -112,6 +112,10 @@
 
 gchar* anjuta_util_get_uri_mime_type (const gchar *uri);
 
+void anjuta_util_help_display (GtkWindow   *parent,
+							   const gchar *doc_id,
+							   const gchar *file_name);
+
 /* Temporarily copied here */
 
 #define ANJUTA_TYPE_BEGIN(class_name, prefix, parent_type) \

Modified: trunk/libanjuta/resources.c
==============================================================================
--- trunk/libanjuta/resources.c	(original)
+++ trunk/libanjuta/resources.c	Wed Mar 26 21:33:33 2008
@@ -36,6 +36,7 @@
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
+#include <libanjuta/anjuta-utils.h>
 #include <libanjuta/resources.h>
 
 GtkWidget *
@@ -278,24 +279,18 @@
 	}
 }
 
-void anjuta_res_url_show (const gchar *url)
+void
+anjuta_res_url_show (const gchar *url)
 {
 	gchar *open[3];
 
-	if (g_find_program_in_path ("xdg-open"))
-	{
-		open[0] = "xdg-open";
-	}
-	else return;
+	if (!anjuta_util_prog_is_installed ("xdg-open", TRUE))
+		return;
 	
+	open[0] = "xdg-open";
 	open[1] = (gchar *)url;
 	open[2] = NULL;
 					
-	gdk_spawn_on_screen (gdk_screen_get_default (),
-			     NULL,
-			     open,
-			     NULL,
-			     G_SPAWN_SEARCH_PATH,
-			     NULL,
-			     NULL, NULL, NULL);
+	gdk_spawn_on_screen (gdk_screen_get_default (), NULL, open, NULL,
+						 G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL);
 }

Modified: trunk/src/action-callbacks.c
==============================================================================
--- trunk/src/action-callbacks.c	(original)
+++ trunk/src/action-callbacks.c	Wed Mar 26 21:33:33 2008
@@ -102,36 +102,33 @@
 }
 
 static void
-help_activate (const gchar *doc_id, const gchar *item)
+help_activate (GtkWindow *parent, const gchar *doc_id, const gchar *item)
 {
-	if (gnome_help_display_with_doc_id (NULL, doc_id, item, NULL, NULL) == FALSE)
-	{
-	  anjuta_util_dialog_error (NULL, _("Unable to display help. Please make sure Anjuta documentation package is install. It can be downloaded from http://anjuta.org";));	
-	}
+	anjuta_util_help_display (parent, doc_id, item);
 }
 
 void
 on_help_manual_activate (GtkAction *action, gpointer data)
 {
-	help_activate ("anjuta-manual", "anjuta-manual.xml");
+	help_activate (data, "anjuta-manual", "anjuta-manual.xml");
 }
 
 void
 on_help_tutorial_activate (GtkAction *action, gpointer data)
 {
-	help_activate ("anjuta-tutorial", "anjuta-tutorial.xml");
+	help_activate (data, "anjuta-tutorial", "anjuta-tutorial.xml");
 }
 
 void
 on_help_advanced_tutorial_activate (GtkAction *action, gpointer data)
 {
-	help_activate ("anjuta-advanced-tutorial", "anjuta-advanced-tutorial.xml");
+	help_activate (data, "anjuta-advanced-tutorial", "anjuta-advanced-tutorial.xml");
 }
 
 void
 on_help_faqs_activate (GtkAction *action, gpointer data)
 {
-	help_activate ("anjuta-faqs", "anjuta-faqs.xml");
+	help_activate (data, "anjuta-faqs", "anjuta-faqs.xml");
 }
 
 void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]