[gnome-builder] plugins/create-project: use AdwPreferencesPage
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] plugins/create-project: use AdwPreferencesPage
- Date: Tue, 4 Oct 2022 01:55:22 +0000 (UTC)
commit f4868f40c7c1d98fe1cc6ce9a59821466399abab
Author: William Roy <wroy proton me>
Date: Sun Oct 2 18:37:42 2022 +0000
plugins/create-project: use AdwPreferencesPage
Fix scrollability of project creation by placing groups within a
preferences page.
.../create-project/gbp-create-project-widget.ui | 229 ++++++++++-----------
1 file changed, 112 insertions(+), 117 deletions(-)
---
diff --git a/src/plugins/create-project/gbp-create-project-widget.ui
b/src/plugins/create-project/gbp-create-project-widget.ui
index 604b1c41e..d34833ed7 100644
--- a/src/plugins/create-project/gbp-create-project-widget.ui
+++ b/src/plugins/create-project/gbp-create-project-widget.ui
@@ -2,137 +2,130 @@
<interface>
<template class="GbpCreateProjectWidget" parent="GtkWidget">
<child>
- <object class="AdwClamp" id="main">
- <property name="orientation">horizontal</property>
- <property name="maximum-size">550</property>
+ <object class="AdwPreferencesPage" id="main">
<child>
- <object class="GtkBox">
- <property name="margin-top">64</property>
- <property name="margin-bottom">64</property>
- <property name="orientation">vertical</property>
- <property name="spacing">24</property>
+ <object class="AdwPreferencesGroup">
<child>
- <object class="AdwPreferencesGroup">
- <child>
- <object class="AdwEntryRow" id="name_row">
- <property name="title" translatable="yes">Project Name</property>
- <property name="text" bind-source="input" bind-property="name"
bind-flags="sync-create|bidirectional"/>
- <child type="suffix">
- <object class="GtkImage" id="directory_clash">
- <property name="visible">false</property>
- <property name="icon-name">dialog-error-symbolic</property>
- <property name="tooltip-text" translatable="yes">A subdirectory with this name
already exists</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">A unique name that is used for the project
folder and other resources. The name should be in lower case without spaces and should not start with a
number.</property>
- <property name="margin-top">12</property>
- <property name="wrap">true</property>
- <property name="xalign">0</property>
- <style>
- <class name="caption"/>
- <class name="dim-label"/>
- </style>
+ <object class="AdwEntryRow" id="name_row">
+ <property name="title" translatable="yes">Project Name</property>
+ <property name="text" bind-source="input" bind-property="name"
bind-flags="sync-create|bidirectional" />
+ <child type="suffix">
+ <object class="GtkImage" id="directory_clash">
+ <property name="visible">false</property>
+ <property name="icon-name">dialog-error-symbolic</property>
+ <property name="tooltip-text" translatable="yes">A subdirectory with this name already
exists</property>
</object>
</child>
</object>
</child>
<child>
- <object class="AdwPreferencesGroup">
- <child>
- <object class="AdwEntryRow" id="app_id_row">
- <property name="title" translatable="yes">Application ID…</property>
- <property name="text" bind-source="input" bind-property="app-id"
bind-flags="sync-create|bidirectional"/>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">A reverse domain-name identifier used to
identify the application, such as "org.gnome.Builder". It may not contain dashes.</property>
- <property name="margin-top">12</property>
- <property name="wrap">true</property>
- <property name="xalign">0</property>
- <style>
- <class name="caption"/>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">A unique name that is used for the project folder
and other resources. The name should be in lower case without spaces and should not start with a
number.</property>
+ <property name="margin-top">12</property>
+ <property name="wrap">true</property>
+ <property name="xalign">0</property>
+ <style>
+ <class name="caption" />
+ <class name="dim-label" />
+ </style>
</object>
</child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
<child>
- <object class="AdwPreferencesGroup">
- <child>
- <object class="AdwEntryRow" id="location_row">
- <property name="title" translatable="yes">Location</property>
- <signal name="changed" handler="location_row_changed_cb" swapped="true"
object="GbpCreateProjectWidget"/>
- <child type="suffix">
- <object class="GtkButton">
- <property name="action-name">create-project.select-folder</property>
- <property name="valign">center</property>
- <property name="icon-name">folder-symbolic</property>
- <style>
- <class name="flat"/>
- </style>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">The project will be created in a new
subdirectory.</property>
- <property name="margin-top">12</property>
- <property name="wrap">true</property>
- <property name="xalign">0</property>
+ <object class="AdwEntryRow" id="app_id_row">
+ <property name="title" translatable="yes">Application ID…</property>
+ <property name="text" bind-source="input" bind-property="app-id"
bind-flags="sync-create|bidirectional" />
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">A reverse domain-name identifier used to identify
the application, such as "org.gnome.Builder". It may not contain dashes.</property>
+ <property name="margin-top">12</property>
+ <property name="wrap">true</property>
+ <property name="xalign">0</property>
+ <style>
+ <class name="caption" />
+ <class name="dim-label" />
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <child>
+ <object class="AdwEntryRow" id="location_row">
+ <property name="title" translatable="yes">Location</property>
+ <signal name="changed" handler="location_row_changed_cb" swapped="true"
object="GbpCreateProjectWidget" />
+ <child type="suffix">
+ <object class="GtkButton">
+ <property name="action-name">create-project.select-folder</property>
+ <property name="valign">center</property>
+ <property name="icon-name">folder-symbolic</property>
<style>
- <class name="caption"/>
- <class name="dim-label"/>
+ <class name="flat" />
</style>
</object>
</child>
</object>
</child>
<child>
- <object class="AdwPreferencesGroup">
- <child>
- <object class="AdwComboRow" id="language_row">
- <property name="title" translatable="yes">Language</property>
- <property name="model" bind-source="input" bind-property="languages-model"
bind-flags="sync-create"/>
- <signal name="notify::selected-item" handler="language_changed_cb" swapped="true"
object="GbpCreateProjectWidget"/>
- </object>
- </child>
- <child>
- <object class="AdwComboRow" id="license_row">
- <property name="title" translatable="yes">License</property>
- <property name="model" bind-source="input" bind-property="licenses-model"
bind-flags="sync-create"/>
- <signal name="notify::selected-item" handler="license_changed_cb" swapped="true"
object="GbpCreateProjectWidget"/>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Version Control</property>
- <property name="activatable-widget">version_control_switch</property>
- <child type="suffix">
- <object class="GtkSwitch" id="version_control_switch">
- <property name="valign">center</property>
- <property name="active" bind-source="input" bind-property="use-version-control"
bind-flags="sync-create"/>
- </object>
- </child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">The project will be created in a new
subdirectory.</property>
+ <property name="margin-top">12</property>
+ <property name="wrap">true</property>
+ <property name="xalign">0</property>
+ <style>
+ <class name="caption" />
+ <class name="dim-label" />
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <child>
+ <object class="AdwComboRow" id="language_row">
+ <property name="title" translatable="yes">Language</property>
+ <property name="model" bind-source="input" bind-property="languages-model"
bind-flags="sync-create" />
+ <signal name="notify::selected-item" handler="language_changed_cb" swapped="true"
object="GbpCreateProjectWidget" />
+ </object>
+ </child>
+ <child>
+ <object class="AdwComboRow" id="license_row">
+ <property name="title" translatable="yes">License</property>
+ <property name="model" bind-source="input" bind-property="licenses-model"
bind-flags="sync-create" />
+ <signal name="notify::selected-item" handler="license_changed_cb" swapped="true"
object="GbpCreateProjectWidget" />
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Version Control</property>
+ <property name="activatable-widget">version_control_switch</property>
+ <child type="suffix">
+ <object class="GtkSwitch" id="version_control_switch">
+ <property name="valign">center</property>
+ <property name="active" bind-source="input" bind-property="use-version-control"
bind-flags="sync-create" />
</object>
</child>
- <child>
- <object class="AdwComboRow" id="template_row">
- <property name="title" translatable="yes">Template</property>
- <property name="model" bind-source="input" bind-property="templates-model"
bind-flags="sync-create"/>
- <property name="expression">
- <lookup name="name" type="IdeProjectTemplate"/>
- </property>
- <signal name="notify::selected-item" handler="template_changed_cb" swapped="true"
object="GbpCreateProjectWidget"/>
- <property name="list-factory">
- <object class="GtkBuilderListItemFactory">
- <property name="bytes"><![CDATA[
+ </object>
+ </child>
+ <child>
+ <object class="AdwComboRow" id="template_row">
+ <property name="title" translatable="yes">Template</property>
+ <property name="model" bind-source="input" bind-property="templates-model"
bind-flags="sync-create" />
+ <property name="expression">
+ <lookup name="name" type="IdeProjectTemplate" />
+ </property>
+ <signal name="notify::selected-item" handler="template_changed_cb" swapped="true"
object="GbpCreateProjectWidget" />
+ <property name="list-factory">
+ <object class="GtkBuilderListItemFactory">
+ <property name="bytes">
+ <![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GtkListItem">
@@ -170,13 +163,15 @@
</template>
</interface>
]]>
- </property>
- </object>
</property>
</object>
- </child>
+ </property>
</object>
</child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
<child>
<object class="GtkButton">
<property name="action-name">create-project.expand</property>
@@ -184,7 +179,7 @@
<property name="margin-top">12</property>
<property name="halign">end</property>
<style>
- <class name="suggested-action"/>
+ <class name="suggested-action" />
</style>
</object>
</child>
@@ -194,6 +189,6 @@
</child>
</template>
<object class="IdeTemplateInput" id="input">
- <signal name="notify" handler="input_notify_cb" swapped="true" object="GbpCreateProjectWidget"/>
+ <signal name="notify" handler="input_notify_cb" swapped="true" object="GbpCreateProjectWidget" />
</object>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]