[gnome-music/playlists] add the missing renderers
- From: Eslam Mostafa <cseslam src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/playlists] add the missing renderers
- Date: Mon, 17 Jun 2013 14:11:37 +0000 (UTC)
commit 70c6343532b06da048621a09654459db5b3beeee
Author: Eslam Mostafa <me eslammostafa com>
Date: Mon Jun 17 16:11:17 2013 +0200
add the missing renderers
src/widgets.js | 82 ++++++++++++++++++++++++++-----------------------------
1 files changed, 39 insertions(+), 43 deletions(-)
---
diff --git a/src/widgets.js b/src/widgets.js
index 35ea51c..834287f 100644
--- a/src/widgets.js
+++ b/src/widgets.js
@@ -360,31 +360,36 @@ const SongsList = new Lang.Class({
_onItemActivated: function (widget, id, path) {
var iter = this._model.get_iter(path)[1]
if (this._model.get_value(iter, 7) != errorIconName) {
- this.player.setPlaylist(this.playlist, null, this._model, iter, 5);
+ this.player.setPlaylist("Playlist", null, this._model, iter, 5);
this.player.setPlaying(true);
}
},
_addItem: function(source, param, item) {
- this._offset += 1;
if (item == null)
return;
+ log(item.get_duration());
+ this._offset += 1;
var iter = this._model.append();
- var song = "Unknown"
- if (item.get_string(Grl.METADATA_KEY_ARTIST) != null)
- song = item.get_string(Grl.METADATA_KEY_ARTIST)
if ((item.get_title() == null) && (item.get_url() != null)) {
song.set_title (extractFileName(item.get_url()));
}
- this._model.set(iter, [0, 1, 2, 3, 5], [song, song, song, song, item]);
try {
if(item.get_url())
this.player.discoverer.discover_uri(item.get_url());
- this._model.set(iter, [7, 8, 9], [nowPlayingIconName, false, false]);
+ this._model.set(
+ iter,
+ [5, 7, 8, 9],
+ [item, nowPlayingIconName, false, false]
+ );
} catch (err) {
log(err.message);
log("failed to discover url " + item.get_url());
- this._model.set(iter, [7, 8, 9], [errorIconName, false, true]);
+ this._model.set(
+ iter,
+ [5, 7, 8, 9],
+ [item, errorIconName, false, true]
+ );
}
},
@@ -441,6 +446,32 @@ const SongsList = new Lang.Class({
durationRenderer.text = time;
}
}));
+
+ let artistRenderer =
+ new Gd.StyledTextRenderer({ xpad: 32});
+ artistRenderer.add_class('dim-label');
+ 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.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.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.ellipsize = Pango.EllipsizeMode.END;
+ typeRenderer.text = item.get_string(Grl.METADATA_KEY_ALBUM);
+ }
+ }));
+
},
_populate: function() {
@@ -451,41 +482,6 @@ const SongsList = new Lang.Class({
});
-/*const PlaylistSongs = new Lang.Class({
- Name: "PlaylistSongs",
- Extends: Gtk.VBox,
-
- _init: function (playlist, player) {
- this.player = player;
- this.playlist = playlist;
- this.parent();
- this.ui = new Gtk.Builder();
- this.ui.add_from_resource('/org/gnome/music/ArtistAlbumsWidget.ui');
- this.set_border_width(0);
- this.ui.get_object("artist").set_label(this.playlist);
- this.widgets = [];
- this._vbox = new Gtk.VBox();
- this._songsBox = new SongsList(this.playlist);
- this._scrolledWindow = new Gtk.ScrolledWindow();
- this._scrolledWindow.set_policy(
- Gtk.PolicyType.NEVER,
- Gtk.PolicyType.AUTOMATIC
- );
- this._scrolledWindow.add(this._vbox);
- this._vbox.pack_start(this.ui.get_object("ArtistAlbumsWidget"), false, false, 0);
- this._vbox.pack_start(this._songsBox, false, false, 16);
- this.pack_start(this._scrolledWindow, true, true, 0);
-
- this.show_all();
- },
-
- update: function(playlist) {
- this._songsBox = null;
- this._songsBox = new SongsList(playlist);
- },
-
-});*/
-
const ArtistAlbums = new Lang.Class({
Name: "ArtistAlbumsWidget",
Extends: Gtk.VBox,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]