diff --git a/picard/album.py b/picard/album.py index 1a93d6a1b..87b144687 100644 --- a/picard/album.py +++ b/picard/album.py @@ -63,7 +63,6 @@ class Album(DataObject, Item): def __init__(self, id, catalognumber=None): DataObject.__init__(self, id) self.metadata = Metadata() - self.unmatched_files = Cluster(_("Unmatched Files"), special=2) self.tracks = [] self.loaded = False self._files = 0 @@ -71,6 +70,7 @@ class Album(DataObject, Item): self._catalognumber = catalognumber self.current_release_event = None self.release_events = [] + self.unmatched_files = Cluster(_("Unmatched Files"), special=2, related_album=self) def __repr__(self): return '' % (self.id, self.metadata[u"album"]) diff --git a/picard/cluster.py b/picard/cluster.py index 6f7c6a672..104b3ef47 100644 --- a/picard/cluster.py +++ b/picard/cluster.py @@ -29,13 +29,14 @@ from picard.util import format_time class Cluster(QtCore.QObject, Item): - def __init__(self, name, artist="", special=False): + def __init__(self, name, artist="", special=False, related_album=None): QtCore.QObject.__init__(self) self.metadata = Metadata() self.metadata['album'] = name self.metadata['artist'] = artist self.metadata['totaltracks'] = 0 self.special = special + self.related_album = related_album self.files = [] # Weights for different elements when comparing a cluster to a release diff --git a/picard/ui/itemviews.py b/picard/ui/itemviews.py index ea04aac8e..fbb12a98a 100644 --- a/picard/ui/itemviews.py +++ b/picard/ui/itemviews.py @@ -200,6 +200,9 @@ class MainPanel(QtGui.QSplitter): return for i, column in enumerate(self.columns): item.setText(i, cluster.column(column[1])) + album = cluster.related_album + if cluster.special == 2 and album and album.loaded: + self.views[1].update_album(album, update_tracks=False) def add_file_to_cluster(self, cluster, file): try: