[Goodies-commits] r5857 - in xfce4-dict/trunk: . lib po

Enrico Troeger enrico at xfce.org
Tue Oct 28 21:20:15 CET 2008


Author: enrico
Date: 2008-10-28 20:20:15 +0000 (Tue, 28 Oct 2008)
New Revision: 5857

Added:
   xfce4-dict/trunk/lib/spell.c
   xfce4-dict/trunk/lib/spell.h
Modified:
   xfce4-dict/trunk/README
   xfce4-dict/trunk/lib/Makefile.am
   xfce4-dict/trunk/lib/common.c
   xfce4-dict/trunk/lib/dictd.c
   xfce4-dict/trunk/lib/libdict.h
   xfce4-dict/trunk/lib/prefs.c
   xfce4-dict/trunk/po/POTFILES.in
   xfce4-dict/trunk/xfce4-dict.1
Log:
Rename aspell.[c|h] to spell.[c|h].
Add support for 'enchant' as spell check program.

Modified: xfce4-dict/trunk/README
===================================================================
--- xfce4-dict/trunk/README	2008-10-28 20:20:10 UTC (rev 5856)
+++ xfce4-dict/trunk/README	2008-10-28 20:20:15 UTC (rev 5857)
@@ -5,8 +5,8 @@
 This program allows you to search different kinds of dictionary services
 for words or phrases and shows you the result.
 Currently you can query a "Dict" server(RFC 2229), any online dictionary
-service by opening a web browser or search for words using the
-aspell/ispell program.
+service by opening a web browser or search for words using a spell check
+program like aspell, ispell or enchant.
 
 xfce4-dict contains a stand-alone application called "xfce4-dict" and a
 panel plugin for the Xfce panel.
@@ -100,11 +100,12 @@
 using "Preferred Applications" in the Xfce settings manager.
 
 
-Aspell/ispell based search
+Spell checking based search
 --------------------------
 
-It is also possible to verify the spelling of word using aspell (or its
-predecessor ispell). To get this working you need to have the aspell or
+It is also possible to verify the spelling of word using spell checking
+programs like enchant or aspell (or its predecessor ispell).
+To get this working you need to have the enchant, aspell or
 ispell binary in your binary search path and at least one dictionary
-working. If you have multiple aspell dictionaries installed, you can
+working. If you have multiple dictionaries installed, you can
 select the one to use in the preferences dialog.

Modified: xfce4-dict/trunk/lib/Makefile.am
===================================================================
--- xfce4-dict/trunk/lib/Makefile.am	2008-10-28 20:20:10 UTC (rev 5856)
+++ xfce4-dict/trunk/lib/Makefile.am	2008-10-28 20:20:15 UTC (rev 5857)
@@ -4,21 +4,21 @@
 	libdict.la
 
 libdict_la_SOURCES =							\
-	libdict.h									\
-	aspell.c									\
-	aspell.h									\
 	common.c									\
 	common.h									\
 	dictd.c										\
 	dictd.h										\
 	gui.c										\
 	gui.h										\
+	libdict.h									\
+	prefs.c										\
+	prefs.h										\
 	sexy-icon-entry.c							\
 	sexy-icon-entry.h							\
+	spell.c										\
+	spell.h										\
 	wraplabel.c									\
-	wraplabel.h									\
-	prefs.c										\
-	prefs.h
+	wraplabel.h
 
 libdict_la_CFLAGS =								\
 	-I$(top_srcdir)								\

Modified: xfce4-dict/trunk/lib/common.c
===================================================================
--- xfce4-dict/trunk/lib/common.c	2008-10-28 20:20:10 UTC (rev 5856)
+++ xfce4-dict/trunk/lib/common.c	2008-10-28 20:20:15 UTC (rev 5857)
@@ -20,7 +20,7 @@
 
 /* All files in lib/ form a collection of common used code by the xfce4-dict stand-alone
  * application and the xfce4-dict-plugin.
- * This file contains very common code and has some glue to combine the aspell query code,
+ * This file contains very common code and has some glue to combine the spell query code,
  * the dictd server query code and the web dictionary code together. */
 
 
@@ -38,7 +38,7 @@
 
 
 #include "common.h"
-#include "aspell.h"
+#include "spell.h"
 #include "dictd.h"
 #include "gui.h"
 
