[gnome-software/wip/william/cherry-pick: 5/9] Hide licence, updated and category fields if they aren't set



commit 350dd3962870533b0feca6b3003f2aafccfb8ec0
Author: Robert Ancell <robert ancell canonical com>
Date:   Tue Mar 29 11:30:08 2016 +1300

    Hide licence, updated and category fields if they aren't set

 src/gs-shell-details.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/src/gs-shell-details.c b/src/gs-shell-details.c
index 03da15c..6a81356 100644
--- a/src/gs-shell-details.c
+++ b/src/gs-shell-details.c
@@ -81,9 +81,11 @@ struct _GsShellDetails
        GtkWidget               *infobar_details_package_baseos;
        GtkWidget               *infobar_details_repo;
        GtkWidget               *label_addons_uninstalled_app;
+       GtkWidget               *label_details_category_title;
        GtkWidget               *label_details_category_value;
        GtkWidget               *label_details_developer_title;
        GtkWidget               *label_details_developer_value;
+       GtkWidget               *label_details_license_title;
        GtkWidget               *label_details_license_value;
        GtkWidget               *label_details_origin_title;
        GtkWidget               *label_details_origin_value;
@@ -91,6 +93,7 @@ struct _GsShellDetails
        GtkWidget               *label_details_size_installed_value;
        GtkWidget               *label_details_size_download_title;
        GtkWidget               *label_details_size_download_value;
+       GtkWidget               *label_details_updated_title;
        GtkWidget               *label_details_updated_value;
        GtkWidget               *label_details_version_value;
        GtkWidget               *label_failed;
@@ -841,12 +844,16 @@ gs_shell_details_refresh_all (GsShellDetails *self)
                /* TRANSLATORS: this is where the license is not known */
                gtk_label_set_label (GTK_LABEL (self->label_details_license_value), C_("license", "Unknown"));
                gtk_widget_set_tooltip_text (self->label_details_license_value, NULL);
+               gtk_widget_set_visible (self->label_details_license_title, FALSE);
+               gtk_widget_set_visible (self->label_details_license_value, FALSE);
        } else {
                g_autofree gchar *license_markup = NULL;
                license_markup = gs_shell_details_get_license_markup (tmp);
                gtk_label_set_markup (GTK_LABEL (self->label_details_license_value),
                                      license_markup);
                gtk_widget_set_tooltip_text (self->label_details_license_value, NULL);
+               gtk_widget_set_visible (self->label_details_license_title, TRUE);
+               gtk_widget_set_visible (self->label_details_license_value, TRUE);
        }
 
        /* set version */
@@ -887,7 +894,10 @@ gs_shell_details_refresh_all (GsShellDetails *self)
        if (updated == GS_APP_INSTALL_DATE_UNKNOWN ||
            updated == GS_APP_INSTALL_DATE_UNSET) {
                /* TRANSLATORS: this is where the updated date is not known */
+               //gtk_label_set_label (GTK_LABEL (self->label_details_updated_value), C_("updated", "Never"));
                gtk_label_set_label (GTK_LABEL (self->label_details_updated_value), C_("updated", "Never"));
+               gtk_widget_set_visible (self->label_details_updated_title, FALSE);
+               gtk_widget_set_visible (self->label_details_updated_value, FALSE);
        } else {
                g_autoptr(GDateTime) dt = NULL;
                g_autofree gchar *updated_str = NULL;
@@ -906,6 +916,9 @@ gs_shell_details_refresh_all (GsShellDetails *self)
                        gtk_label_set_markup (GTK_LABEL (self->label_details_updated_value), url->str);
                        g_string_free (url, TRUE);
                }
+
+               gtk_widget_set_visible (self->label_details_updated_title, TRUE);
+               gtk_widget_set_visible (self->label_details_updated_value, TRUE);
        }
 
        /* set the category */
@@ -914,6 +927,8 @@ gs_shell_details_refresh_all (GsShellDetails *self)
                /* TRANSLATORS: this is the application isn't in any
                 * defined menu category */
                gtk_label_set_label (GTK_LABEL (self->label_details_category_value), C_("menu category", 
"None"));
+               gtk_widget_set_visible (self->label_details_category_title, FALSE);
+               gtk_widget_set_visible (self->label_details_category_value, FALSE);
        } else {
                g_autofree gchar *path = NULL;
                if (gtk_widget_get_direction (self->label_details_category_value) == GTK_TEXT_DIR_RTL)
@@ -921,6 +936,8 @@ gs_shell_details_refresh_all (GsShellDetails *self)
                else
                        path = g_strjoinv (" → ", menu_path);
                gtk_label_set_label (GTK_LABEL (self->label_details_category_value), path);
+               gtk_widget_set_visible (self->label_details_category_title, TRUE);
+               gtk_widget_set_visible (self->label_details_category_value, TRUE);
        }
 
        /* set the origin */
@@ -1809,9 +1826,11 @@ gs_shell_details_class_init (GsShellDetailsClass *klass)
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, infobar_details_package_baseos);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, infobar_details_repo);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_addons_uninstalled_app);
+       gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_category_title);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_category_value);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_developer_title);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_developer_value);
+       gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_license_title);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_license_value);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_origin_title);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_origin_value);
@@ -1819,6 +1838,7 @@ gs_shell_details_class_init (GsShellDetailsClass *klass)
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, 
label_details_size_download_value);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, 
label_details_size_installed_title);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, 
label_details_size_installed_value);
+       gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_updated_title);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_updated_value);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_details_version_value);
        gtk_widget_class_bind_template_child (widget_class, GsShellDetails, label_failed);


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