[gnome-software/wip/hughsie/shell-folders: 2/2] Remove the app folder functionality



commit 67a5bff938dad992a83b636b54c93f5d5d8a8415
Author: Richard Hughes <richard hughsie com>
Date:   Wed Nov 6 16:26:52 2019 +0000

    Remove the app folder functionality
    
    This is now present in GNOME Shell and is the logical place for it.

 data/org.gnome.software.gschema.xml |   4 -
 src/gnome-software.gresource.xml    |   1 -
 src/gs-app-folder-dialog.c          | 362 ------------------------------------
 src/gs-app-folder-dialog.h          |  23 ---
 src/gs-app-folder-dialog.ui         |  67 -------
 src/gs-app-row.c                    | 117 +-----------
 src/gs-app-row.h                    |   5 -
 src/gs-app-row.ui                   |   7 -
 src/gs-installed-page.c             | 264 +-------------------------
 src/gs-installed-page.ui            |  44 -----
 src/meson.build                     |   1 -
 11 files changed, 10 insertions(+), 885 deletions(-)
---
diff --git a/data/org.gnome.software.gschema.xml b/data/org.gnome.software.gschema.xml
index 944a9ca5..77192686 100644
--- a/data/org.gnome.software.gschema.xml
+++ b/data/org.gnome.software.gschema.xml
@@ -102,10 +102,6 @@
       <default>true</default>
       <summary>Install bundled applications for all users on the system where possible</summary>
     </key>
-    <key name="show-folder-management" type="b">
-      <default>true</default>
-      <summary>Show the folder management UI</summary>
-    </key>
     <key name="enable-repos-dialog" type="b">
       <default>true</default>
       <summary>Allow access to the Software Repositories dialog</summary>
diff --git a/src/gnome-software.gresource.xml b/src/gnome-software.gresource.xml
index 2a523021..01ba394d 100644
--- a/src/gnome-software.gresource.xml
+++ b/src/gnome-software.gresource.xml
@@ -3,7 +3,6 @@
  <gresource prefix="/org/gnome/Software">
   <file preprocess="xml-stripblanks">gnome-software.ui</file>
   <file preprocess="xml-stripblanks">gs-app-addon-row.ui</file>
-  <file preprocess="xml-stripblanks">gs-app-folder-dialog.ui</file>
   <file preprocess="xml-stripblanks">gs-app-row.ui</file>
   <file preprocess="xml-stripblanks">gs-category-page.ui</file>
   <file preprocess="xml-stripblanks">gs-category-tile.ui</file>
diff --git a/src/gs-app-row.c b/src/gs-app-row.c
index 1e7368ec..8e30d94a 100644
--- a/src/gs-app-row.c
+++ b/src/gs-app-row.c
@@ -35,7 +35,6 @@ typedef struct
        GtkWidget       *button;
        GtkWidget       *spinner;
        GtkWidget       *label;
-       GtkWidget       *checkbox;
        GtkWidget       *label_warning;
        GtkWidget       *label_origin;
        GtkWidget       *label_installed;
@@ -47,18 +46,12 @@ typedef struct
        gboolean         show_source;
        gboolean         show_update;
        gboolean         show_installed_size;
-       gboolean         selectable;
        guint            pending_refresh_id;
        GSettings       *settings;
 } GsAppRowPrivate;
 
 G_DEFINE_TYPE_WITH_PRIVATE (GsAppRow, gs_app_row, GTK_TYPE_LIST_BOX_ROW)
 
-enum {
-       PROP_ZERO,
-       PROP_SELECTED
-};
-
 enum {
        SIGNAL_BUTTON_CLICKED,
        SIGNAL_UNREVEALED,
@@ -226,18 +219,14 @@ gs_app_row_refresh_button (GsAppRow *app_row, gboolean missing_search_result)
        }
 
        /* always insensitive when in selection mode */
