[gnome-music] Don't use g_object_set_property() manually



commit daf8bd6e114c0d5b73e9deee99ac44b20863ab19
Author: Giovanni Campagna <gcampagna src gnome org>
Date:   Sun May 19 19:21:49 2013 +0200

    Don't use g_object_set_property() manually
    
    In gjs, GObject properties are exposed as JS properties, and not
    only using them is part of the style guide, it is also more correct
    because set_property() converts the JS value without the GParamSpec
    type information, which can then break.
    
    In general, the style conventions mandate avoiding setter methods
    when GObject properties exist, but the diff would be huge at this
    point.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=700648
    
    Signed-off-by: Seif Lotfy <seif lotfy com>

 src/player.js  |    4 ++--
 src/view.js    |   34 ++++++++++++++++++----------------
 src/widgets.js |   15 ++++++++-------
 3 files changed, 28 insertions(+), 25 deletions(-)
---
diff --git a/src/player.js b/src/player.js
index 0eb700a..e3f5839 100644
--- a/src/player.js
+++ b/src/player.js
@@ -96,7 +96,7 @@ const Player = new Lang.Class({
         // Set URI earlier - this will enable gapless playback
         this.player.connect("about-to-finish", Lang.bind(this, function(player) {
             if(player.nextUrl != null) {
-                player.set_property('uri', player.nextUrl);
+                player.uri = player.nextUrl;
             }
             return true;
         }));
@@ -173,7 +173,7 @@ const Player = new Lang.Class({
             this.artistLabel.set_label("Unknown artist");
         }
 
-        this.player.set_property("uri", media.get_url());
+        this.player.uri = media.get_url();
 
         // Store next available url
         let nextTrack = this.currentTrack.copy();
diff --git a/src/view.js b/src/view.js
index ff76115..ee7c68b 100644
--- a/src/view.js
+++ b/src/view.js
@@ -29,6 +29,7 @@ const Gd = imports.gi.Gd;
 const Gio = imports.gi.Gio;
 const GLib = imports.gi.GLib;
 const Grl = imports.gi.Grl;
+const Pango = imports.gi.Pango;
 const Tracker = imports.gi.Tracker;
 const Signals = imports.signals;
 const Application = imports.application;
@@ -430,9 +431,9 @@ const Songs = new Lang.Class({
         cells[2].visible = false;
         let nowPlayingSymbolRenderer = new Gtk.CellRendererPixbuf();
         var columnNowPlaying = new Gtk.TreeViewColumn();
-        nowPlayingSymbolRenderer.set_property("xalign", 1.0);
+        nowPlayingSymbolRenderer.xalign = 1.0;
         columnNowPlaying.pack_start(nowPlayingSymbolRenderer, false);
-        columnNowPlaying.set_property('fixed-width', 24);
+        columnNowPlaying.fixed_width = 24;
         columnNowPlaying.add_attribute(nowPlayingSymbolRenderer, "visible", 6);
         columnNowPlaying.add_attribute(nowPlayingSymbolRenderer, "icon_name", 7);
         listWidget.insert_column(columnNowPlaying, 0);
@@ -440,10 +441,10 @@ const Songs = new Lang.Class({
         let titleRenderer = new Gtk.CellRendererText({ xpad: 0 });
         listWidget.add_renderer(titleRenderer,Lang.bind(this,function (col,cell,model,iter) {
             let item = model.get_value(iter,5);
-            titleRenderer.set_property("xalign",0.0);
-            titleRenderer.set_property("yalign", 0.5);
-            titleRenderer.set_property("height", 48);
-            titleRenderer.set_property("ellipsize", 3);
+            titleRenderer.xalign = 0.0;
+            titleRenderer.yalign = 0.5;
+            titleRenderer.height = 48;
+            titleRenderer.ellipsize = Pango.EllipsizeMode.END;
             titleRenderer.text = item.get_title();
         }))
         let starRenderer = new Gtk.CellRendererPixbuf({xpad: 32});
@@ -456,6 +457,7 @@ const Songs = new Lang.Class({
             else
             starRenderer.pixbuf = null;
         }))
+
         let durationRenderer =
             new Gd.StyledTextRenderer({ xpad: 32 });
         durationRenderer.add_class('dim-label');
@@ -471,7 +473,7 @@ const Songs = new Lang.Class({
                         time =  minutes + ":0" + seconds;
                     else
                         time = minutes + ":" + seconds;
-                    durationRenderer.set_property("xalign", 1.0);
+                    durationRenderer.xalign = 1.0;
                     durationRenderer.text = time;
                 }
             }));
@@ -479,24 +481,24 @@ const Songs = new Lang.Class({
         let artistRenderer =
             new Gd.StyledTextRenderer({ xpad: 32});
         artistRenderer.add_class('dim-label');
-        artistRenderer.set_property("ellipsize", 3);
+        artistRenderer.ellipsize = Pango.EllipsizeMode.END;
         listWidget.add_renderer(artistRenderer, Lang.bind(this,
             function(col, cell, model, iter) {
                 let item = model.get_value(iter, 5);
                 if (item) {
-                    artistRenderer.set_property("ellipsize", 3);
+                    artistRenderer.ellipsize = Pango.EllipsizeMode.END;
                     artistRenderer.text = item.get_string(Grl.METADATA_KEY_ARTIST);
                 }
             }));
         let typeRenderer =
             new Gd.StyledTextRenderer({ xpad: 32});
         typeRenderer.add_class('dim-label');
-        typeRenderer.set_property("ellipsize", 3);
+        typeRenderer.ellipsize = Pango.EllipsizeMode.END;
         listWidget.add_renderer(typeRenderer, Lang.bind(this,
             function(col, cell, model, iter) {
                 let item = model.get_value(iter, 5);
                 if (item) {
-                    typeRenderer.set_property("ellipsize", 3);
+                    typeRenderer.ellipsize = Pango.EllipsizeMode.END;
                     typeRenderer.text = item.get_string(Grl.METADATA_KEY_ALBUM);
                 }
             }));
@@ -570,11 +572,11 @@ const Artists = new Lang.Class({
 
         let typeRenderer =
             new Gd.StyledTextRenderer({ xpad: 0 });
-        typeRenderer.set_property("ellipsize", 3);
-        typeRenderer.set_property("xalign", 0.0);
-        typeRenderer.set_property("yalign", 0.5);
-        typeRenderer.set_property("height", 48);
-        typeRenderer.set_property("width",220);
+        typeRenderer.ellipsize = 3;
+        typeRenderer.xalign = 0.0;
+        typeRenderer.yalign = 0.5;
+        typeRenderer.height = 48;
+        typeRenderer.width = 220;
         listWidget.add_renderer(typeRenderer, Lang.bind(this,
             function(col, cell, model, iter) {
                 typeRenderer.text = model.get_value(iter, 0);
diff --git a/src/widgets.js b/src/widgets.js
index e0ff3d6..cdc4d6f 100644
--- a/src/widgets.js
+++ b/src/widgets.js
@@ -26,6 +26,7 @@ const GLib = imports.gi.GLib;
 const GObject = imports.gi.GObject;
 const Lang = imports.lang;
 const Grl = imports.gi.Grl;
+const Pango = imports.gi.Pango;
 const Query = imports.query;
 const Grilo = imports.grilo;
 const Signals = imports.signals;
@@ -112,18 +113,18 @@ const AlbumWidget = new Lang.Class({
         let nowPlayingSymbolRenderer = new Gtk.CellRendererPixbuf({ xpad: 0 });
 
         var columnNowPlaying = new Gtk.TreeViewColumn();
-        nowPlayingSymbolRenderer.set_property("xalign", 1.0);
-        nowPlayingSymbolRenderer.set_property("yalign", 0.6);
+        nowPlayingSymbolRenderer.xalign = 1.0;
+        nowPlayingSymbolRenderer.yalign = 0.6;
         columnNowPlaying.pack_start(nowPlayingSymbolRenderer, false);
-        columnNowPlaying.set_property('fixed-width', 24);
+        columnNowPlaying.fixed_width = 24;
         columnNowPlaying.add_attribute(nowPlayingSymbolRenderer, "visible", 6);
         columnNowPlaying.add_attribute(nowPlayingSymbolRenderer, "icon_name", 7);
         listWidget.insert_column(columnNowPlaying, 0);
 
         let typeRenderer =
             new Gd.StyledTextRenderer({ xpad: 16 });
-        typeRenderer.set_property("ellipsize", 3);
-        typeRenderer.set_property("xalign", 0.0);
+        typeRenderer.ellipsize = Pango.EllipsizeMode.END;
+        typeRenderer.xalign = 0.0;
         // This function is not needed, just add the renderer!
         listWidget.add_renderer(typeRenderer, Lang.bind(this,
             function(col, cell, model, iter) {}
@@ -133,8 +134,8 @@ const AlbumWidget = new Lang.Class({
 
         let durationRenderer = new Gd.StyledTextRenderer({ xpad: 16 });
         durationRenderer.add_class('dim-label');
-        durationRenderer.set_property("ellipsize", 3);
-        durationRenderer.set_property("xalign", 1.0);
+        durationRenderer.ellipsize = Pango.EllipsizeMode.END;
+        durationRenderer.xalign = 1.0;
         listWidget.add_renderer(durationRenderer, Lang.bind(this,
             function(col, cell, model, iter) {
                 let item = model.get_value(iter, 5);


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