[gnome-builder] create-project: use EggRadioBox instead of combo box



commit d98e02e11aac0f9060c549d288fb88c4e9ae78d4
Author: Christian Hergert <chergert redhat com>
Date:   Wed Jun 29 02:37:49 2016 -0700

    create-project: use EggRadioBox instead of combo box
    
    This uses the new widget to adjust the styling of the license selection.

 plugins/create-project/gbp-create-project-widget.c |    6 +-
 .../create-project/gbp-create-project-widget.ui    |  102 +++++++++++++++++---
 2 files changed, 93 insertions(+), 15 deletions(-)
---
diff --git a/plugins/create-project/gbp-create-project-widget.c 
b/plugins/create-project/gbp-create-project-widget.c
index db3a8be..03cbeed 100644
--- a/plugins/create-project/gbp-create-project-widget.c
+++ b/plugins/create-project/gbp-create-project-widget.c
@@ -16,6 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <egg-radio-box.h>
 #include <glib/gi18n.h>
 #include <ide.h>
 #include <libpeas/peas.h>
@@ -34,7 +35,7 @@ struct _GbpCreateProjectWidget
   GtkComboBoxText      *project_language_chooser;
   GtkFlowBox           *project_template_chooser;
   GtkComboBoxText      *versioning_chooser;
-  GtkComboBoxText      *license_chooser;
+  EggRadioBox          *license_chooser;
 };
 
 enum {
@@ -367,7 +368,6 @@ gbp_create_project_widget_constructed (GObject *object)
 
   gtk_combo_box_set_active (GTK_COMBO_BOX (self->project_language_chooser), 0);
   gtk_combo_box_set_active (GTK_COMBO_BOX (self->versioning_chooser), 0);
-  gtk_combo_box_set_active_id (GTK_COMBO_BOX (self->license_chooser), "gpl_3");
 }
 
 static void
@@ -660,7 +660,7 @@ gbp_create_project_widget_create_async (GbpCreateProjectWidget *self,
                        g_strdup ("language"),
                        g_variant_ref_sink (g_variant_new_string (language)));
 
