def toggle_selection(self, mode=0): indexes = self.get_selected_indexes() for idx in indexes: path = self.get_path(idx) target = helpers.splitpath_os(path) name = target[1] + target[2] if mode == 0: # Toggle Include/Exclude if target in self.targets: self.fileops.includes.discard(name) self.fileops.excludes.add(name) else: self.fileops.excludes.discard(name) self.fileops.includes.add(name) elif mode == 1: # Include self.fileops.excludes.discard(name) self.fileops.includes.add(name) elif mode == 2: # Exclude self.fileops.includes.discard(name) self.fileops.excludes.add(name) elif mode == 3: # Recursive Include pass elif mode == 4: # Recursive Exclude pass log.debug("includes: {}".format(self.fileops.includes)) log.debug("excludes: {}".format(self.fileops.excludes)) self.update(2) log.debug(self.targets)
def match_preview(self, index, *args): if not self.p.cwdidx: return if not self.p.fileops.recursive and index.parent() != self.p.cwdidx: return path = self.p.get_path(index) target = helpers.splitpath_os(path) if self.p.cwd in target[0] and target in self.p.targets: idx = self.p.targets.index(target) try: if target[1] + target[2] != self.p.previews[idx][1]: return self.p.previews[idx][1] else: return "\\1" # "No changes to the target. except IndexError: pass
def match_preview(self, index, *args): if not self.p.cwdidx: return if not self.p.fileops.recursive and index.parent() != self.p.cwdidx: return target = helpers.splitpath_os(self.p.get_path(index)) if self.p.cwd in target[0] and target in self.p.targets: idx = self.p.targets.index(target) try: # If preview differs from its original name, show the preview. if target[1] + target[2] != self.p.previews[idx][1]: for i in ["utf-8", "latin1"]: try: return self.p.previews[idx][1].decode(i) except UnicodeDecodeError: pass return self.p.previews[idx][1] # Otherwise show "\1" to indicate that nothing changed. else: return "\\1" except IndexError: return "err"