[gnome-shell/gbsneto/icon-grid-part2: 23/29] appIcon: Always pass parent view



commit 992e69a9af775e8ca3a9670ed02523998f005beb
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Fri Jun 28 21:11:10 2019 -0300

    appIcon: Always pass parent view
    
    We will soon need to know which view this icon belongs to,
    so add an extra parameter to the constructor to store the
    parent view.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/603

 js/ui/appDisplay.js | 15 ++++++++++-----
 js/ui/dash.js       |  2 +-
 2 files changed, 11 insertions(+), 6 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 9c9256fb9..aad3f13f2 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -410,7 +410,7 @@ var AllView = class AllView extends BaseAppView {
         apps.forEach(appId => {
             let app = appSys.lookup_app(appId);
 
-            let icon = new AppIcon(app,
+            let icon = new AppIcon(app, this,
                                    { isDraggable: favoritesWritable });
             newApps.push(icon);
         });
@@ -741,7 +741,7 @@ var FrequentView = class FrequentView extends BaseAppView {
         for (let i = 0; i < mostUsed.length; i++) {
             if (!mostUsed[i].get_app_info().should_show())
                 continue;
-            let appIcon = new AppIcon(mostUsed[i],
+            let appIcon = new AppIcon(mostUsed[i], this,
                                       { isDraggable: favoritesWritable });
             apps.push(appIcon);
         }
@@ -1032,7 +1032,7 @@ var AppSearchProvider = class AppSearchProvider {
 
     createResultObject(resultMeta) {
         if (resultMeta.id.endsWith('.desktop'))
-            return new AppIcon(this._appSys.lookup_app(resultMeta['id']));
+            return new AppIcon(this._appSys.lookup_app(resultMeta['id']), null);
         else
             return new SystemActionIcon(this, resultMeta);
     }
@@ -1170,7 +1170,7 @@ var FolderView = class FolderView extends BaseAppView {
             if (apps.some(appIcon => appIcon.id == appId))
                 return;
 
-            let icon = new AppIcon(app);
+            let icon = new AppIcon(app, this);
             apps.push(icon);
         };
 
@@ -1557,10 +1557,11 @@ var AppFolderPopup = class AppFolderPopup {
 Signals.addSignalMethods(AppFolderPopup.prototype);
 
 var AppIcon = class AppIcon {
-    constructor(app, iconParams = {}) {
+    constructor(app, view, iconParams = {}) {
         this.app = app;
         this.id = app.get_id();
         this.name = app.get_name();
+        this._view = view;
 
         this.actor = new St.Button({ style_class: 'app-well-app',
                                      reactive: true,
@@ -1799,6 +1800,10 @@ var AppIcon = class AppIcon {
     shouldShowTooltip() {
         return this.actor.hover && (!this._menu || !this._menu.isOpen);
     }
+
+    get view() {
+        return this._view;
+    }
 };
 Signals.addSignalMethods(AppIcon.prototype);
 
diff --git a/js/ui/dash.js b/js/ui/dash.js
index 7da335bfb..a96b95401 100644
--- a/js/ui/dash.js
+++ b/js/ui/dash.js
@@ -475,7 +475,7 @@ var Dash = class Dash {
     }
 
     _createAppItem(app) {
-        let appIcon = new AppDisplay.AppIcon(app,
+        let appIcon = new AppDisplay.AppIcon(app, null,
                                              { setSizeManually: true,
                                                showLabel: false });
         if (appIcon._draggable) {


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