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

Enrico Troeger enrico at xfce.org
Sun Oct 19 11:29:50 CEST 2008


Author: enrico
Date: 2008-10-19 09:29:50 +0000 (Sun, 19 Oct 2008)
New Revision: 5693

Modified:
   xfce4-dict/trunk/ChangeLog
   xfce4-dict/trunk/lib/aspell.c
   xfce4-dict/trunk/lib/common.h
   xfce4-dict/trunk/lib/dictd.c
   xfce4-dict/trunk/lib/gui.c
Log:
Beautify the texview output a little bit.

Modified: xfce4-dict/trunk/ChangeLog
===================================================================
--- xfce4-dict/trunk/ChangeLog	2008-10-19 08:33:31 UTC (rev 5692)
+++ xfce4-dict/trunk/ChangeLog	2008-10-19 09:29:50 UTC (rev 5693)
@@ -1,3 +1,8 @@
+2008-10-14  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
+
+ * Beautify the texview output a little bit.
+
+
 2008-09-29  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
 
  * Improve clearing of panel text entry: clear it always.

Modified: xfce4-dict/trunk/lib/aspell.c
===================================================================
--- xfce4-dict/trunk/lib/aspell.c	2008-10-19 08:33:31 UTC (rev 5692)
+++ xfce4-dict/trunk/lib/aspell.c	2008-10-19 09:29:50 UTC (rev 5693)
@@ -84,9 +84,10 @@
                                             "%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(
-					dd->main_textbuffer, &dd->textiter, tmp, -1, dd->main_boldtag, NULL);
+					dd->main_textbuffer, &dd->textiter, tmp, -1, dd->main_tag_bold, NULL);
 				g_free(tmp);
 				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
 
@@ -96,6 +97,7 @@
 			}
 			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);
@@ -103,6 +105,7 @@
 			}
 			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);

Modified: xfce4-dict/trunk/lib/common.h
===================================================================
--- xfce4-dict/trunk/lib/common.h	2008-10-19 08:33:31 UTC (rev 5692)
+++ xfce4-dict/trunk/lib/common.h	2008-10-19 09:29:50 UTC (rev 5693)
@@ -93,7 +93,8 @@
 	GtkWidget *panel_entry;
 	GtkWidget *main_textview;
 	GtkTextBuffer *main_textbuffer;
-	GtkTextTag *main_boldtag;
+	GtkTextTag *main_tag_bold;
+	GtkTextTag *main_tag_indent;
 	GtkTextIter textiter;
 	GdkPixbuf *icon;
 } DictData;

Modified: xfce4-dict/trunk/lib/dictd.c
===================================================================
--- xfce4-dict/trunk/lib/dictd.c	2008-10-19 08:33:31 UTC (rev 5692)
+++ xfce4-dict/trunk/lib/dictd.c	2008-10-19 09:29:50 UTC (rev 5693)
@@ -105,7 +105,8 @@
 {
 	gint max_lines, i;
 	gint defs_found = 0;
-	gchar *answer, *tmp, **lines, *stripped;
+	gchar *answer, *tmp, *stripped;
+	gchar **lines, **dict_parts;
 
 	if (dd->query_status == NO_CONNECTION)
 	{
@@ -144,6 +145,7 @@
 	{
 		dict_gui_status_add(dd, _("Ready."));
 
+		gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
 		tmp = g_strdup_printf(_("No matches could be found for \"%s\"."), dd->searched_word);
 		gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, tmp, -1);
 		g_free(tmp);
@@ -153,7 +155,7 @@
 		 * aspell */
 		if (NZV(dd->spell_bin))
 		{
-			gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n\n", 2);
+			gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
 			dict_aspell_start_query(dd, dd->searched_word);
 		}
 
@@ -190,29 +192,31 @@
 	while (i < max_lines)
 	{
 		i++;
-		if (strncmp(lines[i], "250", 3) == 0) break; /* end of data */
+		if (strncmp(lines[i], "250", 3) == 0)
+			break; /* end of data */
 		if (strncmp(lines[i], "error:", 6) == 0) /* an error occurred */
 		{
 			gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, lines[i], -1);
 			break;
 		}
-		if (strncmp(lines[i], "151", 3) != 0) continue; /* unexpected line start, try next line */
+		if (strncmp(lines[i], "151", 3) != 0)
+			continue; /* unexpected line start, try next line */
 
 		/* get the used dictionary */
-		tmp = strchr(lines[i], '"'); /* get the opening " of quoted search word */
-		if (tmp != NULL)
-		{
-			tmp = strchr(tmp + 1, '"'); /* get the closing " of quoted search word */
-			if (tmp != NULL)
-			{
-				/* skip the found quote and the following space */
-				gtk_text_buffer_insert_with_tags(dd->main_textbuffer, &dd->textiter, tmp + 2, -1,
-																dd->main_boldtag, NULL);
-				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
-			}
-		}
-		if (i >= (max_lines - 2)) break;
+		dict_parts = g_strsplit(lines[i], "\"", -1);
 
+		gtk_text_buffer_insert_with_tags(dd->main_textbuffer, &dd->textiter,
+			g_strstrip(dict_parts[3]), -1, dd->main_tag_bold, NULL);
+
+		gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, " (", 2);
+		gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, g_strstrip(dict_parts[2]), -1);
+		gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, ")\n", 2);
+
+		g_strfreev(dict_parts);
+
+		if (i >= (max_lines - 2))
+			break;
+
 		/* all following lines represents the translation */
 		i += 2; /* skip the next two lines */
 		while (lines[i] != NULL && lines[i][0] != '.' && lines[i][0] != '\r' && lines[i][0] != '\n')
@@ -220,7 +224,8 @@
 			stripped = g_strstrip(lines[i]);
 			if (strlen(stripped) > 0)
 			{
-				gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, stripped, -1);
+				gtk_text_buffer_insert_with_tags(dd->main_textbuffer, &dd->textiter, stripped, -1,
+					dd->main_tag_indent, NULL);
 				if (i < (max_lines - 1) && lines[i + 1][0] != '.')
 					gtk_text_buffer_insert(dd->main_textbuffer, &dd->textiter, "\n", 1);
 			}

Modified: xfce4-dict/trunk/lib/gui.c
===================================================================
--- xfce4-dict/trunk/lib/gui.c	2008-10-19 08:33:31 UTC (rev 5692)
+++ xfce4-dict/trunk/lib/gui.c	2008-10-19 09:29:50 UTC (rev 5693)
@@ -294,8 +294,13 @@
 	gtk_text_view_set_right_margin(GTK_TEXT_VIEW(dd->main_textview), 5);
 	gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(dd->main_textview), GTK_WRAP_WORD);
 	dd->main_textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(dd->main_textview));
-	dd->main_boldtag = gtk_text_buffer_create_tag(dd->main_textbuffer,
-			"bold", "weight", PANGO_WEIGHT_BOLD, NULL);
+	dd->main_tag_bold = gtk_text_buffer_create_tag(dd->main_textbuffer,
+			"bold",
+			"weight", PANGO_WEIGHT_BOLD,
+			"style", PANGO_STYLE_ITALIC,
+			"pixels-below-lines", 3, NULL);
+	dd->main_tag_indent = gtk_text_buffer_create_tag(dd->main_textbuffer,
+			"indent", "indent", 10, NULL);
 
 	gtk_widget_show(dd->main_textview);
 	gtk_container_add(GTK_CONTAINER(scrolledwindow_results), dd->main_textview);




More information about the Goodies-commits mailing list