From cfb8e17b6362719ca736997a23a939bec4975e70 Mon Sep 17 00:00:00 2001 From: tassaron Date: Sat, 3 Jun 2017 22:58:40 -0400 Subject: basic image component --- components/video.py | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) (limited to 'components/video.py') diff --git a/components/video.py b/components/video.py index 1365f34..561e40b 100644 --- a/components/video.py +++ b/components/video.py @@ -7,12 +7,20 @@ class Component(__base__.Component): '''Video''' def widget(self, parent): self.parent = parent + self.settings = parent.settings page = uic.loadUi(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'video.ui')) + self.videoPath = '' + self.x = 0 + self.y = 0 + + page.lineEdit_video.textChanged.connect(self.update) + page.pushButton_video.clicked.connect(self.pickVideo) + self.page = page return page def update(self): - # read widget values + self.videoPath = self.page.lineEdit_video.text() self.parent.drawPreview() def previewRender(self, previewWorker): @@ -26,17 +34,35 @@ class Component(__base__.Component): return self.drawFrame(width, height) def drawFrame(self, width, height): - return Image.new("RGBA", (width, height), (0,0,0,255)) + frame = Image.new("RGBA", (width, height), (0,0,0,0)) + ''' + if self.imagePath and os.path.exists(self.imagePath): + image = Image.open(self.imagePath) + if image.size != (width, height): + image = image.resize((width, height), Image.ANTIALIAS) + frame.paste(image) + ''' + return frame - def loadPreset(self, presetDict): - # update widgets using a preset dict - pass + def loadPreset(self, pr): + self.page.lineEdit_video.setText(pr['video']) def savePreset(self): - return {} + return { + 'video' : self.videoPath, + } def cancel(self): self.canceled = True def reset(self): self.canceled = False + + def pickVideo(self): + imgDir = self.settings.value("backgroundDir", os.path.expanduser("~")) + filename = QtGui.QFileDialog.getOpenFileName(self.page, + "Choose Video", imgDir, "Video Files (*.mp4)") + if filename: + self.settings.setValue("backgroundDir", os.path.dirname(filename)) + self.page.lineEdit_video.setText(filename) + self.update() -- cgit v1.2.3