8239:59a9a658618c | 8240:93b8a353c4bf |
---|---|
11 # SnapWidget and its associated modules are PyQt5 ports of Ksnapshot. | 11 # SnapWidget and its associated modules are PyQt5 ports of Ksnapshot. |
12 # | 12 # |
13 | 13 |
14 import os | 14 import os |
15 import re | 15 import re |
16 import contextlib | |
16 | 17 |
17 from PyQt5.QtCore import ( | 18 from PyQt5.QtCore import ( |
18 pyqtSlot, Qt, QFile, QFileInfo, QTimer, QPoint, QMimeData, QLocale, | 19 pyqtSlot, Qt, QFile, QFileInfo, QTimer, QPoint, QMimeData, QLocale, |
19 QStandardPaths | 20 QStandardPaths |
20 ) | 21 ) |
140 } | 141 } |
141 | 142 |
142 outputFormats = [] | 143 outputFormats = [] |
143 writeFormats = QImageWriter.supportedImageFormats() | 144 writeFormats = QImageWriter.supportedImageFormats() |
144 for writeFormat in writeFormats: | 145 for writeFormat in writeFormats: |
145 try: | 146 with contextlib.suppress(KeyError): |
146 outputFormats.append(filters[bytes(writeFormat).decode()]) | 147 outputFormats.append(filters[bytes(writeFormat).decode()]) |
147 except KeyError: | |
148 pass | |
149 outputFormats.sort() | 148 outputFormats.sort() |
150 self.__outputFilter = ';;'.join(outputFormats) | 149 self.__outputFilter = ';;'.join(outputFormats) |
151 | 150 |
152 self.__defaultFilter = filters['png'] | 151 self.__defaultFilter = filters['png'] |
153 | 152 |