def add_thumb_bytes(self, result): bytes_, wrapper = result img = QImage() img.loadFromData(bytes_) icon = QIcon(QPixmap.fromImage(img)) name = wrapper.getName() if len(name) > 18: name = name[:15] + "..." item = QListWidgetItem(icon, name) item.setTextAlignment(Qt.AlignHCenter | Qt.AlignBottom) item.wrapper = wrapper self._item_map[wrapper.getId()] = item self.addItem(item) if self._current_item.isImage(): self.select_image()
def select_files(self): dial = QFileDialog(self, "Select files") dial.setDirectory( self.settings.get( "io.batch_directory", self.settings.get("io.load_image_directory", str(Path.home())))) dial.setFileMode(QFileDialog.ExistingFiles) if dial.exec_(): self.settings.set("io.batch_directory", os.path.dirname(str(dial.selectedFiles()[0]))) new_paths = sorted( set(map(str, dial.selectedFiles())) - self.files_to_proceed) for path in new_paths: size = os.stat(path).st_size size = float(size) / (1024**2) lwi = QListWidgetItem("{:s} ({:.2f} MB)".format(path, size)) lwi.setTextAlignment(Qt.AlignRight) self.selected_files.addItem(lwi) self.files_to_proceed.update(new_paths) self.file_list_changed.emit(self.files_to_proceed)
def find_all(self): paths = glob(str(self.paths.text())) paths = sorted([ x for x in (set(paths) - self.files_to_proceed) if not os.path.isdir(x) ]) if len(paths) > 0: dialog = AcceptFiles(paths) if dialog.exec_(): new_paths = dialog.get_files() for path in new_paths: size = os.stat(path).st_size size = float(size) / (1024**2) lwi = QListWidgetItem("{:s} ({:.2f} MB)".format( path, size)) lwi.setTextAlignment(Qt.AlignRight) self.selected_files.addItem(lwi) self.files_to_proceed.update(new_paths) self.file_list_changed.emit(self.files_to_proceed) else: QMessageBox.warning(self, "No new files", "No new files found", QMessageBox.Ok)