[gnome-software/wip/kalev/donate-infobar] details: Add a donate infobar as per latest mockups



commit b07a667b436b801e1428d57c52d30f9273e0517f
Author: Kalev Lember <klember redhat com>
Date:   Mon Sep 24 16:14:59 2018 +0200

    details: Add a donate infobar as per latest mockups

 src/gs-details-page.c  |   37 +-
 src/gs-details-page.ui | 2087 +++++++++++++++++++++++++-----------------------
 2 files changed, 1125 insertions(+), 999 deletions(-)
---
diff --git a/src/gs-details-page.c b/src/gs-details-page.c
index d091f172..488e4564 100644
--- a/src/gs-details-page.c
+++ b/src/gs-details-page.c
@@ -86,6 +86,9 @@ struct _GsDetailsPage
        GtkWidget               *button_details_remove_shortcut;
        GtkWidget               *button_details_website;
        GtkWidget               *button_donate;
+       GtkWidget               *infobar_donate;
+       GtkWidget               *label_donate_title;
+       GtkWidget               *label_donate_description;
        GtkWidget               *button_install;
        GtkWidget               *button_remove;
        GtkWidget               *button_cancel;
@@ -760,6 +763,15 @@ gs_details_page_website_cb (GtkWidget *widget, GsDetailsPage *self)
                           gs_app_get_url (self->app, AS_URL_KIND_HOMEPAGE));
 }
 
+static void
+gs_details_page_donate_response_cb (GtkInfoBar *infobar, gint response_id, GsDetailsPage *self)
+{
+       if (response_id == GTK_RESPONSE_CLOSE) {
+               gtk_widget_hide (self->infobar_donate);
+               return;
+       }
+}
+
 static void
 gs_details_page_donate_cb (GtkWidget *widget, GsDetailsPage *self)
 {
@@ -889,7 +901,6 @@ gs_details_page_refresh_all (GsDetailsPage *self)
        guint64 kudos;
        guint64 updated;
        guint64 user_integration_bf;
-       gboolean show_support_box = FALSE;
        g_autoptr(GError) error = NULL;
 
        /* change widgets */
@@ -927,18 +938,26 @@ gs_details_page_refresh_all (GsDetailsPage *self)
        tmp = gs_app_get_url (self->app, AS_URL_KIND_HOMEPAGE);
        if (tmp != NULL && tmp[0] != '\0') {
                gtk_widget_set_visible (self->button_details_website, TRUE);
-               show_support_box = TRUE;
+               gtk_widget_set_visible (self->box_details_support, TRUE);
        } else {
                gtk_widget_set_visible (self->button_details_website, FALSE);
+               gtk_widget_set_visible (self->box_details_support, FALSE);
        }
+
        tmp = gs_app_get_url (self->app, AS_URL_KIND_DONATION);
        if (tmp != NULL && tmp[0] != '\0') {
-               gtk_widget_set_visible (self->button_donate, TRUE);
-               show_support_box = TRUE;
+               /* TRANSLATORS: This is the title for donations infobar. %s gets replaced by the name of the 
app. */
+               g_autofree gchar *title = g_strdup_printf (_("%s needs your help!"),
+                                                          gs_app_get_name (self->app));
+               /* TRANSLATORS: This is the description for donations infobar. %s gets replaced by the name 
of the app. */
+               g_autofree gchar *desc = g_strdup_printf (_("%s relies on donations to continue development. 
Please consider giving today."),
+                                                         gs_app_get_name (self->app));
+               gtk_label_set_label (GTK_LABEL (self->label_donate_title), title);
+               gtk_label_set_label (GTK_LABEL (self->label_donate_description), desc);
+               gtk_widget_set_visible (self->infobar_donate, TRUE);
        } else {
-               gtk_widget_set_visible (self->button_donate, FALSE);
+               gtk_widget_set_visible (self->infobar_donate, FALSE);
        }
-       gtk_widget_set_visible (self->box_details_support, show_support_box);
 
        /* set the developer name, falling back to the project group */
        tmp = gs_app_get_developer_name (self->app);
@@ -2352,6 +2371,9 @@ gs_details_page_setup (GsPage *page,
        g_signal_connect (self->button_donate, "clicked",
                          G_CALLBACK (gs_details_page_donate_cb),
                          self);
+       g_signal_connect (self->infobar_donate, "response",
+                         G_CALLBACK (gs_details_page_donate_response_cb),
+                         self);
        g_signal_connect (self->button_details_license_free, "clicked",
                          G_CALLBACK (gs_details_page_license_free_cb),
                          self);
@@ -2425,6 +2447,9 @@ gs_details_page_class_init (GsDetailsPageClass *klass)
        gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, button_details_remove_shortcut);
        gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, button_details_website);
        gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, button_donate);
+       gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, infobar_donate);
+       gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, label_donate_title);
+       gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, label_donate_description);
        gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, button_install);
        gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, button_remove);
        gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, button_cancel);
diff --git a/src/gs-details-page.ui b/src/gs-details-page.ui
index 206d99fe..050838f0 100644
--- a/src/gs-details-page.ui
+++ b/src/gs-details-page.ui
@@ -50,142 +50,63 @@
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <child>
-                  <object class="GsFixedSizeBin" id="gs_fixed_bin">
+                  <object class="GtkBox">
                     <property name="visible">True</property>
-                    <property name="preferred-width">860</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <property name="halign">fill</property>
+                    <property name="valign">start</property>
+
                     <child>
