aboutsummaryrefslogtreecommitdiff
path: root/src/preview_thread.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/preview_thread.py')
-rw-r--r--src/preview_thread.py25
1 files changed, 9 insertions, 16 deletions
diff --git a/src/preview_thread.py b/src/preview_thread.py
index 6c33aff..0a6a856 100644
--- a/src/preview_thread.py
+++ b/src/preview_thread.py
@@ -9,27 +9,29 @@ from PIL.ImageQt import ImageQt
from queue import Queue, Empty
import os
-from frame import Checkerboard
+from toolkit.frame import Checkerboard
+from toolkit import disableWhenOpeningProject
class Worker(QtCore.QObject):
imageCreated = pyqtSignal(QtGui.QImage)
- error = pyqtSignal()
+ error = pyqtSignal(str)
def __init__(self, parent=None, queue=None):
QtCore.QObject.__init__(self)
parent.newTask.connect(self.createPreviewImage)
parent.processTask.connect(self.process)
self.parent = parent
- self.core = self.parent.core
- self.settings = self.parent.core.settings
+ self.core = parent.core
+ self.settings = parent.settings
self.queue = queue
width = int(self.settings.value('outputWidth'))
height = int(self.settings.value('outputHeight'))
self.background = Checkerboard(width, height)
+ @disableWhenOpeningProject
@pyqtSlot(list)
def createPreviewImage(self, components):
dic = {
@@ -48,7 +50,6 @@ class Worker(QtCore.QObject):
self.queue.get(block=False)
except Empty:
continue
-
if self.background.width != width \
or self.background.height != height:
self.background = Checkerboard(width, height)
@@ -58,27 +59,19 @@ class Worker(QtCore.QObject):
components = nextPreviewInformation["components"]
for component in reversed(components):
try:
- newFrame = component.previewRender(self)
+ newFrame = component.previewRender()
frame = Image.alpha_composite(
frame, newFrame
)
except ValueError as e:
errMsg = "Bad frame returned by %s's preview renderer. " \
- "%s. New frame size was %s*%s; should be %s*%s. " \
- "This is a fatal error." % (
+ "%s. New frame size was %s*%s; should be %s*%s." % (
str(component), str(e).capitalize(),
newFrame.width, newFrame.height,
width, height
)
- print(errMsg)
- self.parent.showMessage(
- msg=errMsg,
- detail=str(e),
- icon='Warning',
- parent=None # MainWindow is in a different thread
- )
- self.error.emit()
+ self.error.emit(errMsg)
break
except RuntimeError as e:
print(e)