def __init__(self, album): Gtk.FlowBoxChild.__init__(self) self.album = album name = Gtk.Label.new() name.set_markup( f"<span font_weight='bold'>{GLib.markup_escape_text(album.title)}</span>" ) name.set_ellipsize(Pango.EllipsizeMode(3)) name.set_max_width_chars(23) name.set_justify(Gtk.Justification.CENTER) name.show() artistname = Gtk.Label.new(album.artist.name) artistname.set_ellipsize(Pango.EllipsizeMode(3)) artistname.set_max_width_chars(23) artistname.set_justify(Gtk.Justification.CENTER) artistname.show() self.cover = Gtk.Image.new() self.cover.set_from_icon_name("folder-music-symbolic", 180) self.cover.show() box = Gtk.Box.new(Gtk.Orientation(1), 0) box.add(self.cover) box.add(name) box.add(artistname) box.set_halign(Gtk.Align.CENTER) box.set_valign(Gtk.Align.CENTER) box.show() self.add(box) self.show()
def __init__(self,track): Gtk.ListBoxRow.__init__(self) self.track = track title = Gtk.Label.new(self.track.title) title.set_ellipsize(Pango.EllipsizeMode(3)) title.set_max_width_chars(30) title.set_hexpand(True) title.set_xalign(0) title.show() albumname = Gtk.Label.new(self.track.artist.name) albumname.set_ellipsize(Pango.EllipsizeMode(3)) albumname.set_hexpand(True) albumname.set_xalign(0) albumname.show() artistname = Gtk.Label.new(self.track.artist.name) artistname.set_ellipsize(Pango.EllipsizeMode(3)) artistname.set_hexpand(True) artistname.set_xalign(0) artistname.show() min = int(self.track.duration/60) sec = self.track.duration % 60 if sec < 10: sec = "0" + str(sec) self.duration = Gtk.Label.new(str(f"{min}:{sec}")) self.duration.set_width_chars(4) self.duration.show() self.cover = Gtk.Image.new() self.cover.set_from_icon_name("folder-music-symbolic",35) self.cover.show() box_name = Gtk.Box.new(Gtk.Orientation(0),0) box_name.add(title) box_name.add(albumname) box_name.add(artistname) box_name.set_homogeneous(True) box_name.set_hexpand(True) box_name.show() box = Gtk.Box.new(Gtk.Orientation(0),0) box.add(self.cover) box.add(box_name) box.add(self.duration) box.set_spacing(10) box.show() self.add(box) self.show()
def populate_view (self): cellrenderer = Gtk.CellRendererText() cellrenderer.set_property("ellipsize", Pango.EllipsizeMode(3)) column = Gtk.TreeViewColumn(_("Map Name"), cellrenderer,text=self.COL_TITLE) column.set_resizable(True) column.set_expand (True) column.set_sort_column_id (1) self.view.append_column(column) col1 = Gtk.TreeViewColumn (_("Last Modified"), Gtk.CellRendererText(), text=self.COL_MODTIME) col1.set_resizable(True) col1.set_sort_column_id (2) self.view.append_column(col1) self.view.set_model (MapList.get_TreeViewModel()) self.view.set_search_column(self.COL_TITLE) self.view.set_enable_search (True)