-       if (priv->selectable) {
+       switch (gs_app_get_state (priv->app)) {
+       case AS_APP_STATE_INSTALLING:
+       case AS_APP_STATE_REMOVING:
                gtk_widget_set_sensitive (priv->button, FALSE);
-       } else {
-               switch (gs_app_get_state (priv->app)) {
-               case AS_APP_STATE_INSTALLING:
-               case AS_APP_STATE_REMOVING:
-                       gtk_widget_set_sensitive (priv->button, FALSE);
-                       break;
-               default:
-                       gtk_widget_set_sensitive (priv->button, TRUE);
-                       break;
-               }
+               break;
+       default:
+               gtk_widget_set_sensitive (priv->button, TRUE);
+               break;
        }
 }
 
@@ -452,16 +441,6 @@ gs_app_row_refresh (GsAppRow *app_row)
                break;
        }
 
-       /* checkbox */
-       if (priv->selectable) {
-               if (gs_app_get_kind (priv->app) == AS_APP_KIND_DESKTOP ||
-                   gs_app_get_kind (priv->app) == AS_APP_KIND_RUNTIME ||
-                   gs_app_get_kind (priv->app) == AS_APP_KIND_WEB_APP)
-                       gtk_widget_set_visible (priv->checkbox, TRUE);
-       } else {
-               gtk_widget_set_visible (priv->checkbox, FALSE);
-       }
-
        /* show the right size */
        if (priv->show_installed_size) {
                size = gs_app_get_size_installed (priv->app);
@@ -609,52 +588,14 @@ gs_app_row_destroy (GtkWidget *object)
        GTK_WIDGET_CLASS (gs_app_row_parent_class)->destroy (object);
 }
 
-static void
-gs_app_row_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
-       GsAppRow *app_row = GS_APP_ROW (object);
-
-       switch (prop_id) {
-       case PROP_SELECTED:
-               gs_app_row_set_selected (app_row, g_value_get_boolean (value));
-               break;
-       default:
-               G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-               break;
-       }
-}
-
-static void
-gs_app_row_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
-       GsAppRow *app_row = GS_APP_ROW (object);
-
-       switch (prop_id) {
-       case PROP_SELECTED:
-               g_value_set_boolean (value, gs_app_row_get_selected (app_row));
-               break;
-       default:
-               G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-                       break;
-       }
-}
-
 static void
 gs_app_row_class_init (GsAppRowClass *klass)
 {
-       GParamSpec *pspec;
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
-       object_class->set_property = gs_app_row_set_property;
-       object_class->get_property = gs_app_row_get_property;
-
        widget_class->destroy = gs_app_row_destroy;
 
-       pspec = g_param_spec_boolean ("selected", NULL, NULL,
-                                     FALSE, G_PARAM_READWRITE);
-       g_object_class_install_property (object_class, PROP_SELECTED, pspec);
-
        signals [SIGNAL_BUTTON_CLICKED] =
                g_signal_new ("button-clicked",
                              G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
@@ -686,7 +627,6 @@ gs_app_row_class_init (GsAppRowClass *klass)
        gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, button);
        gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, spinner);
        gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, label);
-       gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, checkbox);
        gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, label_warning);
        gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, label_origin);
        gtk_widget_class_bind_template_child_private (widget_class, GsAppRow, label_installed);
@@ -699,12 +639,6 @@ button_clicked (GtkWidget *widget, GsAppRow *app_row)
        g_signal_emit (app_row, signals[SIGNAL_BUTTON_CLICKED], 0);
 }
 
-static void
-checkbox_toggled (GtkWidget *widget, GsAppRow *app_row)
-{
-       g_object_notify (G_OBJECT (app_row), "selected");
-}
-
 static void
 gs_app_row_init (GsAppRow *app_row)
 {
@@ -718,8 +652,6 @@ gs_app_row_init (GsAppRow *app_row)
 
        g_signal_connect (priv->button, "clicked",
                          G_CALLBACK (button_clicked), app_row);
-       g_signal_connect (priv->checkbox, "toggled",
-                         G_CALLBACK (checkbox_toggled), app_row);
        g_signal_connect_swapped (priv->settings, "changed",
                                  G_CALLBACK (settings_changed_cb),
                                  app_row);
@@ -807,41 +739,6 @@ gs_app_row_set_show_update (GsAppRow *app_row, gboolean show_update)
        gs_app_row_refresh (app_row);
 }
 
