mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-22 05:39:37 +08:00
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from PyQt5.QtGui import QImage
|
|
from PyQt5.QtQuick import QQuickImageProvider
|
|
from PyQt5.QtCore import QSize
|
|
|
|
from UM.Application import Application
|
|
from typing import Tuple
|
|
|
|
|
|
class PrintJobPreviewImageProvider(QQuickImageProvider):
|
|
def __init__(self):
|
|
super().__init__(QQuickImageProvider.Image)
|
|
|
|
## Request a new image.
|
|
def requestImage(self, id: str, size: QSize) -> Tuple[QImage, QSize]:
|
|
# The id will have an uuid and an increment separated by a slash. As we don't care about the value of the
|
|
# increment, we need to strip that first.
|
|
uuid = id[id.find("/") + 1:]
|
|
for output_device in Application.getInstance().getOutputDeviceManager().getOutputDevices():
|
|
if not hasattr(output_device, "printJobs"):
|
|
continue
|
|
|
|
for print_job in output_device.printJobs:
|
|
if print_job.key == uuid:
|
|
if print_job.getPreviewImage():
|
|
return print_job.getPreviewImage(), QSize(15, 15)
|
|
|
|
return QImage(), QSize(15, 15)
|
|
return QImage(), QSize(15, 15) |