示例#1
0
    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))