-                      <object class="GtkBox" id="box_details">
-                        <property name="width_request">752</property>
-                        <property name="orientation">vertical</property>
+                      <object class="GtkInfoBar" id="infobar_donate">
                         <property name="visible">True</property>
+                        <property name="app_paintable">True</property>
                         <property name="can_focus">False</property>
-                        <property name="halign">fill</property>
-                        <property name="valign">start</property>
-                        <property name="margin_top">4</property>
-                        <property name="margin_bottom">4</property>
-                        <property name="border_width">24</property>
-                        <property name="spacing">18</property>
-                        <property name="hexpand">False</property>
-                        <child>
-                          <object class="GtkBox" id="box_details_header">
-                            <property name="orientation">horizontal</property>
-                            <property name="visible">True</property>
+                        <property name="show_close_button">True</property>
+                        <child internal-child="action_area">
+                          <object class="GtkButtonBox">
+                            <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
+                            <property name="layout_style">end</property>
+                            <child/>
+                          </object>
+                          <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                          </packing>
+                        </child>
+                        <child internal-child="action_area">
+                          <object class="GtkButtonBox">
                             <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
+                            <property name="layout_style">end</property>
                             <child>
-                              <object class="GtkImage" id="application_details_icon">
+                              <object class="GtkButton" id="button_donate">
+                                <property name="label" translatable="yes">_Donate</property>
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="halign">start</property>
-                                <property name="valign">start</property>
-                                <property name="pixel_size">96</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                                <property name="use_underline">True</property>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkBox" id="box_details_header2">
-                                <property name="orientation">vertical</property>
+                              <object class="GtkButton" id="button_donate_remind_later">
+                                <property name="label" translatable="yes">Remind me later</property>
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="halign">fill</property>
-                                <property name="valign">start</property>
-                                <property name="margin_start">24</property>
-                                <property name="margin_end">24</property>
-                                <child>
-                                  <object class="GtkLabel" id="application_details_title">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="halign">fill</property>
-                                    <property name="valign">start</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="margin_bottom">4</property>
-                                    <property name="xalign">0</property>
-                                    <property name="selectable">True</property>
-                                    <property name="wrap">True</property>
-                                    <property name="max_width_chars">20</property>
-                                    <style>
-                                      <class name="application-details-title"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="application_details_summary">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="halign">fill</property>
-                                    <property name="valign">start</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="margin_bottom">16</property>
-                                    <property name="xalign">0</property>
-                                    <property name="selectable">True</property>
-                                    <property name="wrap">True</property>
-                                    <property name="max-width-chars">60</property>
-                                    <style>
-                                      <class name="application-details-summary"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
+                                <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-
-                            <child>
-                              <object class="GtkBox" id="star_box">
-                                <property name="visible">True</property>
-                                <property name="valign">start</property>
-                                <child>
-                                  <object class="GsStarWidget" id="star">
-                                    <property name="visible">True</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">center</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_review_count">
-                                    <property name="visible">True</property>
-                                    <property name="margin_start">5</property>
-                                    <property name="halign">start</property>
-                                    <property name="valign">center</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -193,1105 +114,1285 @@
                             <property name="position">0</property>
                           </packing>
                         </child>
-
-                        <child>
-                          <object class="GtkBox" id="box_install_remove">
-                            <property name="visible">True</property>
+                        <child internal-child="content_area">
+                          <object class="GtkBox">
                             <property name="can_focus">False</property>
-                            <property name="margin_bottom">14</property>
-                            <property name="spacing">9</property>
+                            <property name="orientation">vertical</property>
+                            <property name="spacing">6</property>
+                            <property name="border_width">17</property>
                             <child>
-                              <object class="GtkButton" id="button_install">
-                                <property name="use_underline">True</property>
-                                <property name="label" translatable="yes">_Install</property>
-                                <property name="width_request">105</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
+                              <object class="GtkLabel" id="label_donate_title">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="halign">start</property>
-                                <property name="valign">start</property>
-                                <style>
-                                  <class name="suggested-action"/>
-                                </style>
+                                <property name="label"/>
+                                <attributes>
+                                  <attribute name="weight" value="bold"/>
+                                </attributes>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">False</property>
+                                <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkButton" id="button_details_launch">
+                              <object class="GtkLabel" id="label_donate_description">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_underline">True</property>
-                                <style>
-                                  <class name="suggested-action"/>
-                                </style>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="button_remove">
-                                <property name="use_underline">True</property>
-                                <property name="label" translatable="yes">_Remove</property>
-                                <property name="width_request">105</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                                <property name="halign">start</property>
-                                <property name="valign">start</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkSpinner" id="spinner_remove">
                                 <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="label"/>
+                                <property name="wrap">True</property>
+                                <property name="wrap_mode">word-char</property>
+                                <property name="xalign">0</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
-                                <property name="position">3</property>
+                                <property name="position">1</property>
                               </packing>
                             </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+
+                    <child>
+                      <object class="GsFixedSizeBin" id="gs_fixed_bin">
+                        <property name="visible">True</property>
+                        <property name="preferred-width">860</property>
+                        <child>
+                          <object class="GtkBox" id="box_details">
+                            <property name="width_request">752</property>
+                            <property name="orientation">vertical</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">fill</property>
+                            <property name="valign">start</property>
+                            <property name="margin_top">4</property>
+                            <property name="margin_bottom">4</property>
+                            <property name="border_width">24</property>
+                            <property name="spacing">18</property>
+                            <property name="hexpand">False</property>
+
                             <child>
