[gnome-shell] Wanda: so long GNOME 2, and thanks for all the fish.



commit 7766a91e8c030ed91dc360993a807ac8e31f21f8
Author: Giovanni Campagna <gcampagna src gnome org>
Date:   Sun Mar 10 00:26:02 2013 +0100

    Wanda: so long GNOME 2, and thanks for all the fish.
    
    gnome-panel is going away in 3.8, so we can't rely on it to provide our
    friendly and reliable companion. But no regret, because we can ship it
    ourselves, and at the same time remove some unnecessary configuration.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=695526

 data/Makefile.am |    3 +++
 data/wanda.png   |  Bin 0 -> 13683 bytes
 js/ui/wanda.js   |   33 +++++++++------------------------
 3 files changed, 12 insertions(+), 24 deletions(-)
---
diff --git a/data/Makefile.am b/data/Makefile.am
index ef3b3b4..f555d9a 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,3 +1,6 @@
+wandadir = $(pkgdatadir)
+dist_wanda_DATA = wanda.png
+
 desktopdir=$(datadir)/applications
 desktop_DATA = gnome-shell.desktop gnome-shell-extension-prefs.desktop
 
diff --git a/data/wanda.png b/data/wanda.png
new file mode 100644
index 0000000..d56a4d4
Binary files /dev/null and b/data/wanda.png differ
diff --git a/js/ui/wanda.js b/js/ui/wanda.js
index 98b964c..3d5d568 100644
--- a/js/ui/wanda.js
+++ b/js/ui/wanda.js
@@ -11,12 +11,14 @@ const Layout = imports.ui.layout;
 const Main = imports.ui.main;
 const Panel = imports.ui.panel;
 
-// we could make these gsettings
 const FISH_NAME = 'wanda';
+const FISH_FILENAME = 'wanda.png';
 const FISH_SPEED = 300;
 const FISH_COMMAND = 'fortune';
+// The size of an individual frame in the animation
+const FISH_HEIGHT = 22;
+const FISH_WIDTH = 36;
 
-const GNOME_PANEL_PIXMAPDIR = '../gnome-panel/fish';
 const FISH_GROUP = 'Fish Animation';
 
 const MAGIC_FISH_KEY = 'free the fish';
@@ -26,33 +28,16 @@ const WandaIcon = new Lang.Class({
     Extends: IconGrid.BaseIcon,
 
     _init : function(fish, label, params) {
-        this._fish = fish;
-        let file = GLib.build_filenamev([global.datadir, GNOME_PANEL_PIXMAPDIR, fish + '.fish']);
-
-        if (GLib.file_test(file, GLib.FileTest.EXISTS)) {
-            this._keyfile = new GLib.KeyFile();
-            this._keyfile.load_from_file(file, GLib.KeyFileFlags.NONE);
-
-            this._imageFile = GLib.build_filenamev([global.datadir, GNOME_PANEL_PIXMAPDIR,
-                                                    this._keyfile.get_string(FISH_GROUP, 'image')]);
-
-            let tmpPixbuf = GdkPixbuf.Pixbuf.new_from_file(this._imageFile);
+        this.parent(label, params);
 
-            this._imgHeight = tmpPixbuf.height;
-            this._imgWidth = tmpPixbuf.width / this._keyfile.get_integer(FISH_GROUP, 'frames');
-        } else {
-            this._imageFile = null;
-        }
+        this._fish = fish;
+        this._imageFile = GLib.build_filenamev([global.datadir, fish + '.png']);
 
-        this.parent(label, params);
+        this._imgHeight = FISH_HEIGHT;
+        this._imgWidth = FISH_WIDTH;
     },
 
     createIcon: function(iconSize) {
-        if (!this._imageFile) {
-            return new St.Icon({ icon_name: 'face-smile',
-                                 icon_size: iconSize });
-        }
-
         this._animations = new Panel.Animation(this._imageFile, this._imgWidth, this._imgHeight, FISH_SPEED);
         this._animations.play();
         return this._animations.actor;


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