[gnome-shell/gnome-3-14] Move style updates in AppIcon._onStateChanged out



commit dcd3945bb7c45dd41f00448ecb32633c0b1860b4
Author: Yuki <yuuki k osada gmail com>
Date:   Sat Nov 1 22:24:03 2014 +0800

    Move style updates in AppIcon._onStateChanged out
    
    There is currently no simple way to inject into AppIcon's state change,
    so an extension that wants to do this has to destroy/remove/update all
    icons in the Shell (i.e. in the Dash, AllView, FrequentView) on enable()
    and disable() after updating AppIcon.prototype._onStateChange, or the
    extension must require a restart of the Shell.
    
    To solve this issue, we rename _onStateChanged to _updateRunningStyle,
    and connect the notify::state signal with an anonymous function that
    calls _updateRunningStyle.
    This extra function call should allow extensions to just extend the
    updateRunningStyle function in the prototype.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=739497

 js/ui/appDisplay.js |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 1e94015..4a12698 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -1564,10 +1564,11 @@ const AppIcon = new Lang.Class({
         this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
 
         this._menuTimeoutId = 0;
-        this._stateChangedId = this.app.connect('notify::state',
-                                                Lang.bind(this,
-                                                          this._onStateChanged));
-        this._onStateChanged();
+        this._stateChangedId = this.app.connect('notify::state', Lang.bind(this,
+            function () {
+                this._updateRunningStyle();
+            }));
+        this._updateRunningStyle();
     },
 
     _onDestroy: function() {
@@ -1588,7 +1589,7 @@ const AppIcon = new Lang.Class({
         }
     },
 
-    _onStateChanged: function() {
+    _updateRunningStyle: function() {
         if (this.app.state != Shell.AppState.STOPPED)
             this.actor.add_style_class_name('running');
         else


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