-                              <object class="GtkBox" id="box_progress">
+                              <object class="GtkBox" id="box_details_header">
+                                <property name="orientation">horizontal</property>
                                 <property name="visible">True</property>
-                                <property name="spacing">3</property>
-                                <property name="orientation">vertical</property>
+                                <property name="can_focus">False</property>
                                 <child>
-                                  <object class="GtkProgressBar" id="progressbar_top">
+                                  <object class="GtkImage" id="application_details_icon">
                                     <property name="visible">True</property>
-                                    <property name="fraction">0.5</property>
-                                    <property name="valign">center</property>
-                                    <property name="width_request">624</property>
-                                    <style>
-                                      <class name="upgrade-progressbar"/>
-                                    </style>
+                                    <property name="can_focus">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">start</property>
+                                    <property name="pixel_size">96</property>
                                   </object>
                                   <packing>
-                                    <property name="expand">True</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkBox" id="box_details_header2">
+                                    <property name="orientation">vertical</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="halign">fill</property>
+                                    <property name="valign">start</property>
+                                    <property name="margin_start">24</property>
+                                    <property name="margin_end">24</property>
+                                    <child>
+                                      <object class="GtkLabel" id="application_details_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="halign">fill</property>
+                                        <property name="valign">start</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="margin_bottom">4</property>
+                                        <property name="xalign">0</property>
+                                        <property name="selectable">True</property>
+                                        <property name="wrap">True</property>
+                                        <property name="max_width_chars">20</property>
+                                        <style>
+                                          <class name="application-details-title"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="application_details_summary">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="halign">fill</property>
+                                        <property name="valign">start</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="margin_bottom">16</property>
+                                        <property name="xalign">0</property>
+                                        <property name="selectable">True</property>
+                                        <property name="wrap">True</property>
+                                        <property name="max-width-chars">60</property>
+                                        <style>
+                                          <class name="application-details-summary"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
                                     <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
+
                                 <child>
-                                  <object class="GtkBox" id="box_progress2">
+                                  <object class="GtkBox" id="star_box">
                                     <property name="visible">True</property>
-                                    <property name="spacing">3</property>
-                                    <property name="halign">center</property>
+                                    <property name="valign">start</property>
                                     <child>
-                                      <object class="GtkLabel" id="label_progress_status">
+                                      <object class="GsStarWidget" id="star">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label">Downloading</property>
+                                        <property name="halign">start</property>
+                                        <property name="valign">center</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkLabel" id="label_progress_percentage">
+                                      <object class="GtkLabel" id="label_review_count">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label">50%</property>
+                                        <property name="margin_start">5</property>
+                                        <property name="halign">start</property>
+                                        <property name="valign">center</property>
+                                        <style>
+                                          <class name="dim-label"/>
+                                        </style>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">1</property>
                                       </packing>
                                     </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
-                                    <property name="position">0</property>
+                                    <property name="position">2</property>
                                   </packing>
                                 </child>
-                              </object>
-                              <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
-                                <property name="position">4</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="button_cancel">
-                                <property name="use_underline">True</property>
-                                <property name="label" translatable="yes">_Cancel</property>
-                                <property name="width_request">116</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">5</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLinkButton" id="button_details_add_shortcut">
-                                <property name="visible">False</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="label" translatable="yes" comments="Translators: A label for 
a button to add a shortcut to the selected application.">_Add shortcut</property>
+
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
-                                <property name="position">6</property>
-                                <property name="pack-type">end</property>
+                                <property name="position">1</property>
                               </packing>
                             </child>
+
                             <child>
-                              <object class="GtkLinkButton" id="button_details_remove_shortcut">
-                                <property name="visible">False</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="label" translatable="yes" comments="Translators: A label for 
a button to remove a shortcut to the selected application.">Re_move shortcut</property>
+                              <object class="GtkBox" id="box_install_remove">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="margin_bottom">14</property>
+                                <property name="spacing">9</property>
+                                <child>
+                                  <object class="GtkButton" id="button_install">
+                                    <property name="use_underline">True</property>
+                                    <property name="label" translatable="yes">_Install</property>
+                                    <property name="width_request">105</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">True</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">start</property>
+                                    <style>
+                                      <class name="suggested-action"/>
+                                    </style>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" id="button_details_launch">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_underline">True</property>
+                                    <style>
+                                      <class name="suggested-action"/>
+                                    </style>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" id="button_remove">
+                                    <property name="use_underline">True</property>
+                                    <property name="label" translatable="yes">_Remove</property>
+                                    <property name="width_request">105</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">True</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">start</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkSpinner" id="spinner_remove">
+                                    <property name="can_focus">False</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">3</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkBox" id="box_progress">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">3</property>
+                                    <property name="orientation">vertical</property>
+                                    <child>
+                                      <object class="GtkProgressBar" id="progressbar_top">
+                                        <property name="visible">True</property>
+                                        <property name="fraction">0.5</property>
+                                        <property name="valign">center</property>
+                                        <property name="width_request">624</property>
+                                        <style>
+                                          <class name="upgrade-progressbar"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkBox" id="box_progress2">
+                                        <property name="visible">True</property>
+                                        <property name="spacing">3</property>
+                                        <property name="halign">center</property>
+                                        <child>
+                                          <object class="GtkLabel" id="label_progress_status">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="label">Downloading</property>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkLabel" id="label_progress_percentage">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="label">50%</property>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                          </packing>
+                                        </child>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">4</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" id="button_cancel">
+                                    <property name="use_underline">True</property>
+                                    <property name="label" translatable="yes">_Cancel</property>
+                                    <property name="width_request">116</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">5</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLinkButton" id="button_details_add_shortcut">
+                                    <property name="visible">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="label" translatable="yes" comments="Translators: A label 
for a button to add a shortcut to the selected application.">_Add shortcut</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">6</property>
+                                    <property name="pack-type">end</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLinkButton" id="button_details_remove_shortcut">
+                                    <property name="visible">False</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="label" translatable="yes" comments="Translators: A label 
for a button to remove a shortcut to the selected application.">Re_move shortcut</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">7</property>
+                                    <property name="pack-type">end</property>
+                                  </packing>
+                                </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">7</property>
-                                <property name="pack-type">end</property>
+                                <property name="fill">True</property>
+                                <property name="position">2</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
 