-void
-gs_app_row_set_selectable (GsAppRow *app_row, gboolean selectable)
-{
-       GsAppRowPrivate *priv = gs_app_row_get_instance_private (app_row);
-
-       priv->selectable = selectable;
-       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->checkbox), FALSE);
-       gs_app_row_refresh (app_row);
-}
-
-void
-gs_app_row_set_selected (GsAppRow *app_row, gboolean selected)
-{
-       GsAppRowPrivate *priv = gs_app_row_get_instance_private (app_row);
-
-       if (!priv->selectable)
-               return;
-
-       if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->checkbox)) != selected) {
-               gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->checkbox), selected);
-               g_object_notify (G_OBJECT (app_row), "selected");
-       }
-}
-
-gboolean
-gs_app_row_get_selected (GsAppRow *app_row)
-{
-       GsAppRowPrivate *priv = gs_app_row_get_instance_private (app_row);
-
-       if (!priv->selectable)
-               return FALSE;
-
-       return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->checkbox));
-}
-
 GtkWidget *
 gs_app_row_new (GsApp *app)
 {
diff --git a/src/gs-app-row.h b/src/gs-app-row.h
index 886958fe..40365288 100644
--- a/src/gs-app-row.h
+++ b/src/gs-app-row.h
@@ -40,11 +40,6 @@ void          gs_app_row_set_show_source             (GsAppRow       *app_row,
                                                         gboolean        show_source);
 void            gs_app_row_set_show_update             (GsAppRow       *app_row,
                                                         gboolean        show_update);
-void            gs_app_row_set_selectable              (GsAppRow       *app_row,
-                                                        gboolean        selectable);
-void            gs_app_row_set_selected                (GsAppRow       *app_row,
-                                                        gboolean        selected);
-gboolean        gs_app_row_get_selected                (GsAppRow       *app_row);
 GsApp          *gs_app_row_get_app                     (GsAppRow       *app_row);
 void            gs_app_row_set_size_groups             (GsAppRow       *app_row,
                                                         GtkSizeGroup   *image,
diff --git a/src/gs-app-row.ui b/src/gs-app-row.ui
index 3613c68d..2866cfc3 100644
--- a/src/gs-app-row.ui
+++ b/src/gs-app-row.ui
@@ -12,13 +12,6 @@
         <property name="margin_top">16</property>
         <property name="margin_bottom">16</property>
         <property name="orientation">horizontal</property>
-        <child>
-          <object class="GtkCheckButton" id="checkbox">
-            <property name="visible">False</property>
-            <property name="margin-start">12</property>
-            <property name="valign">center</property>
-          </object>
-        </child>
         <child>
           <object class="GtkImage" id="image">
             <property name="visible">True</property>
diff --git a/src/gs-installed-page.c b/src/gs-installed-page.c
index eb51ffc7..187badf6 100644
--- a/src/gs-installed-page.c
+++ b/src/gs-installed-page.c
@@ -16,8 +16,6 @@
 #include "gs-installed-page.h"
 #include "gs-common.h"
 #include "gs-app-row.h"
-#include "gs-app-folder-dialog.h"
-#include "gs-folders.h"
 
 struct _GsInstalledPage
 {
@@ -33,14 +31,8 @@ struct _GsInstalledPage
        gboolean                 cache_valid;
        gboolean                 waiting;
        GsShell                 *shell;
-       GtkWidget               *button_select;
-       gboolean                 selection_mode;
        GSettings               *settings;
 
-       GtkWidget               *bottom_install;
-       GtkWidget               *button_folder_add;
-       GtkWidget               *button_folder_move;
-       GtkWidget               *button_folder_remove;
        GtkWidget               *list_box_install;
        GtkWidget               *scrolledwindow_install;
        GtkWidget               *spinner_install;
@@ -51,7 +43,6 @@ G_DEFINE_TYPE (GsInstalledPage, gs_installed_page, GS_TYPE_PAGE)
 
 static void gs_installed_page_pending_apps_changed_cb (GsPluginLoader *plugin_loader,
                                                        GsInstalledPage *self);
-static void set_selection_mode (GsInstalledPage *self, gboolean selection_mode);
 
 static void
 gs_installed_page_invalidate (GsInstalledPage *self)
@@ -64,15 +55,9 @@ gs_installed_page_app_row_activated_cb (GtkListBox *list_box,
                                         GtkListBoxRow *row,
                                         GsInstalledPage *self)
 {
-       if (self->selection_mode) {
-               gboolean selected;
-               selected = gs_app_row_get_selected (GS_APP_ROW (row));
-               gs_app_row_set_selected (GS_APP_ROW (row), !selected);
-       } else {
-               GsApp *app;
-               app = gs_app_row_get_app (GS_APP_ROW (row));
-               gs_shell_show_app (self->shell, app);
-       }
+       GsApp *app;
+       app = gs_app_row_get_app (GS_APP_ROW (row));
+       gs_shell_show_app (self->shell, app);
 }
 
 static void
@@ -145,8 +130,6 @@ gs_installed_page_notify_state_changed_cb (GsApp *app,
        g_idle_add (gs_installed_page_invalidate_sort_idle, g_object_ref (app_row));
 }
 
-static void selection_changed (GsInstalledPage *self);
-
 static gboolean
 should_show_installed_size (GsInstalledPage *self)
 {
@@ -181,8 +164,6 @@ gs_installed_page_add_app (GsInstalledPage *self, GsAppList *list, GsApp *app)
        g_signal_connect_object (app, "notify::state",
                                 G_CALLBACK (gs_installed_page_notify_state_changed_cb),
                                 app_row, 0);
-       g_signal_connect_swapped (app_row, "notify::selected",
-                                 G_CALLBACK (selection_changed), self);
        gtk_container_add (GTK_CONTAINER (self->list_box_install), app_row);
        gs_app_row_set_size_groups (GS_APP_ROW (app_row),
                                    self->sizegroup_image,
@@ -194,8 +175,6 @@ gs_installed_page_add_app (GsInstalledPage *self, GsAppList *list, GsApp *app)
                gs_app_row_set_show_installed_size (GS_APP_ROW (app_row),
                                                    should_show_installed_size (self));
        }
-       gs_app_row_set_selectable (GS_APP_ROW (app_row),
-                                  self->selection_mode);
 
        /* only show if is an actual application */
        gtk_widget_set_visible (app_row, gs_installed_page_is_actual_app (app));
@@ -285,19 +264,6 @@ gs_installed_page_reload (GsPage *page)
        gs_installed_page_load (self);
 }
 
-static void
-gs_shell_update_button_select_visibility (GsInstalledPage *self)
-{
-       gboolean show_button_select;
-       if (gs_utils_is_current_desktop ("GNOME")) {
-               show_button_select = g_settings_get_boolean (self->settings,
-                                                            "show-folder-management");
-       } else {
-               show_button_select = FALSE;
-       }
-       gtk_widget_set_visible (self->button_select, show_button_select);
-}
-
 static void
 gs_installed_page_switch_to (GsPage *page, gboolean scroll_up)
 {
@@ -310,14 +276,11 @@ gs_installed_page_switch_to (GsPage *page, gboolean scroll_up)
                return;
        }
 
-       set_selection_mode (self, FALSE);
        widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "buttonbox_main"));
        gtk_widget_show (widget);
        widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "menu_button"));
        gtk_widget_show (widget);
 
