From 356e4c096714facc5534788a6640fc2c5469bd1f Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Sun, 28 Aug 2011 09:35:13 -0400 Subject: [PATCH] overview: make dash private The dash object is currently exposed as a public object. It's only used outside of the overview for the dash object's iconSize property though. This commit makes the dash object private and proxies the dash iconSize property to the overview. https://bugzilla.gnome.org/show_bug.cgi?id=657082 --- js/ui/appDisplay.js | 2 +- js/ui/dash.js | 1 + js/ui/overview.js | 19 ++++++++++++------- js/ui/searchDisplay.js | 2 +- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index acaa77526..1a6e28aef 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -608,7 +608,7 @@ AppWellIcon.prototype = { }, getDragActor: function() { - return this.app.create_icon_texture(Main.overview.dash.iconSize); + return this.app.create_icon_texture(Main.overview.dashIconSize); }, // Returns the original actor that should align with the actor diff --git a/js/ui/dash.js b/js/ui/dash.js index f2c652c61..77d4eb4a0 100644 --- a/js/ui/dash.js +++ b/js/ui/dash.js @@ -437,6 +437,7 @@ Dash.prototype = { let oldIconSize = this.iconSize; this.iconSize = newIconSize; + this.emit('icon-size-changed'); let scale = oldIconSize / newIconSize; for (let i = 0; i < iconChildren.length; i++) { diff --git a/js/ui/overview.js b/js/ui/overview.js index 4f3d1025a..4cba62a10 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -193,14 +193,19 @@ Overview.prototype = { this._viewSelector.addSearchProvider(new DocDisplay.DocSearchProvider()); // TODO - recalculate everything when desktop size changes - this.dash = new Dash.Dash(); - this._group.add_actor(this.dash.actor); - this.dash.actor.add_constraint(this._viewSelector.constrainY); - this.dash.actor.add_constraint(this._viewSelector.constrainHeight); + this._dash = new Dash.Dash(); + this._group.add_actor(this._dash.actor); + this._dash.actor.add_constraint(this._viewSelector.constrainY); + this._dash.actor.add_constraint(this._viewSelector.constrainHeight); + this.dashIconSize = this._dash.iconSize; + this._dash.connect('icon-size-changed', + Lang.bind(this, function() { + this.dashIconSize = this._dash.iconSize; + })); // Translators: this is the name of the dock/favorites area on // the left of the overview - Main.ctrlAltTabManager.addGroup(this.dash.actor, _("Dash"), 'user-bookmarks'); + Main.ctrlAltTabManager.addGroup(this._dash.actor, _("Dash"), 'user-bookmarks'); Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._relayout)); this._relayout(); @@ -467,12 +472,12 @@ Overview.prototype = { // Set the dash's x position - y is handled by a constraint let dashX; if (rtl) { - this.dash.actor.set_anchor_point_from_gravity(Clutter.Gravity.NORTH_EAST); + this._dash.actor.set_anchor_point_from_gravity(Clutter.Gravity.NORTH_EAST); dashX = primary.width; } else { dashX = 0; } - this.dash.actor.set_x(dashX); + this._dash.actor.set_x(dashX); this._viewSelector.actor.set_position(viewX, viewY); this._viewSelector.actor.set_size(viewWidth, viewHeight); diff --git a/js/ui/searchDisplay.js b/js/ui/searchDisplay.js index bdaa59c8d..d1534afb1 100644 --- a/js/ui/searchDisplay.js +++ b/js/ui/searchDisplay.js @@ -88,7 +88,7 @@ SearchResult.prototype = { }, getDragActor: function(stageX, stageY) { - return this.metaInfo['createIcon'](Main.overview.dash.iconSize); + return this.metaInfo['createIcon'](Main.overview.dashIconSize); }, shellWorkspaceLaunch: function(params) {