-                        <child>
-                          <object class="GtkBox" id="box_details_screenshot">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_bottom">14</property>
-                            <property name="spacing">9</property>
                             <child>
-                              <object class="GtkBox" id="box_details_screenshot_main">
+                              <object class="GtkBox" id="box_details_screenshot">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="orientation">vertical</property>
-                                <property name="spacing">6</property>
+                                <property name="margin_bottom">14</property>
+                                <property name="spacing">9</property>
                                 <child>
-                                  <placeholder/>
+                                  <object class="GtkBox" id="box_details_screenshot_main">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="orientation">vertical</property>
+                                    <property name="spacing">6</property>
+                                    <child>
+                                      <placeholder/>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkScrolledWindow">
+                                    <property name="visible">True</property>
+                                    <property name="shadow_type">none</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="hscrollbar_policy">never</property>
+                                    <property name="vscrollbar_policy">automatic</property>
+                                    <child>
+                                      <object class="GtkBox" id="box_details_screenshot_thumbnails">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="orientation">vertical</property>
+                                        <property name="spacing">7</property>
+                                        <child>
+                                          <placeholder/>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
+                                  </packing>
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="position">3</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkScrolledWindow">
+                              <object class="GtkBox" id="box_details_screenshot_fallback">
                                 <property name="visible">True</property>
-                                <property name="shadow_type">none</property>
-                                <property name="can_focus">True</property>
-                                <property name="hscrollbar_policy">never</property>
-                                <property name="vscrollbar_policy">automatic</property>
+                                <property name="can_focus">False</property>
+                                <property name="orientation">vertical</property>
+                                <property name="spacing">6</property>
+                                <property name="width_request">752</property>
+                                <property name="height_request">423</property>
+                                <property name="hexpand">True</property>
+                                <property name="halign">fill</property>
+                                <style>
+                                  <class name="screenshot-image"/>
+                                </style>
                                 <child>
-                                  <object class="GtkBox" id="box_details_screenshot_thumbnails">
+                                  <object class="GtkImage">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">7</property>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
+                                    <property name="pixel_size">64</property>
+                                    <property name="icon_name">camera-photo-symbolic</property>
+                                    <property name="icon_size">6</property>
+                                    <property name="valign">end</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="halign">center</property>
+                                    <property name="valign">start</property>
+                                    <property name="label" translatable="yes">No screenshot 
provided</property>
                                   </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                  </packing>
                                 </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="position">4</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box_details_screenshot_fallback">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">6</property>
-                            <property name="width_request">752</property>
-                            <property name="height_request">423</property>
-                            <property name="hexpand">True</property>
-                            <property name="halign">fill</property>
-                            <style>
-                              <class name="screenshot-image"/>
-                            </style>
                             <child>
-                              <object class="GtkImage">
+                              <object class="GtkBox" id="box_details_description">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="pixel_size">64</property>
-                                <property name="icon_name">camera-photo-symbolic</property>
-                                <property name="icon_size">6</property>
-                                <property name="valign">end</property>
+                                <property name="margin_bottom">14</property>
+                                <property name="orientation">vertical</property>
+                                <property name="spacing">18</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
                               </object>
                               <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">5</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkLabel">
+                              <object class="GsInfoBar" id="infobar_details_app_repo">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="halign">center</property>
-                                <property name="valign">start</property>
-                                <property name="label" translatable="yes">No screenshot provided</property>
+                                <property name="margin_top">20</property>
+                                <property name="title" translatable="yes">Software Repository 
Included</property>
+                                <property name="body" translatable="yes">This application includes a 
software repository which provides updates, as well as access to other software.</property>
                               </object>
                               <packing>
-                                <property name="expand">True</property>
-                                <property name="fill">True</property>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">6</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">3</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box_details_description">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_bottom">14</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">18</property>
                             <child>
