SF.net SVN: geany-plugins:[789] trunk/geanylatex/src
frlan at users.sourceforge.net
frlan at xxxxx
Sat Jun 27 09:52:14 UTC 2009
Revision: 789
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=789&view=rev
Author: frlan
Date: 2009-06-27 09:52:14 +0000 (Sat, 27 Jun 2009)
Log Message:
-----------
GeanyLaTeX: Insert keybndings for inserting common list environments
Modified Paths:
--------------
trunk/geanylatex/src/geanylatex.c
trunk/geanylatex/src/latexenvironments.c
trunk/geanylatex/src/latexenvironments.h
trunk/geanylatex/src/latexkeybindings.c
trunk/geanylatex/src/latexkeybindings.h
Modified: trunk/geanylatex/src/geanylatex.c
===================================================================
--- trunk/geanylatex/src/geanylatex.c 2009-06-27 08:25:43 UTC (rev 788)
+++ trunk/geanylatex/src/geanylatex.c 2009-06-27 09:52:14 UTC (rev 789)
@@ -85,6 +85,9 @@
KB_LATEX_FORMAT_CENTER,
KB_LATEX_FORMAT_LEFT,
KB_LATEX_FORMAT_RIGHT,
+ KB_LATEX_ENVIRONMENT_INSERT_DESCRIPTION,
+ KB_LATEX_ENVIRONMENT_INSERT_ITEMIZE,
+ KB_LATEX_ENVIRONMENT_INSERT_ENUMERATE,
COUNT_KB
};
@@ -1135,7 +1138,16 @@
keybindings_set_item(plugin_key_group, KB_LATEX_FORMAT_LEFT, glatex_kb_format_left,
0, 0, "format_left", _("Format selection left-aligned"), NULL);
keybindings_set_item(plugin_key_group, KB_LATEX_FORMAT_RIGHT, glatex_kb_format_right,
- 0, 0, "format_right", _("Format selection right-aligned "), NULL);
+ 0, 0, "format_right", _("Format selection right-aligned"), NULL);
+ keybindings_set_item(plugin_key_group, KB_LATEX_ENVIRONMENT_INSERT_DESCRIPTION,
+ glatex_kb_insert_description_list, 0, 0, "insert_description_list",
+ _("Insert description list"), NULL);
+ keybindings_set_item(plugin_key_group, KB_LATEX_ENVIRONMENT_INSERT_ITEMIZE,
+ glatex_kb_insert_itemize_list, 0, 0, "insert_itemize_list",
+ _("Insert itemize list"), NULL);
+ keybindings_set_item(plugin_key_group, KB_LATEX_ENVIRONMENT_INSERT_ENUMERATE,
+ glatex_kb_insert_enumerate_list, 0, 0, "insert_enumerate_list",
+ _("Insert enumerate list"), NULL);
}
void plugin_help()
Modified: trunk/geanylatex/src/latexenvironments.c
===================================================================
--- trunk/geanylatex/src/latexenvironments.c 2009-06-27 08:25:43 UTC (rev 788)
+++ trunk/geanylatex/src/latexenvironments.c 2009-06-27 09:52:14 UTC (rev 789)
@@ -51,8 +51,14 @@
{0, NULL, NULL},
};
+gchar *glatex_list_environments [] =
+{
+ "description",
+ "enumerate",
+ "itemize"
+};
-void glatex_insert_environment(gchar *environment)
+void glatex_insert_environment(gchar *environment, gint type)
{
GeanyDocument *doc = NULL;
@@ -78,11 +84,19 @@
{
gint pos = sci_get_current_position(doc->editor->sci);
gint len = strlen(environment);
+ GString *tmpstring = NULL;
gchar *tmp = NULL;
- tmp = g_strconcat("\\begin{", environment, "}\n\n\\end{",
- environment, "}\n", NULL);
+ tmpstring = g_string_new("\\begin{");
+ g_string_append(tmpstring, environment);
+ g_string_append(tmpstring, "}\n");
+ if (type == GLATEX_ENVIRONMENT_TYPE_LIST)
+ g_string_append(tmpstring, "\\item \n");
+ g_string_append(tmpstring, "\\end{");
+ g_string_append(tmpstring, environment);
+ g_string_append(tmpstring,"}\n");
+ tmp = g_string_free(tmpstring, FALSE);
sci_insert_text(doc->editor->sci, pos, tmp);
sci_set_current_position(doc->editor->sci, pos + len + 9, TRUE);
g_free(tmp);
@@ -97,7 +111,12 @@
{
gint env = GPOINTER_TO_INT(gdata);
- glatex_insert_environment(glatex_environment_array[env].latex);
+ if (glatex_environment_array[env].cat == ENVIRONMENT_CAT_LISTS)
+ glatex_insert_environment(glatex_environment_array[env].latex,
+ GLATEX_ENVIRONMENT_TYPE_LIST);
+ else
+ glatex_insert_environment(glatex_environment_array[env].latex,
+ GLATEX_ENVIRONMENT_TYPE_NONE);
}
@@ -158,7 +177,8 @@
if (env_string != NULL)
{
- glatex_insert_environment(env_string);
+ /* Introduce a check whether an enrivonent is a list */
+ glatex_insert_environment(env_string, GLATEX_ENVIRONMENT_TYPE_NONE);
g_free(env_string);
}
}
@@ -166,3 +186,7 @@
gtk_widget_destroy(dialog);
}
+void glatex_insert_list_environment(gint type)
+{
+ glatex_insert_environment(glatex_list_environments[type], GLATEX_ENVIRONMENT_TYPE_LIST);
+}
Modified: trunk/geanylatex/src/latexenvironments.h
===================================================================
--- trunk/geanylatex/src/latexenvironments.h 2009-06-27 08:25:43 UTC (rev 788)
+++ trunk/geanylatex/src/latexenvironments.h 2009-06-27 09:52:14 UTC (rev 789)
@@ -34,11 +34,22 @@
ENVIRONMENT_CAT_MAX
};
+enum {
+ GLATEX_LIST_DESCRIPTION = 0,
+ GLATEX_LIST_ENUMERATE,
+ GLATEX_LIST_ITEMIZE
+};
+
+enum {
+ GLATEX_ENVIRONMENT_TYPE_NONE = 0,
+ GLATEX_ENVIRONMENT_TYPE_LIST
+};
+
extern SubMenuTemplate glatex_environment_array[];
extern CategoryName glatex_environment_cat_names[];
-void glatex_insert_environment(gchar *environment);
+void glatex_insert_environment(gchar *environment, gint type);
void
glatex_insert_environment_dialog(G_GNUC_UNUSED GtkMenuItem *menuitem,
@@ -48,4 +59,5 @@
glatex_environment_insert_activated (G_GNUC_UNUSED GtkMenuItem *menuitem,
G_GNUC_UNUSED gpointer gdata);
+void glatex_insert_list_environment(gint type);
#endif
Modified: trunk/geanylatex/src/latexkeybindings.c
===================================================================
--- trunk/geanylatex/src/latexkeybindings.c 2009-06-27 08:25:43 UTC (rev 788)
+++ trunk/geanylatex/src/latexkeybindings.c 2009-06-27 09:52:14 UTC (rev 789)
@@ -110,3 +110,24 @@
return;
glatex_insert_latex_format(NULL, GINT_TO_POINTER(LATEX_RIGHT));
}
+
+void glatex_kb_insert_description_list(G_GNUC_UNUSED guint key_id)
+{
+ if (NULL == document_get_current())
+ return;
+ glatex_insert_list_environment(GLATEX_LIST_DESCRIPTION);
+}
+
+void glatex_kb_insert_itemize_list(G_GNUC_UNUSED guint key_id)
+{
+ if (NULL == document_get_current())
+ return;
+ glatex_insert_list_environment(GLATEX_LIST_ITEMIZE);
+}
+
+void glatex_kb_insert_enumerate_list(G_GNUC_UNUSED guint key_id)
+{
+ if (NULL == document_get_current())
+ return;
+ glatex_insert_list_environment(GLATEX_LIST_ENUMERATE);
+}
Modified: trunk/geanylatex/src/latexkeybindings.h
===================================================================
--- trunk/geanylatex/src/latexkeybindings.h 2009-06-27 08:25:43 UTC (rev 788)
+++ trunk/geanylatex/src/latexkeybindings.h 2009-06-27 09:52:14 UTC (rev 789)
@@ -37,5 +37,8 @@
void glatex_kb_format_centering(G_GNUC_UNUSED guint key_id);
void glatex_kb_format_left(G_GNUC_UNUSED guint key_id);
void glatex_kb_format_right(G_GNUC_UNUSED guint key_id);
+void glatex_kb_insert_description_list(G_GNUC_UNUSED guint key_id);
+void glatex_kb_insert_itemize_list(G_GNUC_UNUSED guint key_id);
+void glatex_kb_insert_enumerate_list(G_GNUC_UNUSED guint key_id);
#endif
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