@@ -234,7 +234,7 @@
 		}
 		case DICTMODE_SPELL:
 		{
-			dict_aspell_start_query(dd, dd->searched_word);
+			dict_spell_start_query(dd, dd->searched_word);
 			break;
 		}
 		default:
@@ -308,6 +308,22 @@
 }
 
 
+static gchar *get_spell_program(void)
+{
+	gchar *path;
+
+	path = g_find_program_in_path("enchant");
+	if (path != NULL)
+		return path;
+
+	path = g_find_program_in_path("aspell");
+	if (path != NULL)
+		return path;
+
+	return g_strdup("");
+}
+
+
 void dict_read_rc_file(DictData *dd)
 {
 	XfceRc *rc;
@@ -316,11 +332,12 @@
 	gint port = 2628;
 	gint panel_entry_size = 150;
 	gboolean show_panel_entry = FALSE;
+	gchar *spell_bin_default = get_spell_program();
 	const gchar *server = "dict.org";
 	const gchar *dict = "*";
 	const gchar *weburl = NULL;
-	const gchar *spell_bin = "aspell";
-	const gchar *spell_dictionary = "en";
+	const gchar *spell_bin = NULL;
+	const gchar *spell_dictionary = "en"; /// TODO find by LANG env
 	const gchar *geo = "-1;0;0;0;0;";
 	const gchar *link_color_str = "#0000ff";
 	const gchar *phon_color_str = "#006300";
@@ -335,7 +352,7 @@
 		port = xfce_rc_read_int_entry(rc, "port", port);
 		server = xfce_rc_read_entry(rc, "server", server);
 		dict = xfce_rc_read_entry(rc, "dict", dict);
-		spell_bin = xfce_rc_read_entry(rc, "spell_bin", spell_bin);
+		spell_bin = xfce_rc_read_entry(rc, "spell_bin", spell_bin_default);
 
 		link_color_str = xfce_rc_read_entry(rc, "link_color", link_color_str);
 		phon_color_str = xfce_rc_read_entry(rc, "phonetic_color", phon_color_str);
@@ -356,8 +373,14 @@
 	dd->port = port;
 	dd->server = g_strdup(server);
 	dd->dictionary = g_strdup(dict);
-	dd->spell_bin = g_strdup(spell_bin);
 	dd->spell_dictionary = g_strdup(spell_dictionary);
+	if (spell_bin != NULL)
+	{
+		dd->spell_bin = g_strdup(spell_bin);
+		g_free(spell_bin_default);
+	}
+	else
+		dd->spell_bin = spell_bin_default;
 
 	dd->link_color = g_new0(GdkColor, 1);
 	gdk_color_parse(link_color_str, dd->link_color);

Modified: xfce4-dict/trunk/lib/dictd.c
===================================================================
--- xfce4-dict/trunk/lib/dictd.c	2008-10-28 20:20:10 UTC (rev 5856)
+++ xfce4-dict/trunk/lib/dictd.c	2008-10-28 20:20:15 UTC (rev 5857)
@@ -48,7 +48,7 @@
 #include "common.h"
 #include "dictd.h"
 #include "gui.h"
-#include "aspell.h"
+#include "spell.h"
 #include "prefs.h"
 
 
@@ -381,7 +381,7 @@
 		g_free(dd->query_buffer);
 
 		/* if we had no luck searching a word, maybe we have a typo so try searching with
-		 * aspell and offer a Web search*/
+		 * spell check and offer a Web search*/
 		if (NZV(dd->web_url))
 		{
 			gchar *text = g_strdup_printf(
@@ -397,7 +397,7 @@
 		if (NZV(dd->spell_bin))
 		{
 			gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
-			dict_aspell_start_query(dd, dd->searched_word);
+			dict_spell_start_query(dd, dd->searched_word);
 		}
 
 		return FALSE;

Modified: xfce4-dict/trunk/lib/libdict.h
===================================================================
--- xfce4-dict/trunk/lib/libdict.h	2008-10-28 20:20:10 UTC (rev 5856)
+++ xfce4-dict/trunk/lib/libdict.h	2008-10-28 20:20:15 UTC (rev 5857)
@@ -22,7 +22,7 @@
 #define LIBDICT_H 1
 
 #include "common.h"
-#include "aspell.h"
+#include "spell.h"
 #include "dictd.h"
 #include "prefs.h"
 #include "gui.h"

Modified: xfce4-dict/trunk/lib/prefs.c
===================================================================
--- xfce4-dict/trunk/lib/prefs.c	2008-10-28 20:20:10 UTC (rev 5856)
+++ xfce4-dict/trunk/lib/prefs.c	2008-10-28 20:20:15 UTC (rev 5857)
@@ -32,6 +32,7 @@
 #include "common.h"
 #include "prefs.h"
 #include "dictd.h"
+#include "spell.h"
 #include "wraplabel.h"
 
 
@@ -46,7 +47,7 @@
 	NOTEBOOK_PAGE_GENERAL = 0,
 	NOTEBOOK_PAGE_DICTD,
 	NOTEBOOK_PAGE_WEB,
-	NOTEBOOK_PAGE_ASPELL
+	NOTEBOOK_PAGE_SPELL
 };
 
 static const web_dict_t web_dicts[] =
@@ -87,39 +88,6 @@
 }
 
 
-static void get_spell_dictionaries(GtkWidget *spell_combo, DictData *dd)
-{
-	if (NZV(dd->spell_bin))
-	{
-		gchar *tmp = NULL, *cmd, *locale_cmd;
-
-		cmd = g_strconcat(dd->spell_bin, " dump dicts", NULL);
-		locale_cmd = g_locale_from_utf8(cmd, -1, NULL, NULL, NULL);
-		if (locale_cmd == NULL)
-			locale_cmd = g_strdup(cmd);
-		g_spawn_command_line_sync(locale_cmd, &tmp, NULL, NULL, NULL);
-		if (NZV(tmp))
-		{
-			gchar **list = g_strsplit_set(tmp, "\n\r", -1);
-			gchar *item;
-			guint i, len = g_strv_length(list);
-			for (i = 0; i < len; i++)
-			{
-				item = g_strstrip(list[i]);
-				gtk_combo_box_append_text(GTK_COMBO_BOX(spell_combo), item);
-				if (strcmp(dd->spell_dictionary, item) == 0)
-					gtk_combo_box_set_active(GTK_COMBO_BOX(spell_combo), i);
-			}
-			g_strfreev(list);
-		}
-
-		g_free(cmd);
-		g_free(locale_cmd);
-		g_free(tmp);
-	}
-}
-
-
 void dict_prefs_dialog_response(GtkWidget *dlg, gint response, DictData *dd)
 {
 	gchar *dictionary, *search_url;
@@ -592,9 +560,9 @@
 	}
 
 	/*
-	 * Page: ASPELL
+	 * Page: SPELL
 	 */
-#define PAGE_ASPELL /* only for navigation in Geany's symbol list ;-) */
+#define PAGE_SPELL /* only for navigation in Geany's symbol list ;-) */
 	{
 		GtkWidget *table, *spell_entry, *spell_combo;
 
@@ -604,9 +572,9 @@
 		gtk_container_set_border_width(GTK_CONTAINER(inner_vbox), 5);
 		gtk_widget_show(inner_vbox);
 		gtk_notebook_insert_page(GTK_NOTEBOOK(notebook),
-			notebook_vbox, gtk_label_new(_("Spell Check")), NOTEBOOK_PAGE_ASPELL);
+			notebook_vbox, gtk_label_new(_("Spell Check")), NOTEBOOK_PAGE_SPELL);
 
-		label1 = gtk_label_new_with_mnemonic(_("Aspell Program:"));
+		label1 = gtk_label_new_with_mnemonic(_("Spell Check Program:"));
 		gtk_widget_show(label1);
 
 		spell_entry = gtk_entry_new();
@@ -621,7 +589,7 @@
 		gtk_widget_show(label2);
 
 		spell_combo = gtk_combo_box_new_text();
-		get_spell_dictionaries(spell_combo, dd);
+		dict_spell_get_dictionaries(dd, spell_combo);
 		gtk_widget_show(spell_combo);
 
 		g_object_set_data(G_OBJECT(dialog), "spell_combo", spell_combo);

Added: xfce4-dict/trunk/lib/spell.c
===================================================================
--- xfce4-dict/trunk/lib/spell.c	                        (rev 0)
+++ xfce4-dict/trunk/lib/spell.c	2008-10-28 20:20:15 UTC (rev 5857)
@@ -0,0 +1,345 @@
+/*  $Id$
+ *
+ *  Copyright 2006-2008 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+/* Code to execute the aspell or enchant (or ispell or anything command line compatible)
+ * binary with a given search term and reads it output. */
+
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <string.h>
+
+#include <gtk/gtk.h>
+
+#include <libxfcegui4/libxfcegui4.h>
+
+#include "common.h"
+#include "spell.h"
+#include "gui.h"
+
+
+typedef struct
+{
+	DictData *dd;
+	gchar *word;
+} iodata;
+
+
+static GIOChannel *set_up_io_channel(gint fd, GIOCondition cond, GIOFunc func, gpointer data)
+{
+	GIOChannel *ioc;
+
+	ioc = g_io_channel_unix_new(fd);
+
+	g_io_channel_set_flags(ioc, G_IO_FLAG_NONBLOCK, NULL);
+	g_io_channel_set_encoding(ioc, NULL, NULL);
+	/* "auto-close" */
+	g_io_channel_set_close_on_unref(ioc, TRUE);
+
+	g_io_add_watch(ioc, cond, func, (gpointer) data);
+	g_io_channel_unref(ioc);
+
+	return ioc;
+}
+
+
+static gboolean iofunc_read(GIOChannel *ioc, GIOCondition cond, gpointer data)
+{
+	iodata *iod = data;
+	if (cond & (G_IO_IN | G_IO_PRI))
+	{
+		gchar *msg, *tmp;
+		DictData *dd = iod->dd;
+
+		while (g_io_channel_read_line(ioc, &msg, NULL, NULL, NULL) && msg != NULL)
+		{
+			if (msg[0] == '&')
+			{	/* & cmd 17 7: ... */
+				gint count;
+				tmp = strchr(msg + 2, ' ') + 1;
+				count = atoi(tmp);
+				dict_gui_status_add(dd, ngettext("%d suggestion found.",
+												 "%d suggestions found.",
+												 count), count);
+
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
+				tmp = g_strdup_printf(_("Suggestions for \"%s\":"), iod->word);
+				gtk_text_buffer_insert_with_tags_by_name(
+					dd->main_textbuffer, &dd->textiter, tmp, -1, "bold", NULL);
+				g_free(tmp);
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
+
+				tmp = strchr(msg, ':') + 2;
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, g_strchomp(tmp), -1);
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n\n", 2);
+			}
+			else if (msg[0] == '*')
+			{
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
+				tmp = g_strdup_printf(_("\"%s\" is spelled correctly."), iod->word);
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, tmp, -1);
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n\n", 2);
+				g_free(tmp);
+			}
+			else if (msg[0] == '#')
+			{
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
+				tmp = g_strdup_printf(_("No suggestions could be found for \"%s\"."),
+					iod->word);
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, tmp, -1);
+				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n\n", 2);
+				g_free(tmp);
+			}
+			g_free(msg);
+		}
+		return TRUE;
+	}
+
+	g_free(iod->word);
+	g_free(iod);
+
+	return FALSE;
+}
+
+
+static gboolean iofunc_read_err(GIOChannel *ioc, GIOCondition cond, gpointer data)
+{
+	if (cond & (G_IO_IN | G_IO_PRI))
+	{
+		gchar *msg;
+		DictData *dd = data;
+
+		while (g_io_channel_read_line(ioc, &msg, NULL, NULL, NULL) && msg != NULL)
+		{
+			/* translation hint:
+			 * Error while executing <spell command, e.g. "aspell"> (<error message>) */
+			dict_gui_status_add(dd, _("Error while executing \"%s\" (%s)."),
+				dd->spell_bin, g_strstrip(msg));
+			g_free(msg);
+		}
+		return TRUE;
+	}
+
+	return FALSE;
+}
+
+
+static gboolean iofunc_write(GIOChannel *ioc, GIOCondition cond, gpointer data)
+{
+	if (NZV((gchar *) data))
+		g_io_channel_write_chars(ioc, (gchar *) data, -1, NULL, NULL);
+
+	g_free(data);
+
+	return FALSE;
+}
+
+
+void dict_spell_start_query(DictData *dd, const gchar *word)
+{
+	GError  *error = NULL;
+	gchar  **argv;
+	gchar	*locale_cmd;
+	gint     stdout_fd;
+	gint     stderr_fd;
+	gint     stdin_fd;
+	guint	 i;
+	gsize	 tts_len;
+	gchar  **tts; /* text to search */
+	iodata	*iod;
+
+	if (! NZV(dd->spell_bin))
+	{
+		dict_gui_status_add(dd, _("Please set the spell check command in the preferences dialog."));
+		return;
+	}
+
+	if (! NZV(word))
+	{
+		dict_gui_status_add(dd, _("Invalid input."));
+		return;
+	}
+
+	tts = g_strsplit_set(word, " -_,.", 0);
+	tts_len = g_strv_length(tts);
+
+	for (i = 0; i < tts_len; i++)
+	{
+		locale_cmd = g_locale_from_utf8(dd->spell_bin, -1, NULL, NULL, NULL);
+		if (locale_cmd == NULL)
+			locale_cmd = g_strdup(dd->spell_bin);
+
+		argv = g_new0(gchar*, 5);
+		argv[0] = locale_cmd;
+		argv[1] = g_strdup("-a");
+		argv[2] = g_strdup("-d");
+		argv[3] = g_strdup(dd->spell_dictionary);
+		argv[4] = NULL;
+
+		if (g_spawn_async_with_pipes(NULL, argv, NULL,
+				G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, NULL,
+				&stdin_fd, &stdout_fd, &stderr_fd, &error))
+		{
+			iod = g_new(iodata, 1);
+			iod->dd = dd;
+			iod->word = g_strdup(tts[i]);
+
+			set_up_io_channel(stdin_fd, G_IO_OUT, iofunc_write, g_strdup(tts[i]));
+			set_up_io_channel(stdout_fd, G_IO_IN|G_IO_PRI|G_IO_HUP|G_IO_ERR|G_IO_NVAL, iofunc_read, iod);
+			set_up_io_channel(stderr_fd, G_IO_IN|G_IO_PRI|G_IO_HUP|G_IO_ERR|G_IO_NVAL, iofunc_read_err, dd);
+			dict_gui_status_add(dd, _("Ready."));
+		}
+		else
+		{
+			dict_gui_status_add(dd, _("Process failed (%s)"), error->message);
+			g_error_free(error);
+			error = NULL;
+		}
+
+		g_strfreev(argv);
+	}
+
+	g_strfreev(tts);
+}
+
+
+static gchar *get_enchant_dict_string(GPtrArray *dicts, const gchar *str)
+{
+	guint i;
+	gchar *result = g_strstrip(g_strdup(str));
+	gchar *e;
+
+	/* dictionaries are in the form 'en_GB (aspell)', we search the first space and change
+	 * it to the end of the string to ignore the rest (provider name) */
+	e = strchr(result, ' ');
+	if (e != NULL)
+		*e = '\0';
+
+	/* sometimes dictionaries are named lang-LOCALE instead of lang_LOCALE, so replace the
+	 * hyphen by a dash, enchant seems to not care about it. */
+	for (i = 0; i < strlen(result); i++)
+	{
+		if (result[i] == '-')
+			result[i] = '_';
+	}
+
+	/* find duplicates and skip them */
+	for (i = 0; i < dicts->len; i++)
+	{
+		if (strcmp(g_ptr_array_index(dicts, i), result) == 0)
+		{
+			g_free(result);
+			return NULL;
+		}
+	}
+	return result;
+}
+
+
+static gchar **get_enchant_dicts(const gchar *str)
+{
+	gchar **list = g_strsplit_set(str, "\r\n", -1);
+	gchar *item;
+	guint i, len = g_strv_length(list);
+	GPtrArray *dicts = g_ptr_array_new();
+
+	for (i = 0; i < len; i++)
+	{
+		item = get_enchant_dict_string(dicts, list[i]);
+		if (item != NULL)
+			g_ptr_array_add(dicts, item);
+	}
+
+	g_strfreev(list);
+
+	list = g_new0(gchar *, dicts->len);
+	for (i = 0; i < dicts->len; i++)
+	{
+		list[i] = g_ptr_array_index(dicts, i);
+	}
+	g_ptr_array_free(dicts, TRUE);
+
+	return list;
+}
+
+
+static gchar **get_aspell_dicts(const gchar *str)
+{
+	gchar **list = g_strsplit_set(str, "\r\n", -1);
+	guint i, len = g_strv_length(list);
+
+	for (i = 0; i < len; i++)
+	{
+		g_strstrip(list[i]);
+	}
+	return list;
+}
+
+
+void dict_spell_get_dictionaries(DictData *dd, GtkWidget *spell_combo)
+{
+	if (NZV(dd->spell_bin))
+	{
+		gchar *tmp = NULL, *cmd, *locale_cmd;
+		gboolean use_enchant = FALSE;
+
+		if (strstr(dd->spell_bin, "enchant") != NULL)
+		{
+			cmd = g_strdup("enchant-lsmod -list-dicts");
+			use_enchant = TRUE;
+		}
+		else
+			cmd = g_strconcat(dd->spell_bin, " dump dicts", NULL);
+
+		locale_cmd = g_locale_from_utf8(cmd, -1, NULL, NULL, NULL);
+		if (locale_cmd == NULL)
+			locale_cmd = g_strdup(cmd);
+
+		g_spawn_command_line_sync(locale_cmd, &tmp, NULL, NULL, NULL);
+
+		if (NZV(tmp))
+		{
+			gchar **list;
+			guint i, len;
+
+			list = (use_enchant) ? get_enchant_dicts(tmp) : get_aspell_dicts(tmp);
+			len = g_strv_length(list);
+			for (i = 0; i < len; i++)
+			{
+				if (NZV(list[i]))
+				{
+					gtk_combo_box_append_text(GTK_COMBO_BOX(spell_combo), list[i]);
+					if (strcmp(dd->spell_dictionary, list[i]) == 0)
+						gtk_combo_box_set_active(GTK_COMBO_BOX(spell_combo), i);
+				}
+			}
+			g_strfreev(list);
+		}
+
+		g_free(cmd);
+		g_free(locale_cmd);
+		g_free(tmp);
+	}
+}

