SF.net SVN: geany:[5025] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Wed Jun 16 15:22:19 UTC 2010
Revision: 5025
http://geany.svn.sourceforge.net/geany/?rev=5025&view=rev
Author: ntrel
Date: 2010-06-16 15:22:19 +0000 (Wed, 16 Jun 2010)
Log Message:
-----------
* Merge unstable branch:
- src/build.c:
Make build config entries light grey until set.
- src/keybindings.c, src/about.c, THANKS:
Fix the wrong file being put on top of the stack when switching tabs
too quickly (patch from Ji?\197?\153?\195?\173 Techet, thanks).
- src/templates.c, data/templates/gpl, data/templates/function,
data/templates/changelog, data/templates/bsd,
data/templates/fileheader, wscript, Makefile.am:
Move general templates from source code into files.
Load general templates from system path instead of creating them in
the user's config dir.
Modified Paths:
--------------
trunk/ChangeLog
trunk/Makefile.am
trunk/THANKS
trunk/src/about.c
trunk/src/build.c
trunk/src/keybindings.c
trunk/src/templates.c
trunk/wscript
Added Paths:
-----------
trunk/data/templates/bsd
trunk/data/templates/changelog
trunk/data/templates/fileheader
trunk/data/templates/function
trunk/data/templates/gpl
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2010-06-16 14:59:40 UTC (rev 5024)
+++ trunk/ChangeLog 2010-06-16 15:22:19 UTC (rev 5025)
@@ -3,6 +3,18 @@
* src/notebook.c:
Align notebook tab close buttons centred vertically - thanks to
Robux.Biz (galyuk).
+ * Merge unstable branch:
+ - src/build.c:
+ Make build config entries light grey until set.
+ - src/keybindings.c, src/about.c, THANKS:
+ Fix the wrong file being put on top of the stack when switching tabs
+ too quickly (patch from Jiří Techet, thanks).
+ - src/templates.c, data/templates/gpl, data/templates/function,
+ data/templates/changelog, data/templates/bsd,
+ data/templates/fileheader, wscript, Makefile.am:
+ Move general templates from source code into files.
+ Load general templates from system path instead of creating them in
+ the user's config dir.
2010-06-12 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/Makefile.am
===================================================================
--- trunk/Makefile.am 2010-06-16 14:59:40 UTC (rev 5024)
+++ trunk/Makefile.am 2010-06-16 15:22:19 UTC (rev 5025)
@@ -22,6 +22,7 @@
data/filetype_extensions.conf \
data/snippets.conf \
data/ui_toolbar.xml \
+ $(srcdir)/data/templates/* \
$(srcdir)/data/templates/files/*
EXTRA_DIST = \
@@ -63,6 +64,11 @@
fi \
done
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/templates;
+ for file in $(srcdir)/data/templates/*; do \
+ if test -f $$file; then \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/templates/; \
+ fi \
+ done
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/templates/files;
for file in $(srcdir)/data/templates/files/*; do \
if test -f $$file; then \
Modified: trunk/THANKS
===================================================================
--- trunk/THANKS 2010-06-16 14:59:40 UTC (rev 5024)
+++ trunk/THANKS 2010-06-16 15:22:19 UTC (rev 5025)
@@ -7,7 +7,8 @@
Testers and contributors:
-------------------------
These people have contributed to Geany by testing the software,
-reporting problems, sending patches and making useful suggestions.
+reporting problems, sending patches and making useful suggestions:
+
Frank Lanitz <frank(at)frank(dot)uvena(dot)de> - heavy testing
Christoph Berg <Christoph(dot)Berg(at)kpm-sport(dot)de> - testing and patch for filetype D
Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> - many patches
@@ -79,10 +80,12 @@
Dimitar Zhekov <hamster(at)mbox(dot)contact(dot)bg> - matching brace improvements patch
Ondrej Donek <ondrejd(at)gmail(dot)com> - Support for creating PHP classes with the classbuilder plugin
Daniel Marjamaki <danielm77(at)spray(dot)se> - Small improvements
+Jiří Techet <techet(at)gmail(dot)com> - Fix switch to last used tab ordering bug
Translators:
------------
-These people have translated Geany to foreign languages.
+These people have translated Geany to foreign languages:
+
Marcos Costales <marcoscostales(at)gmail(dot)com - ast
Yura Siamashka <yurand2(at)gmail(dot)com> - be_BY
Dilyan Rusev <dilyanrusev(at)gmail(dot)com> - bg
Copied: trunk/data/templates/bsd (from rev 5024, branches/unstable/data/templates/bsd)
===================================================================
--- trunk/data/templates/bsd (rev 0)
+++ trunk/data/templates/bsd 2010-06-16 15:22:19 UTC (rev 5025)
@@ -0,0 +1,26 @@
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+* Neither the name of the {company} nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
Copied: trunk/data/templates/changelog (from rev 5024, branches/unstable/data/templates/changelog)
===================================================================
--- trunk/data/templates/changelog (rev 0)
+++ trunk/data/templates/changelog 2010-06-16 15:22:19 UTC (rev 5025)
@@ -0,0 +1,6 @@
+{date} {developer} <{mail}>
+
+ *
+
+
+
Copied: trunk/data/templates/fileheader (from rev 5024, branches/unstable/data/templates/fileheader)
===================================================================
--- trunk/data/templates/fileheader (rev 0)
+++ trunk/data/templates/fileheader 2010-06-16 15:22:19 UTC (rev 5025)
@@ -0,0 +1,5 @@
+{filename}
+
+Copyright {year} {developer} <{mail}>
+
+{gpl}
Copied: trunk/data/templates/function (from rev 5024, branches/unstable/data/templates/function)
===================================================================
--- trunk/data/templates/function (rev 0)
+++ trunk/data/templates/function 2010-06-16 15:22:19 UTC (rev 5025)
@@ -0,0 +1,5 @@
+
+name: {functionname}
+ at param
+ at return
+
Copied: trunk/data/templates/gpl (from rev 5024, branches/unstable/data/templates/gpl)
===================================================================
--- trunk/data/templates/gpl (rev 0)
+++ trunk/data/templates/gpl 2010-06-16 15:22:19 UTC (rev 5025)
@@ -0,0 +1,15 @@
+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.
+
+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.
+
Modified: trunk/src/about.c
===================================================================
--- trunk/src/about.c 2010-06-16 14:59:40 UTC (rev 5024)
+++ trunk/src/about.c 2010-06-16 15:22:19 UTC (rev 5025)
@@ -89,7 +89,8 @@
"Daniel Marjamaki, Dave Moore, "
"Dimitar Zhekov, Dirk Weber, Elias Pschernig, Eric Forgeot, Eugene Arshinov, Felipe Pena, François Cami, "
"Giuseppe Torelli, Guillaume de Rorthais, Guillaume Hoffmann, Herbert Voss, Jason Oster, "
-"Jean-François Wauthy, Jeff Pohlmeyer, Jesse Mayes, John Gabriele, Jon Senior, Jon Strait, Josef Whiter, "
+"Jean-François Wauthy, Jeff Pohlmeyer, Jesse Mayes, Jiří Techet, "
+"John Gabriele, Jon Senior, Jon Strait, Josef Whiter, "
"Jörn Reder, Kelvin Gardiner, Kevin Ellwood, Kristoffer A. Tjernås, Lex Trotman, Marko Peric, Matti Mårds, "
"Moritz Barsnick, Ondrej Donek, Peter Strand, Philipp Gildein, Pierre Joye, Rob van der Linde, "
"Robert McGinley, Roland Baudin, Ross McKay, S Jagannathan, Saleem Abdulrasool, "
Modified: trunk/src/build.c
===================================================================
--- trunk/src/build.c 2010-06-16 14:59:40 UTC (rev 5024)
+++ trunk/src/build.c 2010-06-16 15:22:19 UTC (rev 5025)
@@ -1727,9 +1727,19 @@
gint grp;
gint cmd;
gboolean cleared;
+ gboolean used_dst;
} RowWidgets;
+static void set_row_color(RowWidgets *r, GdkColor *color )
+{
+ enum GeanyBuildCmdEntries i;
+
+ for (i = 0; i < GEANY_BC_CMDENTRIES_COUNT; i++)
+ gtk_widget_modify_text(r->entries[i], GTK_STATE_NORMAL, color);
+};
+
+
static void set_build_command_entry_text(GtkWidget *wid, const gchar *text)
{
if (GTK_IS_BUTTON(wid))
@@ -1744,6 +1754,7 @@
RowWidgets *r = (RowWidgets*)user_data;
gint src;
enum GeanyBuildCmdEntries i;
+ GdkColor color;
GeanyBuildCommand *bc = get_next_build_cmd(NULL, r->grp, r->cmd, r->dst, &src);
if (bc != NULL)
@@ -1764,6 +1775,9 @@
set_build_command_entry_text(r->entries[i], "");
}
}
+ r->used_dst = FALSE;
+ gdk_color_parse("light grey", &color);
+ set_row_color(r, &color);
r->cleared = TRUE;
}
@@ -1774,16 +1788,28 @@
}
-static void on_label_button_clicked(GtkWidget *wid)
+static void on_label_button_clicked(GtkWidget *wid, gpointer user_data)
{
+ RowWidgets *r = (RowWidgets*)user_data;
const gchar *old = gtk_button_get_label(GTK_BUTTON(wid));
gchar *str = dialogs_show_input(_("Set menu item label"), NULL, old);
gtk_button_set_label(GTK_BUTTON(wid), str);
g_free(str);
+ r->used_dst = TRUE;
+ set_row_color(r, NULL);
}
+static void on_entry_focus(GtkWidget *wid, GdkEventFocus *unused, gpointer user_data)
+{
+ RowWidgets *r = (RowWidgets*)user_data;
+
+ r->used_dst = TRUE;
+ set_row_color(r, NULL);
+}
+
+
/* Column headings, array NULL-terminated */
static const gchar *colheads[] =
{
@@ -1812,6 +1838,7 @@
gint src;
enum GeanyBuildCmdEntries i;
guint column = 0;
+ GdkColor color;
label = gtk_label_new(g_strdup_printf("%d:", cmd + 1));
gtk_table_attach(table, label, column, column + 1, row, row + 1, GTK_FILL,
@@ -1831,10 +1858,13 @@
GtkWidget *wid = roww->entries[i] = gtk_button_new();
gtk_button_set_use_underline(GTK_BUTTON(wid), TRUE);
ui_widget_set_tooltip_text(wid, _("Click to set menu item label"));
- g_signal_connect(wid, "clicked", G_CALLBACK(on_label_button_clicked), NULL);
+ g_signal_connect(wid, "clicked", G_CALLBACK(on_label_button_clicked), roww);
}
else
+ {
roww->entries[i] = gtk_entry_new();
+ g_signal_connect(roww->entries[i], "focus-in-event", G_CALLBACK(on_entry_focus), roww);
+ }
gtk_table_attach(table, roww->entries[i], column, column + 1, row, row + 1, xflags,
GTK_FILL | GTK_EXPAND, entry_x_padding, entry_y_padding);
}
@@ -1852,10 +1882,19 @@
for (i = 0; i < GEANY_BC_CMDENTRIES_COUNT; i++)
{
const gchar *str = "";
- if (bc != NULL && (str = bc->entries[i]) == NULL)
- str = "";
+
+ if (bc != NULL )
+ {
+ if ((str = bc->entries[i]) == NULL)
+ str = "";
+ else if ((gint)dst == src)
+ roww->used_dst = TRUE;
+ }
set_build_command_entry_text(roww->entries[i], str);
}
+ gdk_color_parse("light grey", &color);
+ if (bc != NULL && ((gint)dst > src))
+ set_row_color(roww, &color);
if (bc != NULL && (src > (gint)dst || (grp == GEANY_GBG_FT && (doc == NULL || doc->file_type == NULL))))
{
for (i = 0; i < GEANY_BC_CMDENTRIES_COUNT; i++)
@@ -2014,6 +2053,7 @@
/* string compare where null pointers match null or 0 length strings */
+#if 0
static gint stcmp(const gchar *a, const gchar *b)
{
if (a == NULL && b == NULL)
@@ -2024,6 +2064,7 @@
return strlen(a);
return strcmp(a, b);
}
+#endif
static const gchar *get_build_command_entry_text(GtkWidget *wid)
@@ -2059,28 +2100,7 @@
changed = TRUE;
}
}
- if (
- (
- table_data->rows[drow]->cmdsrc == NULL /* originally there was no content */
- &&
- (
- NZV(entries[GEANY_BC_LABEL]) /* but now one field has some */
- || NZV(entries[GEANY_BC_COMMAND])
- || NZV(entries[GEANY_BC_WORKING_DIR])
- )
- )
- ||
- (
- table_data->rows[drow]->cmdsrc != NULL /* originally there was content */
- &&
- ( /* and some of it was changed */
- stcmp(entries[GEANY_BC_LABEL], table_data->rows[drow]->cmdsrc->entries[GEANY_BC_LABEL]) != 0
- || stcmp(entries[GEANY_BC_COMMAND], table_data->rows[drow]->cmdsrc->entries[GEANY_BC_COMMAND]) != 0
- || stcmp(entries[GEANY_BC_WORKING_DIR],
- table_data->rows[drow]->cmdsrc->entries[GEANY_BC_WORKING_DIR]) != 0
- )
- )
- )
+ if (table_data->rows[drow]->used_dst == TRUE)
{
if (dst->dst[grp] != NULL)
{
Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c 2010-06-16 14:59:40 UTC (rev 5024)
+++ trunk/src/keybindings.c 2010-06-16 15:22:19 UTC (rev 5025)
@@ -71,7 +71,7 @@
static GQueue *mru_docs = NULL;
static guint mru_pos = 0;
-static gboolean switch_dialog_cancelled = TRUE;
+static gboolean switch_in_progress = FALSE;
static GtkWidget *switch_dialog = NULL;
static GtkWidget *switch_dialog_label = NULL;
@@ -576,7 +576,7 @@
/* when closing current doc, old is NULL.
* Don't add to the mru list when switch dialog is visible. */
- if (old && switch_dialog_cancelled)
+ if (old && !switch_in_progress)
{
g_queue_remove(mru_docs, old);
g_queue_push_head(mru_docs, old);
@@ -879,7 +879,7 @@
gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
text_renderer = gtk_cell_renderer_text_new();
- column = gtk_tree_view_column_new_with_attributes(NULL, text_renderer, "text", 1, NULL);
+ column = gtk_tree_view_column_new_with_attributes(NULL, text_renderer, "text", 1, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
fill_shortcut_labels_treeview(tree);
@@ -1751,12 +1751,15 @@
static gboolean on_key_release_event(GtkWidget *widget, GdkEventKey *ev, gpointer user_data)
{
/* user may have rebound keybinding to a different modifier than Ctrl, so check all */
- if (!switch_dialog_cancelled && is_modifier_key(ev->keyval))
+ if (switch_in_progress && is_modifier_key(ev->keyval))
{
- switch_dialog_cancelled = TRUE;
+ switch_in_progress = FALSE;
- if (switch_dialog && GTK_WIDGET_VISIBLE(switch_dialog))
- gtk_widget_hide(switch_dialog);
+ if (switch_dialog)
+ {
+ gtk_widget_destroy(switch_dialog);
+ switch_dialog = NULL;
+ }
mru_pos = 0;
}
@@ -1809,23 +1812,27 @@
}
+static void update_filename_label()
+{
+ if (!switch_dialog)
+ {
+ switch_dialog = create_switch_dialog();
+ gtk_widget_show_all(switch_dialog);
+ }
+
+ geany_wrap_label_set_text(GTK_LABEL(switch_dialog_label),
+ DOC_FILENAME(document_get_current()));
+}
+
+
static gboolean on_switch_timeout(G_GNUC_UNUSED gpointer data)
{
- if (switch_dialog_cancelled)
+ if (!switch_in_progress || switch_dialog)
{
return FALSE;
}
- if (! switch_dialog || !GTK_WIDGET_VISIBLE(switch_dialog))
- mru_pos = 2; /* skip past the previous document */
- else
- mru_pos += 1;
- if (! switch_dialog)
- switch_dialog = create_switch_dialog();
-
- geany_wrap_label_set_text(GTK_LABEL(switch_dialog_label),
- DOC_FILENAME(document_get_current()));
- gtk_widget_show_all(switch_dialog);
+ update_filename_label();
return FALSE;
}
@@ -1848,19 +1855,25 @@
/* if there's a modifier key, we can switch back in MRU order each time unless
* the key is released */
- if (! switch_dialog_cancelled)
+ if (!switch_in_progress)
{
- on_switch_timeout(NULL); /* update filename label */
- }
- else
- if (keybindings_lookup_item(GEANY_KEY_GROUP_NOTEBOOK,
- GEANY_KEYS_NOTEBOOK_SWITCHTABLASTUSED)->mods)
- {
- switch_dialog_cancelled = FALSE;
+ switch_in_progress = TRUE;
+ /* because switch_in_progress was not set when we called
+ * gtk_notebook_set_current_page() above, this function inserted last_doc
+ * into the queue => on mru_pos = 0 there is last_doc, on mru_pos = 1
+ * there is the currently displayed doc, so we want to continue from 2
+ * next time this function is called */
+ mru_pos = 2;
+
/* delay showing dialog to give user time to let go of any modifier keys */
g_timeout_add(600, on_switch_timeout, NULL);
}
+ else
+ {
+ update_filename_label();
+ mru_pos += 1;
+ }
}
Modified: trunk/src/templates.c
===================================================================
--- trunk/src/templates.c 2010-06-16 14:59:40 UTC (rev 5024)
+++ trunk/src/templates.c 2010-06-16 15:22:19 UTC (rev 5025)
@@ -102,11 +102,6 @@
@return\n\
";
-static const gchar templates_multiline[] = "\
- \n\
- \n\
-";
-
static const gchar templates_fileheader[] = "\
{filename}\n\
\n\
@@ -145,24 +140,30 @@
g_file_get_contents(fname, contents_ptr, NULL, NULL);
-static void create_template_file_if_necessary(const gchar *filename, const gchar *content)
+static void read_template(const gchar *name, gint id)
{
- if (! g_file_test(filename, G_FILE_TEST_EXISTS))
+ gchar *fname = TEMPLATES_GET_FILENAME(name);
+
+ /* try system if user template doesn't exist */
+ if (!g_file_test(fname, G_FILE_TEST_EXISTS))
+ setptr(fname, g_strconcat(app->datadir,
+ G_DIR_SEPARATOR_S GEANY_TEMPLATES_SUBDIR G_DIR_SEPARATOR_S, name, NULL));
+
+ TEMPLATES_READ_FILE(fname, &templates[id]);
+
+ /* FIXME: we should replace the line ends on insertion with doc pref, not on loading */
+ if (file_prefs.default_eol_character != SC_EOL_LF)
{
- if (file_prefs.default_eol_character != SC_EOL_LF)
- {
- /* Replace the \n characters in the default template text by the proper
- * platform-specific line ending characters. */
- GString *tmp = g_string_new(content);
- const gchar *eol_str = (file_prefs.default_eol_character == SC_EOL_CR) ? "\r" : "\r\n";
+ /* Replace the \n characters in the default template text by the proper
+ * platform-specific line ending characters. */
+ GString *tmp = g_string_new(templates[id]);
+ const gchar *eol_str = (file_prefs.default_eol_character == SC_EOL_CR) ? "\r" : "\r\n";
- utils_string_replace_all(tmp, "\n", eol_str);
- utils_write_file(filename, tmp->str);
- g_string_free(tmp, TRUE);
- }
- else
- utils_write_file(filename, content);
+ utils_string_replace_all(tmp, "\n", eol_str);
+ setptr(templates[id], tmp->str);
+ g_string_free(tmp, FALSE);
}
+ g_free(fname);
}
@@ -189,41 +190,18 @@
static void init_general_templates(const gchar *year, const gchar *date, const gchar *datetime)
{
- gchar *template_filename_fileheader = TEMPLATES_GET_FILENAME("fileheader");
- gchar *template_filename_gpl = TEMPLATES_GET_FILENAME("gpl");
- gchar *template_filename_bsd = TEMPLATES_GET_FILENAME("bsd");
- gchar *template_filename_function = TEMPLATES_GET_FILENAME("function");
- gchar *template_filename_changelog = TEMPLATES_GET_FILENAME("changelog");
+ guint id;
- /* create the template files in the configuration directory, if they don't exist */
- create_template_file_if_necessary(template_filename_fileheader, templates_fileheader);
- create_template_file_if_necessary(template_filename_gpl, templates_gpl_notice);
- create_template_file_if_necessary(template_filename_bsd, templates_bsd_notice);
- create_template_file_if_necessary(template_filename_function, templates_function_description);
- create_template_file_if_necessary(template_filename_changelog, templates_changelog);
-
/* read the contents */
- TEMPLATES_READ_FILE(template_filename_fileheader, &templates[GEANY_TEMPLATE_FILEHEADER]);
- templates[GEANY_TEMPLATE_FILEHEADER] = replace_all(templates[GEANY_TEMPLATE_FILEHEADER], year, date, datetime);
+ read_template("fileheader", GEANY_TEMPLATE_FILEHEADER);
+ read_template("gpl", GEANY_TEMPLATE_GPL);
+ read_template("bsd", GEANY_TEMPLATE_BSD);
+ read_template("function", GEANY_TEMPLATE_FUNCTION);
+ read_template("changelog", GEANY_TEMPLATE_CHANGELOG);
- TEMPLATES_READ_FILE(template_filename_gpl, &templates[GEANY_TEMPLATE_GPL]);
- templates[GEANY_TEMPLATE_GPL] = replace_all(templates[GEANY_TEMPLATE_GPL], year, date, datetime);
-
- TEMPLATES_READ_FILE(template_filename_bsd, &templates[GEANY_TEMPLATE_BSD]);
- templates[GEANY_TEMPLATE_BSD] = replace_all(templates[GEANY_TEMPLATE_BSD], year, date, datetime);
-
- TEMPLATES_READ_FILE(template_filename_function, &templates[GEANY_TEMPLATE_FUNCTION]);
- templates[GEANY_TEMPLATE_FUNCTION] = replace_all(templates[GEANY_TEMPLATE_FUNCTION], year, date, datetime);
-
- TEMPLATES_READ_FILE(template_filename_changelog, &templates[GEANY_TEMPLATE_CHANGELOG]);
- templates[GEANY_TEMPLATE_CHANGELOG] = replace_all(templates[GEANY_TEMPLATE_CHANGELOG], year, date, datetime);
-
- /* free the whole stuff */
- g_free(template_filename_fileheader);
- g_free(template_filename_gpl);
- g_free(template_filename_bsd);
- g_free(template_filename_function);
- g_free(template_filename_changelog);
+ /* FIXME: we should replace the dates on insertion, not on loading */
+ for (id = 0; id < GEANY_MAX_TEMPLATES; id++)
+ templates[id] = replace_all(templates[id], year, date, datetime);
}
Modified: trunk/wscript
===================================================================
--- trunk/wscript 2010-06-16 14:59:40 UTC (rev 5024)
+++ trunk/wscript 2010-06-16 15:22:19 UTC (rev 5025)
@@ -518,6 +518,7 @@
bld.install_files('${DATADIR}/%s' % dir, 'data/*.tags')
bld.install_files('${DATADIR}/%s' % dir, 'data/snippets.conf')
bld.install_files('${DATADIR}/%s' % dir, 'data/ui_toolbar.xml')
+ bld.install_files('${DATADIR}/%s/templates' % dir, 'data/templates/*')
bld.install_files('${DATADIR}/%s/templates/files' % dir, 'data/templates/files/*.*')
bld.install_as('${DATADIR}/%s/GPL-2' % dir, 'COPYING')
# Icons
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list