[gnome-builder/wip/gtk4-port: 1317/1774] plugins/create-project: add toggle for default license
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/gtk4-port: 1317/1774] plugins/create-project: add toggle for default license
- Date: Mon, 11 Jul 2022 22:31:42 +0000 (UTC)
commit 67fb812a761764a159e5f1d05969526bb50ae884
Author: Christian Hergert <chergert redhat com>
Date: Thu Jun 2 16:34:46 2022 -0700
plugins/create-project: add toggle for default license
data/gsettings/org.gnome.builder.gschema.xml | 15 +++++++++++++++
src/plugins/create-project/gbp-create-project-widget.c | 15 +++++++++++----
2 files changed, 26 insertions(+), 4 deletions(-)
---
diff --git a/data/gsettings/org.gnome.builder.gschema.xml b/data/gsettings/org.gnome.builder.gschema.xml
index c9b2a1b4b..80a762500 100644
--- a/data/gsettings/org.gnome.builder.gschema.xml
+++ b/data/gsettings/org.gnome.builder.gschema.xml
@@ -46,5 +46,20 @@
<key name="format-on-save" type="b">
<default>false</default>
</key>
+ <key name="default-license" type="s">
+ <choices>
+ <choice value="AGPL-3.0-or-later"/>
+ <choice value="Apache-2.0"/>
+ <choice value="GPL-2.0-or-later"/>
+ <choice value="GPL-3.0-or-later"/>
+ <choice value="LGPL-2.1-or-later"/>
+ <choice value="LGPL-3.0-or-later"/>
+ <choice value="MIT"/>
+ <choice value="No License"/>
+ </choices>
+ <default>'GPL-3.0-or-later'</default>
+ <summary>Default License</summary>
+ <description>THe default license to use for new projects</description>
+ </key>
</schema>
</schemalist>
diff --git a/src/plugins/create-project/gbp-create-project-widget.c
b/src/plugins/create-project/gbp-create-project-widget.c
index b78f5a075..2a4e97ad0 100644
--- a/src/plugins/create-project/gbp-create-project-widget.c
+++ b/src/plugins/create-project/gbp-create-project-widget.c
@@ -46,6 +46,8 @@ struct _GbpCreateProjectWidget
AdwEntryRow *location_row;
AdwEntryRow *name_row;
AdwEntryRow *template_row;
+
+ guint loaded : 1;
};
enum {
@@ -146,6 +148,9 @@ input_notify_cb (GbpCreateProjectWidget *self,
g_assert (GBP_IS_CREATE_PROJECT_WIDGET (self));
g_assert (IDE_IS_TEMPLATE_INPUT (input));
+ if (!self->loaded)
+ return;
+
flags = ide_template_input_validate (input);
#define CHECK_FLAG(FLAG,widget) \
@@ -406,14 +411,16 @@ static void
gbp_create_project_widget_init (GbpCreateProjectWidget *self)
{
g_autofree char *projects_dir = ide_path_collapse (ide_get_projects_dir ());
+ g_autoptr(GSettings) settings = g_settings_new ("org.gnome.builder");
+ g_autofree char *default_license = g_settings_get_string (settings, "default-license");
gtk_widget_init_template (GTK_WIDGET (self));
gtk_editable_set_text (GTK_EDITABLE (self->location_row), projects_dir);
- adw_combo_row_set_selected (self->license_row, find_license (self, "GPL-3.0-or-later"));
+ adw_combo_row_set_selected (self->license_row, find_license (self, default_license));
/* Always start disabled */
- gtk_widget_action_set_enabled (GTK_WIDGET (self),
- "create-project.expand",
- FALSE);
+ gtk_widget_action_set_enabled (GTK_WIDGET (self), "create-project.expand", FALSE);
+
+ self->loaded = TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]