SF.net SVN: geany-plugins:[1206] trunk/geanylatex/src

frlan at users.sourceforge.net frlan at xxxxx
Sat Mar 27 01:36:53 UTC 2010


Revision: 1206
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1206&view=rev
Author:   frlan
Date:     2010-03-27 01:36:53 +0000 (Sat, 27 Mar 2010)

Log Message:
-----------
GeanyLaTeX: Adding a menu entry for easy inserting font sizes into
LaTeX document

Modified Paths:
--------------
    trunk/geanylatex/src/formatpatterns.c
    trunk/geanylatex/src/formatutils.c
    trunk/geanylatex/src/formatutils.h
    trunk/geanylatex/src/geanylatex.c

Modified: trunk/geanylatex/src/formatpatterns.c
===================================================================
--- trunk/geanylatex/src/formatpatterns.c	2010-03-27 01:36:25 UTC (rev 1205)
+++ trunk/geanylatex/src/formatpatterns.c	2010-03-27 01:36:53 UTC (rev 1206)
@@ -1,7 +1,7 @@
 /*
  *      formatpatterns.c
  *
- *      Copyright 2009-2010 Frank Lanitz <frank at Jupiter>
+ *      Copyright 2009-2010 Frank Lanitz <frank(at)frank(dot)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
@@ -46,3 +46,29 @@
 	N_("Left side oriented"),
 	N_("Right side oriented")
 };
+
+gchar *glatex_fontsize_pattern[] = {
+	"\\tiny",
+	"\\scriptsize",
+	"\\footnotesize",
+	"\\small",
+	"\\normalsize",
+	"\\large",
+	"\\Large",
+	"\\LARGE",
+	"\\huge",
+	"\\Huge"
+};
+
+const gchar *glatex_fontsize_labels[] = {
+	N_("tiny"),
+	N_("scriptsize"),
+	N_("footnotesize"),
+	N_("small"),
+	N_("normalsize"),
+	N_("large"),
+	N_("Large"),
+	N_("LARGE"),
+	N_("huge"),
+	N_("Huge")
+};

Modified: trunk/geanylatex/src/formatutils.c
===================================================================
--- trunk/geanylatex/src/formatutils.c	2010-03-27 01:36:25 UTC (rev 1205)
+++ trunk/geanylatex/src/formatutils.c	2010-03-27 01:36:53 UTC (rev 1206)
@@ -1,59 +1,76 @@
 /*
- *      formatutils.c
+ *	  formatutils.c
  *
- *      Copyright 2009-2010 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+ *	  Copyright 2009-2010 Frank Lanitz <frank(at)frank(dot)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 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 General Public License for more details.
+ *	  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 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.
+ *	  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.
  */
 
 #include "formatutils.h"
 
 
 void glatex_insert_latex_format(G_GNUC_UNUSED GtkMenuItem * menuitem,
-                         G_GNUC_UNUSED gpointer gdata)
+						 G_GNUC_UNUSED gpointer gdata)
 {
-    gint format = GPOINTER_TO_INT(gdata);
-    GeanyDocument *doc = NULL;
+	gint format = GPOINTER_TO_INT(gdata);
+	GeanyDocument *doc = NULL;
 	doc = document_get_current();
 
 	if (doc != NULL)
 	{
-        if (sci_has_selection(doc->editor->sci))
-        {
-            gchar *selection;
-            gchar *replacement = NULL;
+		if (sci_has_selection(doc->editor->sci))
+		{
+			gchar *selection;
+			gchar *replacement = NULL;
 
-            selection = sci_get_selection_contents(doc->editor->sci);
+			selection = sci_get_selection_contents(doc->editor->sci);
 
-            replacement = g_strconcat(glatex_format_pattern[format],"{",
-                selection, "}", NULL);
+			replacement = g_strconcat(glatex_format_pattern[format],"{",
+				selection, "}", NULL);
 
-            sci_replace_sel(doc->editor->sci, replacement);
-            g_free(selection);
+			sci_replace_sel(doc->editor->sci, replacement);
+			g_free(selection);
 			g_free(replacement);
-        }
-        else
-        {
+		}
+		else
+		{
 			sci_start_undo_action(doc->editor->sci);
-            glatex_insert_string(glatex_format_pattern[format], TRUE);
-            glatex_insert_string("{", TRUE);
-            glatex_insert_string("}", FALSE);
+			glatex_insert_string(glatex_format_pattern[format], TRUE);
+			glatex_insert_string("{", TRUE);
+			glatex_insert_string("}", FALSE);
 			sci_end_undo_action(doc->editor->sci);
 		}
-    }
+	}
 }
 
 
+void glatex_insert_latex_fontsize(G_GNUC_UNUSED GtkMenuItem * menuitem,
+						 G_GNUC_UNUSED gpointer gdata)
+{
+	gint size = GPOINTER_TO_INT(gdata);
+	GeanyDocument *doc = NULL;
+	doc = document_get_current();
+
+	if (doc != NULL)
+	{
+		sci_start_undo_action(doc->editor->sci);
+		glatex_insert_string(glatex_fontsize_pattern[size], TRUE);
+		glatex_insert_string(" ", TRUE);
+		sci_end_undo_action(doc->editor->sci);
+	}
+}
+
+

