From 6da23c8d4d9e1f34dac0f3727e68f83393b14636 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Fri, 28 Jun 2019 21:11:10 -0300 Subject: [PATCH] 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 bbca2ed79..a1eb2256a 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -413,7 +413,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); }); @@ -744,7 +744,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); } @@ -1035,7 +1035,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); } @@ -1173,7 +1173,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); }; @@ -1560,10 +1560,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, @@ -1802,6 +1803,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) {