After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 763027 - UI description for new project assistant
UI description for new project assistant
Status: RESOLVED FIXED
Product: gnome-builder
Classification: Other
Component: plugins
3.19.x
Other Linux
: Normal enhancement
: ---
Assigned To: GNOME Builder Maintainers
GNOME Builder Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-03-03 09:09 UTC by Akshaya Kakkilaya
Modified: 2016-04-03 03:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Updated UI description (6.64 KB, patch)
2016-03-03 09:09 UTC, Akshaya Kakkilaya
none Details | Review
improvements made to patch (7.73 KB, patch)
2016-03-04 11:36 UTC, Akshaya Kakkilaya
none Details | Review
corrected id names (7.73 KB, patch)
2016-03-04 13:46 UTC, Akshaya Kakkilaya
none Details | Review
completed UI (31.88 KB, patch)
2016-03-19 05:17 UTC, Akshaya Kakkilaya
none Details | Review
completed create-project addin (39.57 KB, patch)
2016-03-28 07:50 UTC, Akshaya Kakkilaya
none Details | Review
create-project(modified) (39.51 KB, patch)
2016-04-02 06:31 UTC, Akshaya Kakkilaya
committed Details | Review

Description Akshaya Kakkilaya 2016-03-03 09:09:31 UTC
Created attachment 322951 [details] [review]
Updated UI description

updated plugins/create-project/gbp-create-project-widget.ui in wip/akskil/create-project branch.
Comment 1 Christian Hergert 2016-03-03 22:59:17 UTC
Review of attachment 322951 [details] [review]:

::: plugins/create-project/gbp-create-project-widget.ui
@@ +4,3 @@
     <child>
       <object class="GtkBox">
         <property name="orientation">vertical</property>

When shrunk, we want to enforce some padding. Add a border-width of 32.

@@ +5,3 @@
       <object class="GtkBox">
         <property name="orientation">vertical</property>
+        <property name="homogeneous">true</property>

Shouldn't need to be homogeneous

@@ +11,3 @@
+            <property name="orientation">horizontal</property>
+            <property name="expand">true</property>
+            <property name="valign">center</property>

Set valign to end, so that this box always positioned right next to Patterns

@@ -8,0 +9,44 @@
+        <child>
+          <object class="GtkBox">
+            <property name="orientation">horizontal</property>
... 41 more ...

capital V in Version

@@ -8,0 +9,109 @@
+        <child>
+          <object class="GtkBox">
+            <property name="orientation">horizontal</property>
... 106 more ...

When shrunk, "Pattern" can get shoved up next to the combo boxes above. Set border-width to 32.

@@ -8,0 +9,129 @@
+        <child>
+          <object class="GtkBox">
+            <property name="orientation">horizontal</property>
... 126 more ...

We will probably want to use a GtkFlowBox here. I don't know how many templates we will have long term, but hopefully a bunch.

We will then put the entire widget in a GtkScrolledWindow so that the whole thing scrolls as one (combobox, template icons, etc).
Comment 2 Akshaya Kakkilaya 2016-03-04 11:36:32 UTC
Created attachment 323079 [details] [review]
improvements made to patch
Comment 3 Akshaya Kakkilaya 2016-03-04 13:46:36 UTC
Created attachment 323088 [details] [review]
corrected id names

In the previous patch I had added id names to widgets that needed to be accessed.
I have corrected the id names and replaced hyphens with underscores.
Comment 4 Christian Hergert 2016-03-06 05:54:01 UTC
Review of attachment 323088 [details] [review]:

Cool.

Let's drop the GNOME Version line. It will just make things harder here (and we will deal with this instead by choosing a "Runtime" in the configuration.

Also, I think we should go ahead and copy the design from the git clone widget for the target directory. See https://git.gnome.org/browse/gnome-builder/tree/plugins/git/ide-git-clone-widget.ui#n59 (Notice action is "select-folder" as well).
Comment 5 Akshaya Kakkilaya 2016-03-19 05:17:50 UTC
Created attachment 324315 [details] [review]
completed UI

Completed the UI for create-project genesis adddin with form validation.
Comment 6 Akshaya Kakkilaya 2016-03-28 07:50:03 UTC
Created attachment 324864 [details] [review]
completed create-project addin
Comment 7 Christian Hergert 2016-03-30 06:36:19 UTC
Review of attachment 324864 [details] [review]:

Nice work! Couple more small things to do

::: plugins/create-project/gbp-create-project-widget.c
@@ +56,3 @@
+
+  manager = gtk_source_language_manager_get_default ();
+  language_ids = gtk_source_language_manager_get_language_ids (manager);

This should only show languages that are used in project templates.

For example, right now we only have one template, and it is C, so there should only be one language option.

@@ +83,3 @@
+        {
+        default:
+          if (isascii (ch))

Not sure why ascii is required? May not be suggested, but not illegal either.

@@ -29,0 +49,42 @@
+gbp_create_project_widget_add_languages (GbpCreateProjectWidget *self)
+{
+  GtkSourceLanguageManager *manager;
... 39 more ...

Maybe just replace weird characters with _ when it matters.

@@ -29,0 +49,111 @@
+gbp_create_project_widget_add_languages (GbpCreateProjectWidget *self)
+{
+  GtkSourceLanguageManager *manager;
... 108 more ...

When nesting, always add {} on the outer condition/loop

@@ -29,0 +49,120 @@
+gbp_create_project_widget_add_languages (GbpCreateProjectWidget *self)
+{
+  GtkSourceLanguageManager *manager;
... 117 more ...

Use a declaration clenaup like

g_auto(GStrv) template_languages = NULL;

GStrv is a gchar**.
Comment 8 Akshaya Kakkilaya 2016-04-02 06:31:50 UTC
Created attachment 325206 [details] [review]
create-project(modified)
Comment 9 Christian Hergert 2016-04-03 03:24:41 UTC
Thanks!

Now we just need a bunch of templates to fill out the flow box