[gnome-shell] overview: make dash private



commit 356e4c096714facc5534788a6640fc2c5469bd1f
Author: Ray Strode <rstrode redhat com>
Date:   Sun Aug 28 09:35:13 2011 -0400

    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 acaa775..1a6e28a 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 f2c652c..77d4eb4 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 4f3d102..4cba62a 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 bdaa59c..d1534af 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) {



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