예제 #1
0
    def selectionChanged(self, selected, deselected):
        QTreeView.selectionChanged(self, selected, deselected)
        if not self._load:
            self._lastselection = len(self.selectedIndexes())
            return

        getfilename = self.model().filePath
        dirs = list(set([getfilename(i) for
                         i in selected.indexes()]))
        old = list(set([getfilename(i) for
                        i in deselected.indexes()]))
        if self._lastselection:
            if len(old) == self._lastselection:
                append = False
            else:
                append = True
        else:
            append = False
        dirs = list(set(dirs).difference(old))
        if old:
            self.removeFolders.emit(old, False)

        if self.checkPreviews(deselected):
            return
        if dirs:
            self.loadFiles.emit(None, dirs, append)
        self._lastselection = len(self.selectedIndexes())
        self._select = False
예제 #2
0
    def selectionChanged(self, selected=None, deselected=None):
        if selected or deselected:
            QTreeView.selectionChanged(self, selected, deselected)
        model = self.model()
        isTrack = model.isTrack

        items = [index.internalPointer() for index in self.selectedIndexes()]
        if len(items) == 1 and not isTrack(items[0]) \
                and not items[0].hasTracks:
            copytag = items[0].itemData.copy
            tags = self.tagsToWrite
            tracks = [
                strip(copytag(), tags, mapping=self.mapping)
                for z in self._status['selectedrows']
            ]
        else:
            singles = []
            albums = []
            [
                singles.append(item) if isTrack(item) else albums.append(item)
                for item in items
            ]
            tracks = []
            for item in singles:
                if not item.parentItem in albums:
                    tracks.append(item.track())
            [tracks.extend(item.tracks()) for item in albums if item.hasTracks]
            for item in albums:
                if '#extrainfo' in item.itemData:
                    desc, url = item.itemData['#extrainfo']
                    self.infoChanged.emit('<a href="%s">%s</a>' % (url, desc))
                    break
        self.emitTracks(tracks)
        self.itemSelectionChanged.emit()
예제 #3
0
파일: model.py 프로젝트: iluxave/sloth
 def selectionChanged(self, selected, deselected):
     items = [
         self.model().itemFromIndex(index)
         for index in self.selectionModel().selectedIndexes()
     ]
     self.selectedItemsChanged.emit(items)
     QTreeView.selectionChanged(self, selected, deselected)
예제 #4
0
    def selectionChanged(self, selected, deselected):
        """
        Function called by QT when the selection has changed for this treeView.
        Subclassed in order to call a callback function options
        @param selected: list of selected items
        @param deselected: list of deselected items
        print("\033[32;1mselectionChanged selected count = {0} ; deselected count = {1}\033[m".format(selected.count(), deselected.count()))
        """
        QTreeView.selectionChanged(self, selected, deselected)

        if self.selectionChangedcallback and not self.signals_blocked:
            self.selectionChangedcallback(self, selected, deselected)
예제 #5
0
    def selectionChanged(self, selected, deselected):
        """
        Function called by QT when the selection has changed for this treeView.
        Subclassed in order to call a callback function options
        @param selected: list of selected items
        @param deselected: list of deselected items
        print("\033[32;1mselectionChanged selected count = {0} ; deselected count = {1}\033[m".format(selected.count(), deselected.count()))
        """
        QTreeView.selectionChanged(self, selected, deselected)

        if self.selectionChangedcallback and not self.signals_blocked:
            self.selectionChangedcallback(self, selected, deselected)
예제 #6
0
파일: model.py 프로젝트: mlilien/sloth
 def selectionChanged(self, selected, deselected):
     items = [ self.model().itemFromIndex(index) for index in self.selectionModel().selectedIndexes()]
     self.selectedItemsChanged.emit(items)
     QTreeView.selectionChanged(self, selected, deselected)