diff --git a/data/Makefile.am b/data/Makefile.am
index 9cd5ec95bb..50dcc105d4 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -95,11 +95,22 @@ template_files = \
templates/files/program.pas
templates = \
- templates/bsd \
templates/changelog \
templates/fileheader \
templates/function \
- templates/gpl
+ templates/agpl2 \
+ templates/agpl3 \
+ templates/apache2 \
+ templates/bsd-2-clause \
+ templates/bsd-3-clause \
+ templates/cc0 \
+ templates/gpl2 \
+ templates/gpl3 \
+ templates/lgpl2 \
+ templates/lgpl3 \
+ templates/mit \
+ templates/mpl2 \
+ templates/zlib-libpng
nobase_dist_pkgdata_DATA = \
$(colorschemes) \
diff --git a/data/geany.glade b/data/geany.glade
index 52cbcd43a9..22576d9057 100644
--- a/data/geany.glade
+++ b/data/geany.glade
@@ -361,21 +361,120 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6901,21 +7000,120 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/data/templates/agpl2 b/data/templates/agpl2
new file mode 100644
index 0000000000..0b68196676
--- /dev/null
+++ b/data/templates/agpl2
@@ -0,0 +1,14 @@
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU Affero 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 Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero 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.
diff --git a/data/templates/agpl3 b/data/templates/agpl3
new file mode 100644
index 0000000000..8273a30131
--- /dev/null
+++ b/data/templates/agpl3
@@ -0,0 +1,12 @@
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 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 Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
diff --git a/data/templates/apache2 b/data/templates/apache2
new file mode 100644
index 0000000000..758500e86b
--- /dev/null
+++ b/data/templates/apache2
@@ -0,0 +1,13 @@
+Copyright {year} {developer}
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/data/templates/bsd-2-clause b/data/templates/bsd-2-clause
new file mode 100644
index 0000000000..c01cf0c176
--- /dev/null
+++ b/data/templates/bsd-2-clause
@@ -0,0 +1,24 @@
+Copyright (c) {year}, {developer}
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. 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.
+
+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.
diff --git a/data/templates/bsd b/data/templates/bsd-3-clause
similarity index 92%
rename from data/templates/bsd
rename to data/templates/bsd-3-clause
index 790f6861dd..69befbaa70 100644
--- a/data/templates/bsd
+++ b/data/templates/bsd-3-clause
@@ -1,3 +1,6 @@
+Copyright (c) {year}, {developer}
+All rights reserved.
+
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
@@ -8,7 +11,7 @@ met:
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
+* 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.
diff --git a/data/templates/cc0 b/data/templates/cc0
new file mode 100644
index 0000000000..2b6db3f6bb
--- /dev/null
+++ b/data/templates/cc0
@@ -0,0 +1,4 @@
+CC0 1.0 Universal (CC0 1.0)
+Any copyright is dedicated to the Public Domain.
+http://creativecommons.org/publicdomain/zero/1.0/
+http://creativecommons.org/publicdomain/zero/1.0/legalcode
diff --git a/data/templates/gpl b/data/templates/gpl2
similarity index 100%
rename from data/templates/gpl
rename to data/templates/gpl2
diff --git a/data/templates/gpl3 b/data/templates/gpl3
new file mode 100644
index 0000000000..9aa03b39be
--- /dev/null
+++ b/data/templates/gpl3
@@ -0,0 +1,12 @@
+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 3 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, see .
diff --git a/data/templates/lgpl2 b/data/templates/lgpl2
new file mode 100644
index 0000000000..62f962bb3d
--- /dev/null
+++ b/data/templates/lgpl2
@@ -0,0 +1,14 @@
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser 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.
diff --git a/data/templates/lgpl3 b/data/templates/lgpl3
new file mode 100644
index 0000000000..ba47ed30b1
--- /dev/null
+++ b/data/templates/lgpl3
@@ -0,0 +1,12 @@
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation, either version 3 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 Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program. If not, see .
diff --git a/data/templates/mit b/data/templates/mit
new file mode 100644
index 0000000000..ff86001fd0
--- /dev/null
+++ b/data/templates/mit
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) {year} {developer}
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/data/templates/mpl2 b/data/templates/mpl2
new file mode 100644
index 0000000000..41dc2327f1
--- /dev/null
+++ b/data/templates/mpl2
@@ -0,0 +1,3 @@
+This Source Code Form is subject to the terms of the Mozilla Public
+License, v. 2.0. If a copy of the MPL was not distributed with this
+file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/data/templates/zlib-libpng b/data/templates/zlib-libpng
new file mode 100644
index 0000000000..4b476f5d99
--- /dev/null
+++ b/data/templates/zlib-libpng
@@ -0,0 +1,13 @@
+The zlib/libpng License
+
+Copyright (c) {year} {developer}
+
+This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source distribution.
diff --git a/src/callbacks.c b/src/callbacks.c
index 92872fa206..5b17b7c904 100644
--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -1060,27 +1060,134 @@ static void insert_comment_template(GeanyDocument *doc, gint pos, guint template
}
-static void on_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data)
+static void on_comments_agpl2_activate(GtkMenuItem *menuitem, gpointer user_data)
{
- insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_GPL);
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_AGPL2);
}
+static void on_menu_comments_agpl2_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_AGPL2);
+}
+
+static void on_comments_agpl3_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_AGPL3);
+}
+
+static void on_menu_comments_agpl3_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_AGPL3);
+}
+
+static void on_comments_apache2_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_APACHE2);
+}
+
+static void on_menu_comments_apache2_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_APACHE2);
+}
+
+static void on_comments_bsd_2_clause_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_BSD_2_CLAUSE);
+}
+
+static void on_menu_comments_bsd_2_clause_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_BSD_2_CLAUSE);
+}
+
+static void on_comments_bsd_3_clause_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_BSD_3_CLAUSE);
+}
+
+static void on_menu_comments_bsd_3_clause_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_BSD_3_CLAUSE);
+}
+
+static void on_comments_cc0_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_CC0);
+}
-static void on_menu_comments_gpl_activate(GtkMenuItem *menuitem, gpointer user_data)
+static void on_menu_comments_cc0_activate(GtkMenuItem *menuitem, gpointer user_data)
{
- insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_GPL);
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_CC0);
}
+static void on_comments_gpl2_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_GPL2);
+}
-static void on_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data)
+static void on_menu_comments_gpl2_activate(GtkMenuItem *menuitem, gpointer user_data)
{
- insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_BSD);
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_GPL2);
}
+static void on_comments_gpl3_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_GPL3);
+}
+
+static void on_menu_comments_gpl3_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_GPL3);
+}
+
+static void on_comments_lgpl2_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_LGPL2);
+}
+
+static void on_menu_comments_lgpl2_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_LGPL2);
+}
+
+static void on_comments_lgpl3_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_LGPL3);
+}
+
+static void on_menu_comments_lgpl3_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_LGPL3);
+}
+
+static void on_comments_mit_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_MIT);
+}
+
+static void on_menu_comments_mit_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_MIT);
+}
+
+static void on_comments_mpl2_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_MPL2);
+}
+
+static void on_menu_comments_mpl2_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_MPL2);
+}
+
+static void on_comments_zlib_libpng_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+ insert_comment_template(document_get_current(), editor_info.click_pos, GEANY_TEMPLATE_ZLIB_LIBPNG);
+}
-static void on_menu_comments_bsd_activate(GtkMenuItem *menuitem, gpointer user_data)
+static void on_menu_comments_zlib_libpng_activate(GtkMenuItem *menuitem, gpointer user_data)
{
- insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_BSD);
+ insert_comment_template(document_get_current(), -1, GEANY_TEMPLATE_ZLIB_LIBPNG);
}
diff --git a/src/templates.c b/src/templates.c
index 512edb04e9..4f85991912 100644
--- a/src/templates.c
+++ b/src/templates.c
@@ -131,8 +131,19 @@ static void init_general_templates(void)
{
/* read the contents */
read_template("fileheader", GEANY_TEMPLATE_FILEHEADER);
- read_template("gpl", GEANY_TEMPLATE_GPL);
- read_template("bsd", GEANY_TEMPLATE_BSD);
+ read_template("agpl2", GEANY_TEMPLATE_AGPL2);
+ read_template("agpl3", GEANY_TEMPLATE_AGPL3);
+ read_template("apache2", GEANY_TEMPLATE_APACHE2);
+ read_template("bsd-2-clause", GEANY_TEMPLATE_BSD_2_CLAUSE);
+ read_template("bsd-3-clause", GEANY_TEMPLATE_BSD_3_CLAUSE);
+ read_template("cc0", GEANY_TEMPLATE_CC0);
+ read_template("gpl2", GEANY_TEMPLATE_GPL2);
+ read_template("gpl3", GEANY_TEMPLATE_GPL3);
+ read_template("lgpl2", GEANY_TEMPLATE_LGPL2);
+ read_template("lgpl3", GEANY_TEMPLATE_LGPL3);
+ read_template("mit", GEANY_TEMPLATE_MIT);
+ read_template("mpl2", GEANY_TEMPLATE_MPL2);
+ read_template("zlib-libpng", GEANY_TEMPLATE_ZLIB_LIBPNG);
read_template("function", GEANY_TEMPLATE_FUNCTION);
read_template("changelog", GEANY_TEMPLATE_CHANGELOG);
}
@@ -425,7 +436,7 @@ gchar *templates_get_template_licence(GeanyDocument *doc, gint licence_type)
GString *template;
g_return_val_if_fail(DOC_VALID(doc), NULL);
- g_return_val_if_fail(licence_type == GEANY_TEMPLATE_GPL || licence_type == GEANY_TEMPLATE_BSD, NULL);
+ g_return_val_if_fail(licence_type == GEANY_TEMPLATE_AGPL2 || licence_type == GEANY_TEMPLATE_AGPL3 || licence_type == GEANY_TEMPLATE_APACHE2 || licence_type == GEANY_TEMPLATE_BSD_2_CLAUSE || licence_type == GEANY_TEMPLATE_BSD_3_CLAUSE || licence_type == GEANY_TEMPLATE_CC0 || licence_type == GEANY_TEMPLATE_GPL2 || licence_type == GEANY_TEMPLATE_GPL3 || licence_type == GEANY_TEMPLATE_LGPL2 || licence_type == GEANY_TEMPLATE_LGPL3 || licence_type == GEANY_TEMPLATE_MIT || licence_type == GEANY_TEMPLATE_MPL2 || licence_type == GEANY_TEMPLATE_ZLIB_LIBPNG, NULL);
template = g_string_new(templates[licence_type]);
replace_static_values(template);
@@ -446,8 +457,19 @@ static gchar *get_template_fileheader(GeanyFiletype *ft)
filetypes_load_config(ft->id, FALSE); /* load any user extension setting */
templates_replace_valist(template,
- "{gpl}", templates[GEANY_TEMPLATE_GPL],
- "{bsd}", templates[GEANY_TEMPLATE_BSD],
+ "{agpl2}", templates[GEANY_TEMPLATE_AGPL2],
+ "{agpl3}", templates[GEANY_TEMPLATE_AGPL3],
+ "{apache2}", templates[GEANY_TEMPLATE_APACHE2],
+ "{bsd-2-clause}", templates[GEANY_TEMPLATE_BSD_2_CLAUSE],
+ "{bsd-3-clause}", templates[GEANY_TEMPLATE_BSD_3_CLAUSE],
+ "{cc0}", templates[GEANY_TEMPLATE_CC0],
+ "{gpl2}", templates[GEANY_TEMPLATE_GPL2],
+ "{gpl3}", templates[GEANY_TEMPLATE_GPL3],
+ "{lgpl2}", templates[GEANY_TEMPLATE_LGPL2],
+ "{lgpl3}", templates[GEANY_TEMPLATE_LGPL3],
+ "{mit}", templates[GEANY_TEMPLATE_MIT],
+ "{mpl2}", templates[GEANY_TEMPLATE_MPL2],
+ "{zlib-libpng}", templates[GEANY_TEMPLATE_ZLIB_LIBPNG],
NULL);
/* we don't replace other wildcards here otherwise they would get done twice for files */
diff --git a/src/templates.h b/src/templates.h
index 7e61283c23..0689e0e14d 100644
--- a/src/templates.h
+++ b/src/templates.h
@@ -64,8 +64,19 @@ struct filetype;
enum
{
- GEANY_TEMPLATE_GPL = 0,
- GEANY_TEMPLATE_BSD,
+ GEANY_TEMPLATE_AGPL2 = 0,
+ GEANY_TEMPLATE_AGPL3,
+ GEANY_TEMPLATE_APACHE2,
+ GEANY_TEMPLATE_BSD_2_CLAUSE,
+ GEANY_TEMPLATE_BSD_3_CLAUSE,
+ GEANY_TEMPLATE_CC0,
+ GEANY_TEMPLATE_GPL2,
+ GEANY_TEMPLATE_GPL3,
+ GEANY_TEMPLATE_LGPL2,
+ GEANY_TEMPLATE_LGPL3,
+ GEANY_TEMPLATE_MIT,
+ GEANY_TEMPLATE_MPL2,
+ GEANY_TEMPLATE_ZLIB_LIBPNG,
GEANY_TEMPLATE_FILEHEADER,
GEANY_TEMPLATE_CHANGELOG,
GEANY_TEMPLATE_FUNCTION,