-       gs_shell_update_button_select_visibility (self);
-
        if (scroll_up) {
                GtkAdjustment *adj;
                adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW 
(self->scrolledwindow_install));
@@ -576,194 +539,6 @@ gs_installed_page_pending_apps_changed_cb (GsPluginLoader *plugin_loader,
        }
 }
 
-static void
-set_selection_mode (GsInstalledPage *self, gboolean selection_mode)
-{
-       GtkWidget *header;
-       GtkWidget *widget;
-       GtkStyleContext *context;
-       g_autoptr(GList) children = NULL;
-       
-       if (self->selection_mode == selection_mode)
-               return;
-
-       self->selection_mode = selection_mode;
-
-       header = GTK_WIDGET (gtk_builder_get_object (self->builder, "header"));
-       context = gtk_widget_get_style_context (header);
-       if (self->selection_mode) {
-               gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (header), FALSE);
-               gtk_style_context_add_class (context, "selection-mode");
-               gtk_button_set_image (GTK_BUTTON (self->button_select), NULL);
-               gtk_button_set_label (GTK_BUTTON (self->button_select), _("_Cancel"));
-               gtk_button_set_use_underline (GTK_BUTTON (self->button_select), TRUE);
-               gtk_widget_show (self->button_select);
-               widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "buttonbox_main"));
-               gtk_widget_hide (widget);
-               widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "menu_button"));
-               gtk_widget_hide (widget);
-               widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "header_selection_menu_button"));
-               gtk_widget_show (widget);
-               widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "header_selection_label"));
-               gtk_label_set_label (GTK_LABEL (widget), _("Click on items to select them"));
-       } else {
-               gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (header), TRUE);
-               gtk_style_context_remove_class (context, "selection-mode");
-               gtk_button_set_image (GTK_BUTTON (self->button_select), gtk_image_new_from_icon_name 
("object-select-symbolic", GTK_ICON_SIZE_MENU));
-               gtk_button_set_label (GTK_BUTTON (self->button_select), NULL);
-               gtk_widget_show (self->button_select);
-               widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "buttonbox_main"));
-               gtk_widget_show (widget);
-               widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "menu_button"));
-               gtk_widget_show (widget);
-               widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "header_selection_menu_button"));
-               gtk_widget_hide (widget);
-       }
-
-       children = gtk_container_get_children (GTK_CONTAINER (self->list_box_install));
-       for (GList *l = children; l; l = l->next) {
-               GsAppRow *app_row = GS_APP_ROW (l->data);
-               GsApp *app = gs_app_row_get_app (app_row);
-               gs_app_row_set_selectable (app_row,
-                                          self->selection_mode);
-               gtk_widget_set_visible (GTK_WIDGET (app_row),
-                                       self->selection_mode ||
-                                       gs_installed_page_is_actual_app (app));
-       }
-
-       gtk_revealer_set_reveal_child (GTK_REVEALER (self->bottom_install), self->selection_mode);
-}
-
-static void
-selection_mode_cb (GtkButton *button, GsInstalledPage *self)
-{
-       set_selection_mode (self, !self->selection_mode);
-}
-
-static GList *
-get_selected_apps (GsInstalledPage *self)
-{
-       GList *list;
-       g_autoptr(GList) children = NULL;
-
-       list = NULL;
-       children = gtk_container_get_children (GTK_CONTAINER (self->list_box_install));
-       for (GList *l = children; l; l = l->next) {
-               GsAppRow *app_row = GS_APP_ROW (l->data);
-               if (gs_app_row_get_selected (app_row)) {
-                       list = g_list_prepend (list, gs_app_row_get_app (app_row));
-               }
-       }
-       return list;
-}
-
-static void
-selection_changed (GsInstalledPage *self)
-{
-       GsApp *app;
-       gboolean has_folders, has_nonfolders;
-       g_autoptr(GList) apps = NULL;
-       g_autoptr(GsFolders) folders = NULL;
-
-       folders = gs_folders_get ();
-       has_folders = has_nonfolders = FALSE;
-       apps = get_selected_apps (self);
-       for (GList *l = apps; l; l = l->next) {
-               app = l->data;
-               if (gs_folders_get_app_folder (folders,
-                                              gs_app_get_id (app),
-                                              gs_app_get_categories (app))) {
-                       has_folders = TRUE;
-               } else {
-                       has_nonfolders = TRUE;
-               }
-       }
-
-       gtk_widget_set_sensitive (self->button_folder_add, has_nonfolders);
-       gtk_widget_set_sensitive (self->button_folder_move, has_folders && !has_nonfolders);
-       gtk_widget_set_sensitive (self->button_folder_remove, has_folders);
-}
-
-static gboolean
-folder_dialog_done (GsInstalledPage *self)
-{
-       set_selection_mode (self, FALSE);
-       return FALSE;
-}
-
-static void
-show_folder_dialog (GtkButton *button, GsInstalledPage *self)
-{
-       GtkWidget *toplevel;
-       GtkWidget *dialog;
-       g_autoptr(GList) apps = NULL;
-
-       toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button));
-       apps = get_selected_apps (self);
-       dialog = gs_app_folder_dialog_new (GTK_WINDOW (toplevel), apps);
-       g_signal_connect_swapped (dialog, "delete-event",
-                                 G_CALLBACK (folder_dialog_done), self);
-       g_signal_connect_swapped (dialog, "response",
-                                 G_CALLBACK (gtk_widget_destroy), dialog);
-       gs_shell_modal_dialog_present (self->shell, GTK_DIALOG (dialog));
-}
-
-static void
-remove_folders (GtkButton *button, GsInstalledPage *self)
-{
-       GsApp *app;
-       g_autoptr(GList) apps = NULL;
-       g_autoptr(GsFolders) folders = NULL;
-
-       folders = gs_folders_get ();
-       apps = get_selected_apps (self);
-       for (GList *l = apps; l; l = l->next) {
-               app = l->data;
-               gs_folders_set_app_folder (folders,
-                                          gs_app_get_id (app),
-                                          gs_app_get_categories (app),
-                                          NULL);
-       }
-
-       gs_folders_save (folders);
-
-       set_selection_mode (self, FALSE);
-}
-
-static void
-select_all_cb (GtkMenuItem *item, GsInstalledPage *self)
-{
-       g_autoptr(GList) children = NULL;
-
-       children = gtk_container_get_children (GTK_CONTAINER (self->list_box_install));
-       for (GList *l = children; l; l = l->next) {
-               GsAppRow *app_row = GS_APP_ROW (l->data);
-               gs_app_row_set_selected (app_row, TRUE);
-       }
-}
-
-static void
-select_none_cb (GtkMenuItem *item, GsInstalledPage *self)
-{
-       g_autoptr(GList) children = NULL;
-
-       children = gtk_container_get_children (GTK_CONTAINER (self->list_box_install));
-       for (GList *l = children; l; l = l->next) {
-               GsAppRow *app_row = GS_APP_ROW (l->data);
-               gs_app_row_set_selected (app_row, FALSE);
-       }
-}
-
-static void
-gs_shell_settings_changed_cb (GsInstalledPage *self,
-                              const gchar *key,
-                              gpointer data)
-{
-       if (g_strcmp0 (key, "show-folder-management") == 0) {
-               gs_shell_update_button_select_visibility (self);
-       }
-}
-
 static gboolean
 gs_installed_page_setup (GsPage *page,
                          GsShell *shell,
@@ -773,8 +548,6 @@ gs_installed_page_setup (GsPage *page,
                          GError **error)
 {
        GsInstalledPage *self = GS_INSTALLED_PAGE (page);
-       AtkObject *accessible;
-       GtkWidget *widget;
 
        g_return_val_if_fail (GS_IS_INSTALLED_PAGE (self), TRUE);
 
@@ -796,30 +569,6 @@ gs_installed_page_setup (GsPage *page,
        gtk_list_box_set_sort_func (GTK_LIST_BOX (self->list_box_install),
                                    gs_installed_page_sort_func,
                                    self, NULL);
-
-       g_signal_connect (self->button_folder_add, "clicked",
-                         G_CALLBACK (show_folder_dialog), self);
-       
-       g_signal_connect (self->button_folder_move, "clicked",
-                         G_CALLBACK (show_folder_dialog), self);
-       
-       g_signal_connect (self->button_folder_remove, "clicked",
-                         G_CALLBACK (remove_folders), self);
-
-       self->button_select = gtk_button_new_from_icon_name ("object-select-symbolic", GTK_ICON_SIZE_MENU);
-       accessible = gtk_widget_get_accessible (self->button_select);
-       if (accessible != NULL)
-               atk_object_set_name (accessible, _("Select"));
-       gs_page_set_header_end_widget (GS_PAGE (self), self->button_select);
-       g_signal_connect (self->button_select, "clicked",
-                         G_CALLBACK (selection_mode_cb), self);
-
-       widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "select_all_menuitem"));
-       g_signal_connect (widget, "activate",
-                         G_CALLBACK (select_all_cb), self);
-       widget = GTK_WIDGET (gtk_builder_get_object (self->builder, "select_none_menuitem"));
-       g_signal_connect (widget, "activate",
-                         G_CALLBACK (select_none_cb), self);
        return TRUE;
 }
 
