def __init__(self, parent=None, subfolders=False, status=None): QTreeView.__init__(self, parent) self._load = False # If True a loadFiles signal is emitted when # an index is clicked. See selectionChanged. dirmodel = QDirModel() dirmodel.setSorting(QDir.IgnoreCase) dirmodel.setFilter(QDir.Dirs | QDir.NoDotAndDotDot) dirmodel.setReadOnly(False) dirmodel.setLazyChildCount(False) dirmodel.setResolveSymlinks(False) header = PuddleHeader(Qt.Horizontal, self) self.setHeader(header) self.header().setSectionResizeMode(QHeaderView.ResizeToContents) self.setModel(dirmodel) [self.hideColumn(column) for column in range(1, 4)] self.header().hide() self.subfolders = subfolders self.setSelectionMode(self.ExtendedSelection) self._lastselection = 0 # If > 0 appends files. See selectionChanged self._load = True self.setDragEnabled(False) self.setAcceptDrops(True) self.setDropIndicatorShown(True) self._dropaction = Qt.MoveAction self._threadRunning = False self._select = True self.expanded.connect(lambda discarded: self.resizeColumnToContents(0))