=== modified file 'data/glade/cover_prefs_pane.glade' --- data/glade/cover_prefs_pane.glade 2008-10-29 20:10:27 +0000 +++ data/glade/cover_prefs_pane.glade 2009-09-11 11:21:43 +0000 @@ -1,7 +1,7 @@ - - - + + + @@ -19,9 +19,9 @@ True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_ETCHED_IN + automatic + automatic + etched-in True @@ -30,6 +30,9 @@ + + 0 + @@ -49,27 +52,6 @@ - - - - - - - - - - - - - - - - - - - - - True @@ -81,6 +63,7 @@ False False + 0 @@ -93,9 +76,41 @@ + + + Automatically fetch album cover on playback start + True + True + False + True + True + + + 2 + 1 + 2 + 11 + + + + + + + + + + + + + + + + + False + 0 === modified file 'xlgui/cover.py' --- xlgui/cover.py 2009-09-07 19:17:34 +0000 +++ xlgui/cover.py 2009-09-12 00:43:49 +0000 @@ -463,13 +463,27 @@ self.emit('cover-found', nocover) gobject.idle_add(self.image.set_image, xdg.get_data_path('images/nocover.png')) - try: - cov = self.covers.get_cover(self.current_track, - update_track=True) - except cover.NoCoverFoundException: - logger.warning("No covers found") - gobject.idle_add(self.image.set_image, xdg.get_data_path('images/nocover.png')) - return + if (settings.get_option('covers/automatic_fetching', True)): + try: + cov = self.covers.get_cover(self.current_track, + update_track=True) + except cover.NoCoverFoundException: + logger.warning("No covers found") + gobject.idle_add(self.image.set_image, xdg.get_data_path('images/nocover.png')) + return + else: + try: + item = track.get_album_tuple() + if item[0] and item[1]: + cov = self.coverdb.get_cover(item[0], item[1]) + except TypeError: # one of the fields is missing + pass + except AttributeError: + pass + + if not cov: + gobject.idle_add(self.image.set_image, xdg.get_data_path('images/nocover.png')) + return if self.player.current == self.current_track: self.image.loc = cov