[gnome-music] Fix duplications



commit f583b4294ab572caeb1f8d9284b1ef1560a8b123
Author: Seif Lotfy <seif lotfy com>
Date:   Mon Apr 22 11:32:35 2013 +0200

    Fix duplications

 src/widgets.js | 40 ++++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)
---
diff --git a/src/widgets.js b/src/widgets.js
index cef980d..a5c8847 100644
--- a/src/widgets.js
+++ b/src/widgets.js
@@ -302,28 +302,32 @@ const ArtistAlbumWidget = new Lang.Class({
                 track.origin = this;
             }
             else {
+                var titles = []
                 for (var i=0; i<this.tracks.length; i++) {
                     track = this.tracks[i];
-                    var ui = new Gtk.Builder();
-                    ui.add_from_resource('/org/gnome/music/TrackWidget.ui');
-                    var songWidget = ui.get_object("box1");
-                    this.songs.push(songWidget);
-                    ui.get_object("num").set_text(this.songs.length.toString());
-                    if (track.get_title() != null)
-                        ui.get_object("title").set_text(track.get_title());
-                    //var songWidget = ui.get_object("duration").set_text(track.get_title());
-                    ui.get_object("title").set_alignment(0.0, 0.5);
-                    if (this.songs.length == 1) {
-                        this.ui.get_object("grid1").add(songWidget);
-                    }
-                    else {
-                        var i = this.songs.length - 1;
-                        this.ui.get_object("grid1").attach(songWidget,
-                            parseInt(i/(this.tracks.length/2)),
-                            parseInt((i)%(this.tracks.length/2)), 1, 1)
+                    if (titles.indexOf(track.get_title()) == -1) {
+                        titles.push(track.get_title())
+                        var ui = new Gtk.Builder();
+                        ui.add_from_resource('/org/gnome/music/TrackWidget.ui');
+                        var songWidget = ui.get_object("box1");
+                        this.songs.push(songWidget);
+                        ui.get_object("num").set_text(this.songs.length.toString());
+                        if (track.get_title() != null)
+                            ui.get_object("title").set_text(track.get_title());
+                        //var songWidget = ui.get_object("duration").set_text(track.get_title());
+                        ui.get_object("title").set_alignment(0.0, 0.5);
+                        if (this.songs.length == 1) {
+                            this.ui.get_object("grid1").add(songWidget);
+                        }
+                        else {
+                            var i = this.songs.length - 1;
+                            this.ui.get_object("grid1").attach(songWidget,
+                                parseInt(i/(this.tracks.length/2)),
+                                parseInt((i)%(this.tracks.length/2)), 1, 1)
+                        }
+                        this.ui.get_object("grid1").show_all();
                     }
                 }
-                this.ui.get_object("grid1").show_all();
             }
         }));
 


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