@@ -856,10 +605,6 @@ gs_installed_page_class_init (GsInstalledPageClass *klass)
 
        gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/Software/gs-installed-page.ui");
 
-       gtk_widget_class_bind_template_child (widget_class, GsInstalledPage, bottom_install);
-       gtk_widget_class_bind_template_child (widget_class, GsInstalledPage, button_folder_add);
-       gtk_widget_class_bind_template_child (widget_class, GsInstalledPage, button_folder_move);
-       gtk_widget_class_bind_template_child (widget_class, GsInstalledPage, button_folder_remove);
        gtk_widget_class_bind_template_child (widget_class, GsInstalledPage, list_box_install);
        gtk_widget_class_bind_template_child (widget_class, GsInstalledPage, scrolledwindow_install);
        gtk_widget_class_bind_template_child (widget_class, GsInstalledPage, spinner_install);
@@ -877,9 +622,6 @@ gs_installed_page_init (GsInstalledPage *self)
        self->sizegroup_button = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
 
        self->settings = g_settings_new ("org.gnome.software");
-       g_signal_connect_swapped (self->settings, "changed",
-                                 G_CALLBACK (gs_shell_settings_changed_cb),
-                                 self);
 }
 
 GsInstalledPage *
diff --git a/src/gs-installed-page.ui b/src/gs-installed-page.ui
index b0372b6e..ec265e0b 100644
--- a/src/gs-installed-page.ui
+++ b/src/gs-installed-page.ui
@@ -51,41 +51,6 @@
                 </child>
               </object>
             </child>
