def _onNameFiltersChanged(self, nameFilt): self.browser.setFilter(nameFilt) if isinstance(nameFilt, str): nameFilt = [nameFilt] for a in self.recentSeqs: if a.isVisible(): m = QDir.match(nameFilt, Path(a.data()).name) a.setEnabled(m)
def setSequence(self, filename): """ Proxy function, checks whether filename matches the filter's name filter list and takes control if necessary. :param filename: a string instance or None """ if filename is not None and not QDir.match(self._nameFilters, pathlib.Path(filename).name): filename = None self._controlsFile = filename is not None self._setSequence.emit(filename)
def setSequenceWrapper(filename): assertMainThread() if Application.activeApplication is None: return if Application.activeApplication.getState() not in [FilterState.ACTIVE, FilterState.OPENED]: return if QDir.match(nameFilters, pathlib.Path(filename).name): logger.debug("setSequence %s", filename) if Application.activeApplication.getState() == FilterState.ACTIVE: Application.activeApplication.stop() MethodInvoker(dict(object=playbackDevice, method="setSequence"), Qt.QueuedConnection, filename) Application.activeApplication.start() logger.debug("setSequence done") else: logger.debug("%s does not match filters: %s", filename, nameFilters) MethodInvoker(dict(object=playbackDevice, method="setSequence"), Qt.QueuedConnection, None)
def _match(self, path): if path.is_dir(): return True res = QDir.match(self._filter, path.name) return res