예제 #1
0
 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)
예제 #2
0
    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)
예제 #3
0
 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)
예제 #4
0
 def _match(self, path):
     if path.is_dir():
         return True
     res = QDir.match(self._filter, path.name)
     return res