SF.net SVN: geany-plugins:[1323] trunk/geanygendoc/src
colombanw at users.sourceforge.net
colombanw at xxxxx
Sat May 1 17:46:41 UTC 2010
Revision: 1323
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1323&view=rev
Author: colombanw
Date: 2010-05-01 17:46:41 +0000 (Sat, 01 May 2010)
Log Message:
-----------
GeanyGenDoc: Support for global environment overrides
Add a global environment to allow overrides and additions to the
filetype-specific environments. This is useful e.g. to set a "insert
since" property that will apply to all filetypes, an this without
modifying filetypes themselves.
Modified Paths:
--------------
trunk/geanygendoc/src/ggd-plugin.c
trunk/geanygendoc/src/ggd-plugin.h
trunk/geanygendoc/src/ggd.c
Modified: trunk/geanygendoc/src/ggd-plugin.c
===================================================================
--- trunk/geanygendoc/src/ggd-plugin.c 2010-05-01 17:46:12 UTC (rev 1322)
+++ trunk/geanygendoc/src/ggd-plugin.c 2010-05-01 17:46:41 UTC (rev 1323)
@@ -82,6 +82,7 @@
gchar *GGD_OPT_doctype = NULL;
gboolean GGD_OPT_save_to_refresh = FALSE;
gboolean GGD_OPT_indent = TRUE;
+gchar *GGD_OPT_environ = NULL;
@@ -151,6 +152,7 @@
ggd_opt_group_add_string (plugin->config, &GGD_OPT_doctype, "doctype");
ggd_opt_group_add_boolean (plugin->config, &GGD_OPT_save_to_refresh, "save_to_refresh");
ggd_opt_group_add_boolean (plugin->config, &GGD_OPT_indent, "indent");
+ ggd_opt_group_add_string (plugin->config, &GGD_OPT_environ, "environ");
conffile = ggd_get_config_file ("ggd.conf", NULL, GGD_PERM_R, &err);
if (conffile) {
success = ggd_opt_group_load_from_file (plugin->config, conffile, &err);
@@ -480,7 +482,31 @@
ggd_opt_group_set_proxy_gtktogglebutton (plugin->config, &GGD_OPT_indent,
widget);
gtk_box_pack_start (GTK_BOX (box), widget, FALSE, FALSE, 0);
+ /* environ editor */
+ widget = gtk_frame_new (_("Global environment"));
+ ui_widget_set_tooltip_text (widget, _("Global environment overrides and "
+ "additions. This environment will be "
+ "merged with the filetype-specific "
+ "ones."));
+ {
+ GtkWidget *scrolled;
+ GtkWidget *view;
+ GObject *proxy;
+
+ scrolled = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled),
+ GTK_SHADOW_IN);
+ gtk_container_add (GTK_CONTAINER (widget), scrolled);
+ view = gtk_text_view_new ();
+ proxy = G_OBJECT (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)));
+ ggd_opt_group_set_proxy (plugin->config, &GGD_OPT_environ, proxy, "text");
+ gtk_container_add (GTK_CONTAINER (scrolled), view);
+ }
+ gtk_box_pack_start (GTK_BOX (box), widget, TRUE, TRUE, 0);
+
gtk_widget_show_all (box);
return box;
Modified: trunk/geanygendoc/src/ggd-plugin.h
===================================================================
--- trunk/geanygendoc/src/ggd-plugin.h 2010-05-01 17:46:12 UTC (rev 1322)
+++ trunk/geanygendoc/src/ggd-plugin.h 2010-05-01 17:46:41 UTC (rev 1323)
@@ -55,6 +55,7 @@
extern gchar *GGD_OPT_doctype;
extern gboolean GGD_OPT_save_to_refresh;
extern gboolean GGD_OPT_indent;
+extern gchar *GGD_OPT_environ;
GGD_END_PLUGIN_API
Modified: trunk/geanygendoc/src/ggd.c
===================================================================
--- trunk/geanygendoc/src/ggd.c 2010-05-01 17:46:12 UTC (rev 1322)
+++ trunk/geanygendoc/src/ggd.c 2010-05-01 17:46:41 UTC (rev 1323)
@@ -236,6 +236,11 @@
env = get_env_for_tag (ft, setting, tag_array, tag);
ctpl_environ_merge (env, ft->user_env, FALSE);
+ if (! ctpl_environ_add_from_string (env, GGD_OPT_environ, &err)) {
+ msgwin_status_add (_("Failed to add global environment, skipping: %s"),
+ err->message);
+ g_clear_error (&err);
+ }
comment = parser_parse_to_string (setting->template, env, &err);
if (! comment) {
msgwin_status_add (_("Failed to build comment: %s"), err->message);
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