(self)
| 56 | # ── loading ─────────────────────────────────────────────────────────────── |
| 57 | |
| 58 | def _load(self) -> None: |
| 59 | ext = Path(self.file_path).suffix.lower() |
| 60 | w, h = max(1, self.display_width), max(1, self.display_height) |
| 61 | |
| 62 | if ext == ".svg": |
| 63 | from PySide6.QtSvg import QSvgRenderer |
| 64 | renderer = QSvgRenderer(self.file_path) |
| 65 | if renderer.isValid(): |
| 66 | self._renderer = renderer |
| 67 | self._pixmap = None |
| 68 | return |
| 69 | self._renderer = None |
| 70 | self._pixmap = self._placeholder(w, h) |
| 71 | elif ext == ".pdf": |
| 72 | self._renderer = None |
| 73 | self._pixmap = self._load_pdf(w, h) |
| 74 | else: |
| 75 | px = QPixmap(self.file_path) |
| 76 | if px.isNull(): |
| 77 | px = self._placeholder(w, h) |
| 78 | else: |
| 79 | px = px.scaled(w, h, Qt.KeepAspectRatio, Qt.SmoothTransformation) |
| 80 | self._renderer = None |
| 81 | self._pixmap = px |
| 82 | |
| 83 | def _load_pdf(self, w: int, h: int) -> QPixmap: |
| 84 | try: |
no test coverage detected