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
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()
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)
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)
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)