def __init__(self, library, main): super(FileSystem, self).__init__() sw = ScrolledWindow() sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) sw.set_shadow_type(gtk.SHADOW_IN) folders = filter(None, split_scan_dirs(config.get("settings", "scan"))) dt = DirectoryTree(folders=folders) targets = [("text/x-quodlibet-songs", gtk.TARGET_SAME_APP, 1), ("text/uri-list", 0, 2)] dt.drag_source_set(gtk.gdk.BUTTON1_MASK, targets, gtk.gdk.ACTION_COPY) dt.connect('drag-data-get', self.__drag_data_get) sel = dt.get_selection() sel.unselect_all() sel.connect_object('changed', copool.add, self.__songs_selected, dt) if main: dt.connect('row-activated', lambda *a: self.emit("activated")) sw.add(dt) self.pack_start(sw) self.show_all()