def __init__(self, parent, collection): """ Initializes the window """ GObject.GObject.__init__(self) # List of identifiers of albums without covers self.outstanding = [] # Map of album identifiers and their tracks self.album_tracks = {} self.outstanding_text = _('{outstanding} covers left to fetch') self.completed_text = _('All covers fetched') self.cover_size = (90, 90) self.default_cover_pixbuf = pixbuf_from_data( COVER_MANAGER.get_default_cover(), self.cover_size ) builder = Gtk.Builder() builder.add_from_file(xdg.get_data_path('ui', 'covermanager.ui')) builder.connect_signals(self) self.window = builder.get_object('window') self.window.set_transient_for(parent) self.message = dialogs.MessageBar( parent=builder.get_object('content_area'), buttons=Gtk.ButtonsType.CLOSE ) self.previews_box = builder.get_object('previews_box') self.model = builder.get_object('covers_model') # Map of album identifiers and model paths self.model_path_cache = {} self.menu = CoverMenu(self) self.menu.attach_to_widget(self.previews_box, lambda menu, widget: True) self.progress_bar = builder.get_object('progressbar') self.progress_bar.set_text(_('Collecting albums and covers...')) self.progress_bar.pulse_timeout = GLib.timeout_add( 100, self.on_progress_pulse_timeout ) self.close_button = builder.get_object('close_button') self.stop_button = builder.get_object('stop_button') self.stop_button.set_sensitive(False) self.fetch_button = builder.get_object('fetch_button') self.window.show_all() self.stopper = threading.Event() thread = threading.Thread( target=self.prefetch, name='CoverPrefetch', args=(collection,) ) thread.daemon = True thread.start()
def set_blank(self): """ Sets the default cover to display """ self.drag_dest_unset() pixbuf = pixbuf_from_data(COVER_MANAGER.get_default_cover()) self.image.set_from_pixbuf(pixbuf) self.set_drag_source_enabled(False) self.cover_data = None self.emit('cover-found', None)
def set_blank(self): """ Sets the default cover to display """ self.drag_dest_unset() pixbuf = icons.MANAGER.pixbuf_from_data(COVER_MANAGER.get_default_cover()) self.image.set_from_pixbuf(pixbuf) self.set_drag_source_enabled(False) self.cover_data = None self.emit("cover-found", None)
def __init__(self, parent, collection): """ Initializes the window """ GObject.GObject.__init__(self) # List of identifiers of albums without covers self.outstanding = [] # Map of album identifiers and their tracks self.album_tracks = {} self.outstanding_text = _('{outstanding} covers left to fetch') self.completed_text = _('All covers fetched') self.cover_size = (90, 90) self.default_cover_pixbuf = icons.MANAGER.pixbuf_from_data( COVER_MANAGER.get_default_cover(), self.cover_size) builder = Gtk.Builder() builder.add_from_file(xdg.get_data_path('ui', 'covermanager.ui')) builder.connect_signals(self) self.window = builder.get_object('window') self.window.set_transient_for(parent) self.message = dialogs.MessageBar( parent=builder.get_object('content_area'), buttons=Gtk.ButtonsType.CLOSE ) self.previews_box = builder.get_object('previews_box') self.model = builder.get_object('covers_model') # Map of album identifiers and model paths self.model_path_cache = {} self.menu = CoverMenu(self) self.menu.attach_to_widget(self.previews_box, lambda menu, widget: True) self.progress_bar = builder.get_object('progressbar') self.progress_bar.set_text(_('Collecting albums and covers...')) self.progress_bar.pulse_timeout = \ GLib.timeout_add(100, self.on_progress_pulse_timeout) self.close_button = builder.get_object('close_button') self.stop_button = builder.get_object('stop_button') self.stop_button.set_sensitive(False) self.fetch_button = builder.get_object('fetch_button') self.window.show_all() self.stopper = threading.Event() thread = threading.Thread(target=self.prefetch, name='CoverPrefetch', args=(collection,)) thread.daemon = True thread.start()