-            <child>
-              <object class="GtkRevealer" id="bottom_install">
-                <property name="visible">True</property>
-                <property name="transition-type">slide-up</property>
-                <child>
-                  <object class="GtkActionBar" id="action_bar">
-                    <property name="visible">True</property>
-                    <child>
-                      <object class="GtkButton" id="button_folder_add">
-                        <property name="visible">True</property>
-                        <property name="sensitive">False</property>
-                        <property name="label" translatable="yes">_Add to Folder…</property>
-                        <property name="use_underline">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkButton" id="button_folder_move">
-                        <property name="visible">True</property>
-                        <property name="sensitive">False</property>
-                        <property name="label" translatable="yes">_Move to Folder…</property>
-                        <property name="use_underline">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkButton" id="button_folder_remove">
-                        <property name="visible">True</property>
-                        <property name="sensitive">False</property>
-                        <property name="label" translatable="yes">_Remove from Folder</property>
-                        <property name="use_underline">True</property>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-            </child>
           </object>
           <packing>
             <property name="name">view</property>
@@ -94,13 +59,4 @@
       </object>
     </child>
   </template>
-  <object class="GtkSizeGroup" id="sizegroup_folder_buttons">
-    <property name="ignore-hidden">False</property>
-    <property name="mode">vertical</property>
-    <widgets>
-      <widget name="button_folder_add"/>
-      <widget name="button_folder_move"/>
-      <widget name="button_folder_remove"/>
-    </widgets>
-  </object>
 </interface>
diff --git a/src/meson.build b/src/meson.build
index 5e18c750..965112dd 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -17,7 +17,6 @@ gdbus_src = gnome.gdbus_codegen(
 
 gnome_software_sources = [
   'gs-app-addon-row.c',
-  'gs-app-folder-dialog.c',
   'gs-application.c',
   'gs-app-row.c',
   'gs-app-tile.c',


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