Revision: 480 http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=480&view=rev Author: frlan Date: 2009-02-15 22:54:13 +0000 (Sun, 15 Feb 2009)
Log Message: ----------- GeanyLaTeX: Added a keybinding for newline \ and extend insert_string() to also support reseting cursor after inserting text if needed
Modified Paths: -------------- trunk/geanylatex/ChangeLog trunk/geanylatex/src/bibtex.c trunk/geanylatex/src/geanylatex.c trunk/geanylatex/src/geanylatex.h
Modified: trunk/geanylatex/ChangeLog =================================================================== --- trunk/geanylatex/ChangeLog 2009-02-15 22:09:33 UTC (rev 479) +++ trunk/geanylatex/ChangeLog 2009-02-15 22:54:13 UTC (rev 480) @@ -1,3 +1,10 @@ +2009-02-14 Frank Lanitz <frank(at)frank(dot)uvena(dot)de> + + * Added a keyboard shortcut for inserting a new line ( \ ). + * Make cursor placed behind inserted text for most cases. + (Inserting BibTeX entries will not reset the cursor) + + 2009-01-19 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* Improved reference dialog to offer labels based on aux file
Modified: trunk/geanylatex/src/bibtex.c =================================================================== --- trunk/geanylatex/src/bibtex.c 2009-02-15 22:09:33 UTC (rev 479) +++ trunk/geanylatex/src/bibtex.c 2009-02-15 22:54:13 UTC (rev 480) @@ -135,7 +135,7 @@ }
output = g_strconcat(output, "}\n", NULL); - insert_string(output); + insert_string(output, FALSE);
g_free(output); }
Modified: trunk/geanylatex/src/geanylatex.c =================================================================== --- trunk/geanylatex/src/geanylatex.c 2009-02-15 22:09:33 UTC (rev 479) +++ trunk/geanylatex/src/geanylatex.c 2009-02-15 22:54:13 UTC (rev 480) @@ -52,23 +52,29 @@ LATEX_WIZZARD_KB, LATEX_INSERT_LABEL_KB, LATEX_INSERT_REF_KB, -/* LATEX_INSERT_BIBTEX_ENTRY_KB,*/ + LATEX_INSERT_NEWLINE, COUNT_KB };
PLUGIN_KEY_GROUP(geanylatex, COUNT_KB)
void -insert_string(gchar *string) +insert_string(gchar *string, gboolean reset_position) { GeanyDocument *doc = NULL;
+ doc = document_get_current();
- if (doc != NULL) + if (doc != NULL && string != NULL) { gint pos = sci_get_current_position(doc->editor->sci); sci_insert_text(doc->editor->sci, pos, string); + if (reset_position == TRUE) + { + gint len = strlen(string); + sci_set_current_position(doc->editor->sci, pos + len, TRUE); + } } }
@@ -84,7 +90,7 @@ char_insert_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata) { - insert_string(get_latex_command(GPOINTER_TO_INT(gdata))); + insert_string(get_latex_command(GPOINTER_TO_INT(gdata)), TRUE); }
@@ -127,7 +133,7 @@ gchar *label_str = NULL; label_str = g_strconcat("\label{",g_strdup(gtk_entry_get_text( GTK_ENTRY(textbox_label))), "}", NULL); - insert_string(label_str); + insert_string(label_str, TRUE); }
gtk_widget_destroy(dialog); @@ -202,7 +208,7 @@
if (ref_string != NULL) { - insert_string(ref_string); + insert_string(ref_string, TRUE); g_free(ref_string); } } @@ -223,6 +229,7 @@ G_CALLBACK(callback), GINT_TO_POINTER(letter)); }
+ /* returns -1, if there are more than gint can work with or any other error * returns 0, if categorie is empty * if gint categorie is -1, function will count every element. @@ -268,6 +275,7 @@ return i; }
+ void sub_menu_init(GtkWidget *base_menu, SubMenuTemplate *menu_template, CategoryName *category_name, SubMenuCallback callback_function) @@ -832,6 +840,11 @@ wizard_activated(NULL, NULL); }
+static void kb_insert_newline(G_GNUC_UNUSED guint key_id) +{ + insert_string("\\\n", TRUE); +} + /*static void kb_bibtex_entry_insert(G_GNUC_UNUSED guint key_id) { insert_bibtex_entry(NULL, NULL); @@ -925,6 +938,8 @@ 0, 0, "insert_latex_label", _("Insert \label"), menu_latex_label); keybindings_set_item(plugin_key_group, LATEX_INSERT_REF_KB, kbref_insert, 0, 0, "insert_latex_ref", _("Insert \ref"), menu_latex_ref); + keybindings_set_item(plugin_key_group, LATEX_INSERT_NEWLINE, kb_insert_newline, + 0, 0, "insert_new_line", _("Insert linebreak \\ "), NULL); /* keybindings_set_item(plugin_key_group, LATEX_INSERT_BIBTEX_ENTRY_KB, kb_bibtex_entry_insert, 0, 0, "insert_latex_bibtex_entry", _("Add BiBTeX entry"), menu_latex_bibtex); */
Modified: trunk/geanylatex/src/geanylatex.h =================================================================== --- trunk/geanylatex/src/geanylatex.h 2009-02-15 22:09:33 UTC (rev 479) +++ trunk/geanylatex/src/geanylatex.h 2009-02-15 22:54:13 UTC (rev 480) @@ -106,6 +106,6 @@
#define MAX_MENU_ENTRIES 20
-extern void insert_string(gchar *string); +extern void insert_string(gchar *string, gboolean reset_position);
#endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.