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

frlan at users.sourceforge.net frlan at xxxxx
Fri Mar 19 23:59:47 UTC 2010


Revision: 1182
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1182&view=rev
Author:   frlan
Date:     2010-03-19 23:59:47 +0000 (Fri, 19 Mar 2010)

Log Message:
-----------
GeanyLaTeX: Add dialog and keybinding for insert \usepackage{} function

Modified Paths:
--------------
    trunk/geanylatex/src/geanylatex.c
    trunk/geanylatex/src/latexkeybindings.c
    trunk/geanylatex/src/latexkeybindings.h

Modified: trunk/geanylatex/src/geanylatex.c
===================================================================
--- trunk/geanylatex/src/geanylatex.c	2010-03-19 23:59:21 UTC (rev 1181)
+++ trunk/geanylatex/src/geanylatex.c	2010-03-19 23:59:47 UTC (rev 1182)
@@ -1016,6 +1016,51 @@
 	}
 }
 
+void glatex_insert_usepackage_dialog(G_GNUC_UNUSED GtkMenuItem * menuitem,
+				 					 G_GNUC_UNUSED gpointer gdata)
+{
+	GtkWidget *dialog = NULL;
+	GtkWidget *vbox = NULL;
+	GtkWidget *label = NULL;
+	GtkWidget *textbox = NULL;
+	GtkWidget *table = NULL;
+
+	dialog = gtk_dialog_new_with_buttons(_("Add additional package"),
+					     GTK_WINDOW(geany->main_widgets->window),
+					     GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL,
+					     GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+					     NULL);
+	vbox = ui_dialog_vbox_new(GTK_DIALOG(dialog));
+	gtk_widget_set_name(dialog, "GeanyDialog");
+	gtk_box_set_spacing(GTK_BOX(vbox), 10);
+
+	table = gtk_table_new(1, 2, FALSE);
+	gtk_table_set_col_spacings(GTK_TABLE(table), 6);
+	gtk_table_set_row_spacings(GTK_TABLE(table), 6);
+
+	label = gtk_label_new(_("Package name:"));
+	textbox = gtk_entry_new();
+
+	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+
+	gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
+	gtk_table_attach_defaults(GTK_TABLE(table), textbox, 1, 2, 0, 1);
+	gtk_container_add(GTK_CONTAINER(vbox), table);
+
+	gtk_widget_show_all(vbox);
+
+	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
+	{
+		const gchar *pkg;
+		pkg = gtk_entry_get_text(GTK_ENTRY(textbox));
+		glatex_usepackage(pkg);
+
+	}
+
+	gtk_widget_destroy(dialog);
+
+}
+
 void
 glatex_wizard_activated(G_GNUC_UNUSED GtkMenuItem * menuitem,
 				 G_GNUC_UNUSED gpointer gdata)
@@ -1626,6 +1671,9 @@
 	keybindings_set_item(plugin_key_group, KB_LATEX_STRUCTURE_LVLDOWN,
 		glatex_kb_structure_lvldown, 0, 0, "structure_lvl_down",
 		_("Set selection one level down"), NULL);
+	keybindings_set_item(plugin_key_group, KB_LATEX_USEPACKAGE_DIALOG,
+		glatex_kb_usepackage_dialog, 0, 0, "usepackage_dialog",
+		_("Insert \\usepackage{}"), NULL);
 }
 
 void plugin_help()

Modified: trunk/geanylatex/src/latexkeybindings.c
===================================================================
--- trunk/geanylatex/src/latexkeybindings.c	2010-03-19 23:59:21 UTC (rev 1181)
+++ trunk/geanylatex/src/latexkeybindings.c	2010-03-19 23:59:47 UTC (rev 1182)
@@ -145,3 +145,10 @@
 		return;
 	glatex_structure_lvldown();
 }
+
+void glatex_kb_usepackage_dialog(G_GNUC_UNUSED guint key_id)
+{
+	if (NULL == document_get_current())
+		return;
+	glatex_insert_usepackage_dialog(NULL, NULL);
+}

Modified: trunk/geanylatex/src/latexkeybindings.h
===================================================================
--- trunk/geanylatex/src/latexkeybindings.h	2010-03-19 23:59:21 UTC (rev 1181)
+++ trunk/geanylatex/src/latexkeybindings.h	2010-03-19 23:59:47 UTC (rev 1182)
@@ -46,6 +46,7 @@
 	KB_LATEX_ENVIRONMENT_INSERT_ENUMERATE,
 	KB_LATEX_STRUCTURE_LVLUP,
 	KB_LATEX_STRUCTURE_LVLDOWN,
+	KB_LATEX_USEPACKAGE_DIALOG,
 	COUNT_KB
 };
 
@@ -68,5 +69,6 @@
 void glatex_kb_insert_enumerate_list(G_GNUC_UNUSED guint key_id);
 void glatex_kb_structure_lvlup(G_GNUC_UNUSED guint key_id);
 void glatex_kb_structure_lvldown(G_GNUC_UNUSED guint key_id);
+void glatex_kb_usepackage_dialog(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