Modified: trunk/geanylatex/src/formatutils.h
===================================================================
--- trunk/geanylatex/src/formatutils.h	2010-03-27 01:36:25 UTC (rev 1205)
+++ trunk/geanylatex/src/formatutils.h	2010-03-27 01:36:53 UTC (rev 1206)
@@ -1,22 +1,22 @@
 /*
- *      formatutils.h
+ *	  formatutils.h
  *
- *      Copyright 2009-2010 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+ *	  Copyright 2009-2010 Frank Lanitz <frank(at)frank(dot)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 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 General Public License for more details.
+ *	  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 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.
+ *	  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 LATEXFORMATUTILS_H
@@ -25,21 +25,44 @@
 #include "geanylatex.h"
 
 enum {
-    LATEX_ITALIC = 0,
-    LATEX_BOLD,
-    LATEX_UNDERLINE,
-    LATEX_SLANTED,
-    LATEX_TYPEWRITER,
-    LATEX_SMALLCAPS,
-    LATEX_EMPHASIS,
-    LATEX_CENTER,
-    LATEX_LEFT,
-    LATEX_RIGHT,
+	LATEX_ITALIC = 0,
+	LATEX_BOLD,
+	LATEX_UNDERLINE,
+	LATEX_SLANTED,
+	LATEX_TYPEWRITER,
+	LATEX_SMALLCAPS,
+	LATEX_EMPHASIS,
+	LATEX_CENTER,
+	LATEX_LEFT,
+	LATEX_RIGHT,
 	LATEX_STYLES_END
 };
 
+/* Couting from smalles on up to biggest default font size. Keep in mind:
+ * LATEX_FONTSIZE_LARGE1 -> large
+ * LATEX_FONTSIZE_LARGE2 -> Large
+ * LATEX_FONTSIZE_LARGE3 -> LARGE
+ * LATEX_FONTSIZE_HUGE1 -> huge
+ * LATEX_FONTSIZE_HUGE2 -> Huge */
+enum {
+	LATEX_FONTSIZE_TINY = 0,
+	LATEX_FONTSIZE_SCRIPTSIZE,
+	LATEX_FONTSIZE_FOOTNOTESIZE,
+	LATEX_FONTSIZE_SMALL,
+	LATEX_FONTSIZE_NORMALSIZE,
+	LATEX_FONTSIZE_LARGE1,
+	LATEX_FONTSIZE_LARGE2,
+	LATEX_FONTSIZE_LARGE3,
+	LATEX_FONTSIZE_HUGE1,
+	LATEX_FONTSIZE_HUGE2,
+	LATEX_FONTSIZE_END
+};
+
 extern gchar* glatex_format_pattern[];
 extern const gchar *glatex_format_labels[];
+extern const gchar *glatex_fontsize_labels[];
+extern gchar *glatex_fontsize_pattern[];
 void glatex_insert_latex_format(GtkMenuItem * menuitem, gpointer gdata);
+void glatex_insert_latex_fontsize(GtkMenuItem * menuitem, gpointer gdata);
 
 #endif

Modified: trunk/geanylatex/src/geanylatex.c
===================================================================
--- trunk/geanylatex/src/geanylatex.c	2010-03-27 01:36:25 UTC (rev 1205)
+++ trunk/geanylatex/src/geanylatex.c	2010-03-27 01:36:53 UTC (rev 1206)
@@ -49,6 +49,8 @@
 static GtkWidget *menu_latex_bibtex_submenu = NULL;
 static GtkWidget *menu_latex_format_insert = NULL;
 static GtkWidget *menu_latex_format_insert_submenu = NULL;
+static GtkWidget *menu_latex_fontsize = NULL;
+static GtkWidget *menu_latex_fontsize_submenu = NULL;
 static GtkWidget *menu_latex_insert_environment = NULL;
 static GtkWidget *menu_latex_insert_usepackage = NULL;
 static GtkWidget *menu_latex_replacement = NULL;
@@ -1852,6 +1854,23 @@
 			G_CALLBACK(glatex_insert_latex_format), GINT_TO_POINTER(i));
 	}
 
+	/* Add font size menu */
+	menu_latex_fontsize = gtk_menu_item_new_with_mnemonic(_("_Font size"));
+	gtk_container_add(GTK_CONTAINER(menu_latex_menu), menu_latex_fontsize);
+
+	menu_latex_fontsize_submenu = gtk_menu_new();
+	gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_latex_fontsize),
+		menu_latex_fontsize_submenu);
+
+	for (i = 0; i < LATEX_FONTSIZE_END; i++)
+	{
+		tmp = NULL;
+		tmp = gtk_menu_item_new_with_mnemonic(_(glatex_fontsize_labels[i]));
+		gtk_container_add(GTK_CONTAINER(menu_latex_fontsize_submenu), tmp);
+		g_signal_connect(tmp, "activate",
+			G_CALLBACK(glatex_insert_latex_fontsize), GINT_TO_POINTER(i));
+	}
+
 	/* Add menuitem for LaTeX replacement functions*/
 	menu_latex_replacement = gtk_menu_item_new_with_mnemonic(
 		_("_Special Character Replacement"));


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