-                              <placeholder/>
+                              <object class="GsInfoBar" id="infobar_details_app_norepo">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="margin_top">20</property>
+                                <property name="title" translatable="yes">No Software Repository 
Included</property>
+                                <property name="body" translatable="yes">This application does not include a 
software repository. It will not be updated with new versions.</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">7</property>
+                              </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">4</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GsInfoBar" id="infobar_details_app_repo">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_top">20</property>
-                            <property name="title" translatable="yes">Software Repository Included</property>
-                            <property name="body" translatable="yes">This application includes a software 
repository which provides updates, as well as access to other software.</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">6</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GsInfoBar" id="infobar_details_app_norepo">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_top">20</property>
-                            <property name="title" translatable="yes">No Software Repository 
Included</property>
-                            <property name="body" translatable="yes">This application does not include a 
software repository. It will not be updated with new versions.</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">7</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GsInfoBar" id="infobar_details_package_baseos">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="message_type">warning</property>
-                            <property name="margin_top">20</property>
-                            <property name="title" translatable="yes">This software is already provided by 
your distribution and should not be replaced.</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">8</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GsInfoBar" id="infobar_details_repo">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_top">20</property>
-                            <property name="title" translatable="yes" comments="Translators: a repository 
file used for installing software has been discovered.">Software Repository Identified</property>
-                            <property name="body" translatable="yes">Adding this software repository will 
give you access to additional software and upgrades.</property>
-                            <property name="warning" translatable="yes">Only use software repositories that 
you trust.</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">9</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box_details_support">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_bottom">26</property>
-                            <property name="spacing">12</property>
                             <child>
-                              <object class="GtkButton" id="button_details_website">
-                                <property name="label" translatable="yes">_Website</property>
-                                <property name="width_request">150</property>
+                              <object class="GsInfoBar" id="infobar_details_package_baseos">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_underline">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="message_type">warning</property>
+                                <property name="margin_top">20</property>
+                                <property name="title" translatable="yes">This software is already provided 
by your distribution and should not be replaced.</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
-                                <property name="position">0</property>
+                                <property name="position">8</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkButton" id="button_donate">
-                                <property name="label" translatable="yes">_Donate</property>
-                                <property name="width_request">150</property>
-                                <property name="visible">False</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_underline">True</property>
+                              <object class="GsInfoBar" id="infobar_details_repo">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="margin_top">20</property>
+                                <property name="title" translatable="yes" comments="Translators: a 
repository file used for installing software has been discovered.">Software Repository Identified</property>
+                                <property name="body" translatable="yes">Adding this software repository 
will give you access to additional software and upgrades.</property>
+                                <property name="warning" translatable="yes">Only use software repositories 
that you trust.</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
-                                <property name="position">1</property>
+                                <property name="position">9</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">10</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="application_details_details_title">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="halign">start</property>
-                            <property name="valign">start</property>
-                            <property name="hexpand">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Details</property>
-                            <style>
-                              <class name="application-details-title"/>
-                            </style>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">11</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box_details_details">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="margin_bottom">26</property>
-                            <property name="spacing">30</property>
                             <child>
-                              <object class="GtkGrid" id="grid_details_kudo">
+                              <object class="GtkBox" id="box_details_support">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="row_spacing">9</property>
-                                <property name="column_spacing">12</property>
-                                <child>
-                                  <object class="GtkImage" id="image_details_kudo_translated">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="pixel_size">16</property>
-                                    <property name="icon_name">preferences-desktop-locale-symbolic</property>
-                                    <property name="icon_size">6</property>
-                                    <style>
-                                      <class name="kudo-pill"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkImage" id="image_details_kudo_docs">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="pixel_size">16</property>
-                                    <property name="icon_name">system-help-symbolic</property>
-                                    <style>
-                                      <class name="kudo-pill"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkImage" id="image_details_kudo_updated">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="pixel_size">16</property>
-                                    <property name="icon_name">software-update-available-symbolic</property>
-                                    <property name="icon_size">6</property>
-                                    <style>
-                                      <class name="kudo-pill"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkImage" id="image_details_kudo_integration">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="pixel_size">16</property>
-                                    <property name="icon_name">emblem-system-symbolic</property>
-                                    <property name="icon_size">0</property>
-                                    <style>
-                                      <class name="kudo-pill"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkImage" id="image_details_kudo_sandboxed">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="pixel_size">16</property>
-                                    <property name="icon_name">security-medium-symbolic</property>
-                                    <property name="icon_size">0</property>
-                                    <style>
-                                      <class name="kudo-pill"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">4</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_kudo_translated">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Localized in your 
Language</property>
-                                    <property name="xalign">0</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_kudo_docs">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Documentation</property>
-                                    <property name="xalign">0</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_kudo_updated">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Release Activity</property>
-                                    <property name="xalign">0</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">2</property>
-                                  </packing>
-                                </child>
+                                <property name="margin_bottom">26</property>
+                                <property name="spacing">12</property>
                                 <child>
-                                  <object class="GtkLabel" id="label_details_kudo_integration">
+                                  <object class="GtkButton" id="button_details_website">
+                                    <property name="label" translatable="yes">_Website</property>
+                                    <property name="width_request">150</property>
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">System Integration</property>
-                                    <property name="xalign">0</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_kudo_sandboxed">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Sandboxed</property>
-                                    <property name="xalign">0</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_underline">True</property>
                                   </object>
                                   <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">4</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">10</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="application_details_details_title">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="valign">start</property>