Copied: xfce4-dict/trunk/lib/spell.h (from rev 5856, xfce4-dict/trunk/lib/libdict.h)
===================================================================
--- xfce4-dict/trunk/lib/spell.h	                        (rev 0)
+++ xfce4-dict/trunk/lib/spell.h	2008-10-28 20:20:15 UTC (rev 5857)
@@ -0,0 +1,30 @@
+/*  $Id$
+ *
+ *  Copyright 2006-2008 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef SPELL_H
+#define SPELL_H 1
+
+
+void dict_spell_start_query(DictData *dd, const gchar *word);
+
+void dict_spell_get_dictionaries(DictData *dd, GtkWidget *spell_combo);
+
+
+#endif

Modified: xfce4-dict/trunk/po/POTFILES.in
===================================================================
--- xfce4-dict/trunk/po/POTFILES.in	2008-10-28 20:20:10 UTC (rev 5856)
+++ xfce4-dict/trunk/po/POTFILES.in	2008-10-28 20:20:15 UTC (rev 5857)
@@ -3,7 +3,7 @@
 src/popup_plugin.c
 src/xfce4-dict.c
 src/xfce4-dict.desktop.in
-lib/aspell.c
+lib/spell.c
 lib/common.c
 lib/dictd.c
 lib/gui.c

Modified: xfce4-dict/trunk/xfce4-dict.1
===================================================================
--- xfce4-dict/trunk/xfce4-dict.1	2008-10-28 20:20:10 UTC (rev 5856)
+++ xfce4-dict/trunk/xfce4-dict.1	2008-10-28 20:20:15 UTC (rev 5857)
@@ -9,8 +9,8 @@
 xfce4-dict allows you to search different kinds of dictionary services
 for words or phrases and shows you the result.
 Currently you can query a "Dict" server(RFC 2229), any online dictionary
-service by opening a web browser or search for words using the
-aspell/ispell program.
+service by opening a web browser or search for words using a spell check
+program like aspell, ispell or enchant.
 .PP
 Homepage: http://goodies.xfce.org/projects/applications/xfce4-dict
 .SH "OPTIONS"




More information about the Goodies-commits mailing list