SF.net SVN: geany-plugins:[1879] trunk/geany-plugins/htmltable

frlan at users.sourceforge.net frlan at xxxxx
Thu Jan 27 02:18:38 UTC 2011


Revision: 1879
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1879&view=rev
Author:   frlan
Date:     2011-01-27 02:18:38 +0000 (Thu, 27 Jan 2011)

Log Message:
-----------
Support creation of table with <thead> and <tbody>. Use it for the moment as default.

Modified Paths:
--------------
    trunk/geany-plugins/htmltable/ChangeLog
    trunk/geany-plugins/htmltable/src/htmltable.c

Modified: trunk/geany-plugins/htmltable/ChangeLog
===================================================================
--- trunk/geany-plugins/htmltable/ChangeLog	2011-01-27 02:18:09 UTC (rev 1878)
+++ trunk/geany-plugins/htmltable/ChangeLog	2011-01-27 02:18:38 UTC (rev 1879)
@@ -1,3 +1,9 @@
+2011-01-27  Frank Lanitz  <frlan at frank.uvena.de>
+
+ * Support creation of table with <thead> and <tbody>. Use it for the
+   moment as default.
+
+
 2011-01-26  Frank Lanitz  <frank at frank.uvena.de>
 
  * Initial Entry. New plugin: HTMLTable.

Modified: trunk/geany-plugins/htmltable/src/htmltable.c
===================================================================
--- trunk/geany-plugins/htmltable/src/htmltable.c	2011-01-27 02:18:09 UTC (rev 1878)
+++ trunk/geany-plugins/htmltable/src/htmltable.c	2011-01-27 02:18:38 UTC (rev 1879)
@@ -61,59 +61,68 @@
 		/* Checking whether we do have something we can work on - Returning if not */
 		if (rows != NULL)
 		{
-
 			/* Adding header to replacement */
 			replacement_str = g_string_new("<table>\n");
-
+			if (header == TRUE)
+			{
+				g_string_append(replacement_str, "<thead>\n");
+			}
 			/* Iteration onto rows and building up lines of table for
 			 * replacement */
 
-			if (header == TRUE)
+			/* There is no header at selection. */
+			guint i;
+			guint j;
+			for (i = 0; rows[i] != NULL ; i++)
 			{
-				/* If the first line is given to be a header, we do use
-				 * <thead> and <tbody> inside table for real XHTML */
-			}
-			else
-			{
-				/* There is no header at selection. */
-				guint i;
-				guint j;
-				for (i = 0; rows[i] != NULL ; i++)
+				gchar **columns = NULL;
+				columns = g_strsplit_set(rows[i], "\t", -1);
+				if (i == 1 &&
+					header == TRUE)
 				{
-					gchar **columns = NULL;
-					columns = g_strsplit_set(rows[i], "\t", -1);
-					g_string_append(replacement_str, "\t<tr>\n");
-					for (j = 0; columns[j] != NULL; j++)
-					{
-						g_string_append(replacement_str, "\t\t<td>");
-						g_string_append(replacement_str, columns[j]);
-						g_string_append(replacement_str, "</td>\n");
-					}
-					g_string_append(replacement_str,
-						"\t</tr>\n");
-					g_free(columns);
+					g_string_append(replacement_str, "<tbody>\n");
 				}
+				g_string_append(replacement_str, "\t<tr>\n");
+				for (j = 0; columns[j] != NULL; j++)
+				{
+					g_string_append(replacement_str, "\t\t<td>");
+					g_string_append(replacement_str, columns[j]);
+					g_string_append(replacement_str, "</td>\n");
+				}
+				g_string_append(replacement_str,
+					"\t</tr>\n");
+				if (i == 0 &&
+					header == TRUE)
+				{
+					g_string_append(replacement_str, "</thead>\n");
+				}
+				g_free(columns);
 			}
+		}
 
-			/* Adding the footer of table */
-			g_string_append(replacement_str, "</table>\n");
+		/* Adding the footer of table */
+		if (header == TRUE)
+		{
+			g_string_append(replacement_str, "</tbody>\n");
+		}
 
-			/* Replacing selection with new table */
-			replacement = g_string_free(replacement_str, FALSE);
-			sci_replace_sel(doc->editor->sci, replacement);
+		g_string_append(replacement_str, "</table>\n");
 
-			g_free(rows);
-			g_free(replacement);
-		}
-		else
-		{
-			/* OK. Something went not as expected.
-			 * We did have a selection but cannot parse it into rows.
-			 * Aborting */
-			g_warning(_("Something went went wrong on parsing selection. Aborting"));
-			return;
-		}
-	} /* Selection was gien -- end
+		/* Replacing selection with new table */
+		replacement = g_string_free(replacement_str, FALSE);
+		sci_replace_sel(doc->editor->sci, replacement);
+
+		g_free(rows);
+		g_free(replacement);
+	}
+	else
+	{
+		/* OK. Something went not as expected.
+		 * We did have a selection but cannot parse it into rows.
+		 * Aborting */
+		g_warning(_("Something went went wrong on parsing selection. Aborting"));
+		return;
+	} /* Selection was given -- end
 	   * in case of there was no selection we are just doing nothing */
 	return;
 }
@@ -121,7 +130,7 @@
 void kb_convert_to_table(G_GNUC_UNUSED guint key_id)
 {
 	g_return_if_fail(document_get_current() != NULL);
-	convert_to_table(FALSE);
+	convert_to_table(TRUE);
 }
 
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Plugins-Commits mailing list