+                                <property name="hexpand">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Details</property>
+                                <style>
+                                  <class name="application-details-title"/>
+                                </style>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="position">11</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkGrid" id="grid_details_details">
+                              <object class="GtkBox" id="box_details_details">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="row_spacing">9</property>
-                                <property name="column_spacing">24</property>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_version_title">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Version</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <property name="vexpand">True</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_version_value">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="label">0.12.3</property>
-                                    <property name="selectable">True</property>
-                                    <property name="ellipsize">end</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <accessibility>
-                                      <relation type="labelled-by" target="label_details_version_title"/>
-                                    </accessibility>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-
-                                <child>
-                                  <object class="GtkLabel" id="label_details_rating_title">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Age Rating</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <property name="vexpand">True</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">8</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkButton" id="button_details_rating_value">
-                                    <property name="use_underline">True</property>
-                                    <property name="label">18</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="vexpand">False</property>
-                                    <property name="halign">start</property>
-                                    <style>
-                                      <class name="content-rating"/>
-                                    </style>
-                                    <accessibility>
-                                      <relation type="labelled-by" target="label_details_version_title"/>
-                                    </accessibility>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">8</property>
-                                  </packing>
-                                </child>
-
-                                <child>
-                                  <object class="GtkLabel" id="label_details_updated_title">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Updated</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <property name="vexpand">True</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_updated_value">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="label">May 12, 2012</property>
-                                    <property name="selectable">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <accessibility>
-                                      <relation type="labelled-by" target="label_details_updated_title"/>
-                                    </accessibility>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_category_title">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Category</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <property name="vexpand">True</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_category_value">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="label">Photos &amp; Video</property>
-                                    <property name="wrap">True</property>
-                                    <property name="selectable">True</property>
-                                    <property name="max_width_chars">10</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <accessibility>
-                                      <relation type="labelled-by" target="label_details_category_title"/>
-                                    </accessibility>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">2</property>
-                                  </packing>
-                                </child>
-
+                                <property name="margin_bottom">26</property>
+                                <property name="spacing">30</property>
                                 <child>
-                                  <object class="GtkLabel" id="label_details_size_installed_title">
+                                  <object class="GtkGrid" id="grid_details_kudo">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Installed Size</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <property name="vexpand">True</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
+                                    <property name="row_spacing">9</property>
+                                    <property name="column_spacing">12</property>
+                                    <child>
+                                      <object class="GtkImage" id="image_details_kudo_translated">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="pixel_size">16</property>
+                                        <property 
name="icon_name">preferences-desktop-locale-symbolic</property>
+                                        <property name="icon_size">6</property>
+                                        <style>
+                                          <class name="kudo-pill"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkImage" id="image_details_kudo_docs">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="pixel_size">16</property>
+                                        <property name="icon_name">system-help-symbolic</property>
+                                        <style>
+                                          <class name="kudo-pill"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkImage" id="image_details_kudo_updated">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="pixel_size">16</property>
+                                        <property 
name="icon_name">software-update-available-symbolic</property>
+                                        <property name="icon_size">6</property>
+                                        <style>
+                                          <class name="kudo-pill"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkImage" id="image_details_kudo_integration">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="pixel_size">16</property>
+                                        <property name="icon_name">emblem-system-symbolic</property>
+                                        <property name="icon_size">0</property>
+                                        <style>
+                                          <class name="kudo-pill"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkImage" id="image_details_kudo_sandboxed">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="pixel_size">16</property>
+                                        <property name="icon_name">security-medium-symbolic</property>
+                                        <property name="icon_size">0</property>
+                                        <style>
+                                          <class name="kudo-pill"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">4</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_kudo_translated">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Localized in your 
Language</property>
+                                        <property name="xalign">0</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_kudo_docs">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Documentation</property>
+                                        <property name="xalign">0</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_kudo_updated">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Release Activity</property>
+                                        <property name="xalign">0</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_kudo_integration">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">System 
Integration</property>
+                                        <property name="xalign">0</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_kudo_sandboxed">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Sandboxed</property>
+                                        <property name="xalign">0</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">4</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">6</property>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkLabel" id="label_details_size_installed_value">
+                                  <object class="GtkGrid" id="grid_details_details">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="label">30 MB</property>
-                                    <property name="selectable">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">6</property>
-                                  </packing>
-                                </child>
+                                    <property name="row_spacing">9</property>
+                                    <property name="column_spacing">24</property>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_version_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Version</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="vexpand">True</property>
+                                        <style>
+                                          <class name="dim-label"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_version_value">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="label">0.12.3</property>
+                                        <property name="selectable">True</property>
+                                        <property name="ellipsize">end</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <accessibility>
+                                          <relation type="labelled-by" target="label_details_version_title"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">0</property>
+                                      </packing>
+                                    </child>
 
-                                <child>
-                                  <object class="GtkLabel" id="label_details_size_download_title">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Download Size</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <property name="vexpand">True</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">7</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_size_download_value">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="label">30 MB</property>
-                                    <property name="selectable">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">7</property>
-                                  </packing>
-                                </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_rating_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Age Rating</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="vexpand">True</property>
+                                        <style>
+                                          <class name="dim-label"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">8</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkButton" id="button_details_rating_value">
+                                        <property name="use_underline">True</property>
+                                        <property name="label">18</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="vexpand">False</property>
+                                        <property name="halign">start</property>
+                                        <style>
+                                          <class name="content-rating"/>
+                                        </style>
+                                        <accessibility>
+                                          <relation type="labelled-by" target="label_details_version_title"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">8</property>
+                                      </packing>
+                                    </child>
 
-                                <child>
-                                  <object class="GtkLabel" id="label_details_origin_title">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Source</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <property name="vexpand">True</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">5</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_origin_value">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="label">Upstream</property>
-                                    <property name="selectable">True</property>
-                                    <property name="ellipsize">end</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">5</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_developer_title">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Developer</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <property name="vexpand">True</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">4</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkBox" id="box_details_developer">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="hexpand">True</property>
-                                    <property name="spacing">3</property>
                                     <child>
