[gnome-software] Show installed apps in the main window



commit 9e8703c130535886630fcdc0076268d570d527ef
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Aug 31 19:08:29 2013 -0400

    Show installed apps in the main window
    
    Replace the popup dialog we had here with going to the
    details page. The improved back button handling lets us
    go back to the installed page from there.

 src/gs-shell-installed.c |   67 +--------------------------------------------
 1 files changed, 2 insertions(+), 65 deletions(-)
---
diff --git a/src/gs-shell-installed.c b/src/gs-shell-installed.c
index 1ef238e..7e86dde 100644
--- a/src/gs-shell-installed.c
+++ b/src/gs-shell-installed.c
@@ -65,75 +65,12 @@ gs_shell_installed_app_widget_activated_cb (GtkListBox *list_box,
                                             GtkListBoxRow *row,
                                            GsShellInstalled *shell_installed)
 {
-       const gchar *tmp;
-       GsApp *app;
-       GtkWidget *details, *button, *grid;
-       GtkWidget *image, *label;
-       PangoAttrList *attr_list;
         GsAppWidget *app_widget;
+        GsApp *app;
 
         app_widget = GS_APP_WIDGET (gtk_bin_get_child (GTK_BIN (row)));
        app = gs_app_widget_get_app (app_widget);
-
-       details = gtk_dialog_new_with_buttons (_("Details"),
-                                              GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (list_box))),
-                                              GTK_DIALOG_MODAL,
-                                              _("_Done"), GTK_RESPONSE_CLOSE,
-                                              NULL);
-       gtk_container_set_border_width (GTK_CONTAINER (details), 20);
-       button = gtk_dialog_get_widget_for_response (GTK_DIALOG (details), GTK_RESPONSE_CLOSE);
-       gtk_style_context_add_class (gtk_widget_get_style_context (button), "suggested-action");
-       g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), details);
-
-       grid = gtk_grid_new ();
-       gtk_widget_show (grid);
-       gtk_widget_set_halign (grid, GTK_ALIGN_FILL);
-       gtk_grid_set_column_spacing (GTK_GRID (grid), 20);
-       gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (details))), grid);
-
-       image = gtk_image_new ();
-       if (gs_app_get_pixbuf (app)) {
-               gtk_image_set_from_pixbuf (GTK_IMAGE (image), gs_app_get_pixbuf (app));  gtk_widget_show 
(image);
-       }
-       gtk_grid_attach (GTK_GRID (grid), image, 0, 0, 1, 3);
-
-       label = gtk_label_new (gs_app_get_name (app));
-       gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-       gtk_widget_set_hexpand (label, TRUE);
-       gtk_widget_set_margin_bottom (label, 10);
-       attr_list = pango_attr_list_new ();
-       pango_attr_list_insert (attr_list, pango_attr_weight_new (PANGO_WEIGHT_BOLD));
-       pango_attr_list_insert (attr_list, pango_attr_scale_new (1));
-       gtk_label_set_attributes (GTK_LABEL (label), attr_list);
-       pango_attr_list_unref (attr_list);
-       gtk_widget_show (label);
-       gtk_grid_attach (GTK_GRID (grid), label, 1, 0, 1, 1);
-
-       label = gtk_label_new (NULL);
-       gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-       gtk_widget_set_hexpand (label, TRUE);
-       gtk_widget_set_margin_bottom (label, 20);
-       if (gs_app_get_summary (app)) {
-               gtk_label_set_label (GTK_LABEL (label), gs_app_get_summary (app));
-               gtk_widget_show (label);
-       }
-       gtk_grid_attach (GTK_GRID (grid), label, 1, 1, 1, 1);
-       tmp = gs_app_get_description (app);
-       label = gtk_label_new (tmp);
-       gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-       gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
-       gtk_widget_show (label);
-       gtk_grid_attach (GTK_GRID (grid), label, 0, 3, 2, 1);
-
-       if (gs_app_get_url (app)) {
-               button = gtk_link_button_new_with_label (gs_app_get_url (app), _("Visit website"));
-               gtk_widget_set_halign (button, GTK_ALIGN_START);
-               gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
-               gtk_widget_show (button);
-               gtk_grid_attach (GTK_GRID (grid), button, 0, 4, 2, 1);
-       }
-
-       gtk_window_present (GTK_WINDOW (details));
+        gs_shell_show_app (shell_installed->priv->shell, app);
 }
 
 typedef struct {


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