diff --git a/plugins/extensions/pykrita/plugin/plugins/lastdocumentsdocker/lastdocumentslistmodel.py b/plugins/extensions/pykrita/plugin/plugins/lastdocumentsdocker/lastdocumentslistmodel.py --- a/plugins/extensions/pykrita/plugin/plugins/lastdocumentsdocker/lastdocumentslistmodel.py +++ b/plugins/extensions/pykrita/plugin/plugins/lastdocumentsdocker/lastdocumentslistmodel.py @@ -1,5 +1,8 @@ from PyQt5.QtCore import QAbstractListModel, Qt +from PyQt5.QtGui import QImage import krita +import zipfile +from pathlib import Path class LastDocumentsListModel(QAbstractListModel): @@ -18,7 +21,7 @@ if index.row() >= len(self.recentDocuments): return None - if role == Qt.DecorationRole: + if role == Qt.DecorationRole: return self.recentDocuments[index.row()] else: return None @@ -37,8 +40,14 @@ recentDocumentsPaths = self.kritaInstance.recentDocuments() for path in recentDocumentsPaths: - document = self.kritaInstance.openDocument(path) - if document: - self.recentDocuments.append(document.thumbnail(70, 60)) - document.close() + if path: + thumbnail = None + extension = Path(path).suffix + if extension == '.kra': + page = zipfile.ZipFile(path, "r") + thumbnail = QImage.fromData(page.read("preview.png")) + else: + thumbnail = QImage(path) + thumbnail = thumbnail.scaled(200, 150, Qt.KeepAspectRatio) + self.recentDocuments.append(thumbnail) self.modelReset.emit()