-                                      <object class="GtkLabel" id="label_details_developer_value">
+                                      <object class="GtkLabel" id="label_details_updated_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Updated</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="vexpand">True</property>
+                                        <style>
+                                          <class name="dim-label"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_updated_value">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="label">May 12, 2012</property>
+                                        <property name="selectable">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <accessibility>
+                                          <relation type="labelled-by" target="label_details_updated_title"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_category_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Category</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="vexpand">True</property>
+                                        <style>
+                                          <class name="dim-label"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_category_value">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="label">Yorba</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="label">Photos &amp; Video</property>
                                         <property name="wrap">True</property>
                                         <property name="selectable">True</property>
                                         <property name="max_width_chars">10</property>
                                         <property name="xalign">0</property>
                                         <property name="yalign">0.5</property>
+                                        <accessibility>
+                                          <relation type="labelled-by" 
target="label_details_category_title"/>
+                                        </accessibility>
                                       </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">2</property>
+                                      </packing>
                                     </child>
+
                                     <child>
-                                      <object class="GtkImage" id="image_details_developer_verified">
+                                      <object class="GtkLabel" id="label_details_size_installed_title">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="pixel_size">16</property>
-                                        <property name="icon_name">emblem-ok-symbolic</property>
+                                        <property name="label" translatable="yes">Installed Size</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="vexpand">True</property>
+                                        <style>
+                                          <class name="dim-label"/>
+                                        </style>
                                       </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">6</property>
+                                      </packing>
                                     </child>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">4</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label_details_license_title">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">License</property>
-                                    <property name="xalign">0</property>
-                                    <property name="yalign">0.5</property>
-                                    <property name="vexpand">True</property>
-                                    <style>
-                                      <class name="dim-label"/>
-                                    </style>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkBox" id="box_details_license_value">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="orientation">vertical</property>
                                     <child>
-                                      <object class="GtkButton" id="button_details_license_free">
-                                        <property name="label" translatable="yes" comments="This refers to 
the license of the application">Free</property>
+                                      <object class="GtkLabel" id="label_details_size_installed_value">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="halign">start</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="label">30 MB</property>
+                                        <property name="selectable">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">6</property>
+                                      </packing>
+                                    </child>
+
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_size_download_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Download Size</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="vexpand">True</property>
                                         <style>
-                                          <class name="details-license-free"/>
+                                          <class name="dim-label"/>
                                         </style>
                                       </object>
                                       <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">7</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkButton" id="button_details_license_nonfree">
-                                        <property name="label" translatable="yes" comments="This refers to 
the license of the application">Proprietary</property>
+                                      <object class="GtkLabel" id="label_details_size_download_value">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="halign">start</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="label">30 MB</property>
+                                        <property name="selectable">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">7</property>
+                                      </packing>
+                                    </child>
+
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_origin_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Source</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="vexpand">True</property>
                                         <style>
-                                          <class name="details-license-nonfree"/>
+                                          <class name="dim-label"/>
                                         </style>
                                       </object>
                                       <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">5</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkButton" id="button_details_license_unknown">
-                                        <property name="label" translatable="yes" comments="This refers to 
the license of the application">Unknown</property>
+                                      <object class="GtkLabel" id="label_details_origin_value">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="halign">start</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="label">Upstream</property>
+                                        <property name="selectable">True</property>
+                                        <property name="ellipsize">end</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">5</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_developer_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">Developer</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="vexpand">True</property>
                                         <style>
-                                          <class name="details-license-unknown"/>
+                                          <class name="dim-label"/>
                                         </style>
                                       </object>
                                       <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">2</property>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">4</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkBox" id="box_details_developer">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="spacing">3</property>
+                                        <child>
+                                          <object class="GtkLabel" id="label_details_developer_value">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="label">Yorba</property>
+                                            <property name="wrap">True</property>
+                                            <property name="selectable">True</property>
+                                            <property name="max_width_chars">10</property>
+                                            <property name="xalign">0</property>
+                                            <property name="yalign">0.5</property>
+                                          </object>
+                                        </child>
+                                        <child>
+                                          <object class="GtkImage" id="image_details_developer_verified">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="pixel_size">16</property>
+                                            <property name="icon_name">emblem-ok-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">4</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_details_license_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="label" translatable="yes">License</property>
+                                        <property name="xalign">0</property>
+                                        <property name="yalign">0.5</property>
+                                        <property name="vexpand">True</property>
+                                        <style>
+                                          <class name="dim-label"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">0</property>
+                                        <property name="top_attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkBox" id="box_details_license_value">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="orientation">vertical</property>
+                                        <child>
+                                          <object class="GtkButton" id="button_details_license_free">
+                                            <property name="label" translatable="yes" comments="This refers 
to the license of the application">Free</property>
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="receives_default">True</property>
+                                            <property name="halign">start</property>
+                                            <style>
+                                              <class name="details-license-free"/>
+                                            </style>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkButton" id="button_details_license_nonfree">
+                                            <property name="label" translatable="yes" comments="This refers 
to the license of the application">Proprietary</property>
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="receives_default">True</property>
+                                            <property name="halign">start</property>
+                                            <style>
+                                              <class name="details-license-nonfree"/>
+                                            </style>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkButton" id="button_details_license_unknown">
+                                            <property name="label" translatable="yes" comments="This refers 
to the license of the application">Unknown</property>
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="receives_default">True</property>
+                                            <property name="halign">start</property>
+                                            <style>
+                                              <class name="details-license-unknown"/>
+                                            </style>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">2</property>
+                                          </packing>
+                                        </child>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="top_attach">3</property>
                                       </packing>
                                     </child>
                                   </object>
                                   <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">3</property>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="position">12</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">12</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box_addons">