-  license_id = gtk_combo_box_get_active_id (GTK_COMBO_BOX (self->license_chooser));
+  license_id = egg_radio_box_get_active_id (EGG_RADIO_BOX (self->license_chooser));
 
   if (!g_str_equal (license_id, "none"))
     {
diff --git a/plugins/create-project/gbp-create-project-widget.ui 
b/plugins/create-project/gbp-create-project-widget.ui
index 26e1e21..b117fdc 100644
--- a/plugins/create-project/gbp-create-project-widget.ui
+++ b/plugins/create-project/gbp-create-project-widget.ui
@@ -8,7 +8,11 @@
           <object class="GtkBox">
             <property name="orientation">vertical</property>
             <property name="expand">true</property>
-            <property name="border-width">32</property>
+            <property name="margin-top">96</property>
+            <property name="margin-start">64</property>
+            <property name="margin-end">64</property>
+            <property name="margin-bottom">64</property>
+            <property name="valign">start</property>
             <property name="visible">true</property>
             <child>
               <object class="GtkBox">
@@ -55,11 +59,18 @@
                       </object>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="row4_1">
-                        <property name="label" translatable="yes">License</property>
-                        <property name="expand">true</property>
-                        <property name="halign">end</property>
+                      <object class="GtkBox" id="row4_1">
+                        <property name="orientation">vertical</property>
                         <property name="visible">true</property>
+                        <child>
+                          <object class="GtkLabel" id="license_label">
+                            <property name="label" translatable="yes">License</property>
+                            <property name="expand">true</property>
+                            <property name="halign">end</property>
+                            <property name="valign">start</property>
+                            <property name="visible">true</property>
+                          </object>
+                        </child>
                       </object>
                     </child>
                     <child>
@@ -135,17 +146,18 @@
                       </object>
                     </child>
                     <child>
-                      <object class="GtkComboBoxText" id="license_chooser">
+                      <object class="EggRadioBox" id="license_chooser">
+                        <property name="active-id">gpl_3</property>
                         <property name="expand">true</property>
                         <property name="visible">true</property>
                         <items>
-                          <item id="none" translatable="yes">No license</item>
-                          <item id="agpl_3" translatable="yes">AGPL version 3 or later</item>
-                          <item id="gpl_3" translatable="yes">GPL version 3 or later</item>
-                          <item id="gpl_2" translatable="yes">GPL version 2 or later</item>
-                          <item id="lgpl_3" translatable="yes">LGPL version 3 or later</item>
-                          <item id="lgpl_2_1" translatable="yes">LGPL version 2.1 or later</item>
+                          <item id="gpl_3" translatable="yes">GPLv3+</item>
+                          <item id="lgpl_3" translatable="yes">LGPLv3+</item>
+                          <item id="agpl_3" translatable="yes">AGPLv3+</item>
                           <item id="mit_x11" translatable="yes">MIT/X11</item>
+                          <item id="gpl_2" translatable="yes">GPLv2+</item>
+                          <item id="lgpl_2_1" translatable="yes">LGPLv2.1+</item>
+                          <item id="none" translatable="yes">No license</item>
                         </items>
                       </object>
                     </child>
@@ -157,6 +169,60 @@
                     </child>
                   </object>
                 </child>
+                <child>
+                  <object class="GtkBox">
+                    <property name="spacing">24</property>
+                    <property name="halign">start</property>
+                    <property name="orientation">vertical</property>
+                    <property name="visible">true</property>
+                    <child>
+                      <object class="GtkLabel" id="spacer1">
+                        <property name="visible">true</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="spacer2">
+                        <property name="visible">true</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="spacer3">
+                        <property name="visible">true</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkBox" id="spacer4">
+                        <property name="visible">true</property>
+                        <child>
+                          <object class="GtkToggleButton" id="license_more">
+                            <property name="active" bind-source="license_chooser" bind-property="show-more" 
bind-flags="bidirectional"/>
+                            <property name="sensitive" bind-source="license_chooser" 
bind-property="has-more"/>
+                            <property name="valign">start</property>
+                            <property name="visible">true</property>
+                            <style>
+                              <class name="image-button"/>
+                            </style>
+                            <child>
+                              <object class="GtkImage">
+                                <property name="icon-name">view-more-symbolic</property>
+                                <property name="visible">true</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="spacer5">
+                        <property name="visible">true</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">true</property>
+                    <property name="pack-type">end</property>
+                  </packing>
+                </child>
               </object>
             </child>
             <child>
@@ -202,6 +268,7 @@
     <widgets>
       <widget name="row1_1"/>
       <widget name="row1_2"/>
+      <widget name="spacer1"/>
     </widgets>
   </object>
   <object class="GtkSizeGroup">
@@ -216,6 +283,7 @@
     <widgets>
       <widget name="row2_1"/>
       <widget name="row2_2"/>
+      <widget name="spacer2"/>
     </widgets>
   </object>
   <object class="GtkSizeGroup">
@@ -223,6 +291,7 @@
     <widgets>
       <widget name="row3_1"/>
       <widget name="project_language_chooser"/>
+      <widget name="spacer3"/>
     </widgets>
   </object>
   <object class="GtkSizeGroup">
@@ -230,6 +299,14 @@
     <widgets>
       <widget name="row4_1"/>
       <widget name="license_chooser"/>
+      <widget name="spacer4"/>
+    </widgets>
+  </object>
+  <object class="GtkSizeGroup">
+    <property name="mode">vertical</property>
+    <widgets>
+      <widget name="license_label"/>
+      <widget name="license_more"/>
     </widgets>
   </object>
   <object class="GtkSizeGroup">
@@ -237,6 +314,7 @@
     <widgets>
       <widget name="row5_1"/>
       <widget name="versioning_chooser"/>
+      <widget name="spacer5"/>
     </widgets>
   </object>
 </interface>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]