예제 #1
0
 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)