-                            <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
-                            <property name="margin_bottom">26</property>
-
                             <child>
-                              <object class="GtkBox" id="box_addons_title">
+                              <object class="GtkBox" id="box_addons">
                                 <property name="visible">True</property>
                                 <property name="orientation">vertical</property>
-                                <property name="margin_bottom">18</property>
+                                <property name="margin_bottom">26</property>
+
+                                <child>
+                                  <object class="GtkBox" id="box_addons_title">
+                                    <property name="visible">True</property>
+                                    <property name="orientation">vertical</property>
+                                    <property name="margin_bottom">18</property>
+                                    <child>
+                                      <object class="GtkLabel" id="label_addons_title">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="valign">start</property>
+                                        <property name="hexpand">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Add-ons</property>
+                                        <style>
+                                          <class name="application-details-title"/>
+                                        </style>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_addons_uninstalled_app">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="xalign">0</property>
+                                        <property name="wrap">True</property>
+                                        <property name="max-width-chars">40</property>
+                                        <property name="label" translatable="yes">Selected add-ons will be 
installed with the application.</property>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+
+                                <child>
+                                  <object class="GtkFrame" id="box_addons_frame">
+                                    <property name="visible">True</property>
+                                    <property name="shadow_type">in</property>
+                                    <property name="halign">fill</property>
+                                    <property name="valign">start</property>
+                                    <style>
+                                      <class name="view"/>
+                                    </style>
+                                    <child>
+                                      <object class="GtkListBox" id="list_box_addons">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="selection_mode">none</property>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">13</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="box_reviews">
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkLabel" id="label_addons_title">
+                                  <object class="GtkLabel" id="application_details_reviews_title">
                                     <property name="visible">True</property>
+                                    <property name="margin_bottom">18</property>
                                     <property name="can_focus">False</property>
                                     <property name="halign">start</property>
                                     <property name="valign">start</property>
                                     <property name="hexpand">True</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Add-ons</property>
+                                    <property name="label" translatable="yes" comments="Translators: Header 
of the section with other users&apos; opinions about the app.">Reviews</property>
                                     <style>
                                       <class name="application-details-title"/>
                                     </style>
                                   </object>
                                 </child>
                                 <child>
-                                  <object class="GtkLabel" id="label_addons_uninstalled_app">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="wrap">True</property>
-                                    <property name="max-width-chars">40</property>
-                                    <property name="label" translatable="yes">Selected add-ons will be 
installed with the application.</property>
+                                  <object class="GsReviewHistogram" id="histogram">
+                                    <property name="halign">start</property>
+                                    <property name="valign">center</property>
+                                    <property name="margin_bottom">32</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" id="button_review">
+                                    <property name="use_underline">True</property>
+                                    <property name="label" translatable="yes" comments="Translators: Button 
opening a dialog where the users can write and publish their opinions about the apps.">_Write a 
Review</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">start</property>
+                                    <property name="margin_bottom">18</property>
                                   </object>
                                 </child>
-                              </object>
-                            </child>
-
-                            <child>
-                              <object class="GtkFrame" id="box_addons_frame">
-                                <property name="visible">True</property>
-                                <property name="shadow_type">in</property>
-                                <property name="halign">fill</property>
-                                <property name="valign">start</property>
-                                <style>
-                                  <class name="view"/>
-                                </style>
                                 <child>
-                                  <object class="GtkListBox" id="list_box_addons">
+                                  <object class="GtkListBox" id="list_box_reviews">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="selection_mode">none</property>
+                                    <style>
+                                      <class name="review-listbox"/>
+                                    </style>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkButton" id="button_more_reviews">
+                                    <property name="visible">False</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="label" translatable="yes" comments="Translators: Button 
to return more application-submitted reviews.">_Show More</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">start</property>
+                                    <property name="margin_top">12</property>
                                   </object>
                                 </child>
                               </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">14</property>
+                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">13</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box_reviews">
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="application_details_reviews_title">
-                                <property name="visible">True</property>
-                                <property name="margin_bottom">18</property>
-                                <property name="can_focus">False</property>
-                                <property name="halign">start</property>
-                                <property name="valign">start</property>
-                                <property name="hexpand">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes" comments="Translators: Header of 
the section with other users&apos; opinions about the app.">Reviews</property>
-                                <style>
-                                  <class name="application-details-title"/>
-                                </style>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GsReviewHistogram" id="histogram">
-                                <property name="halign">start</property>
-                                <property name="valign">center</property>
-                                <property name="margin_bottom">32</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="button_review">
-                                <property name="use_underline">True</property>
-                                <property name="label" translatable="yes" comments="Translators: Button 
opening a dialog where the users can write and publish their opinions about the apps.">_Write a 
Review</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="halign">start</property>
-                                <property name="valign">start</property>
-                                <property name="margin_bottom">18</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkListBox" id="list_box_reviews">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="selection_mode">none</property>
-                                <style>
-                                  <class name="review-listbox"/>
-                                </style>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkButton" id="button_more_reviews">
-                                <property name="visible">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="label" translatable="yes" comments="Translators: Button to 
return more application-submitted reviews.">_Show More</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="halign">start</property>
-                                <property name="valign">start</property>
-                                <property name="margin_top">12</property>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">14</property>
-                          </packing>
                         </child>
                       </object>
                     </child>


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