aboutsummaryrefslogtreecommitdiff
path: root/components/image.py
diff options
context:
space:
mode:
Diffstat (limited to 'components/image.py')
-rw-r--r--components/image.py36
1 files changed, 30 insertions, 6 deletions
diff --git a/components/image.py b/components/image.py
index 3176d7c..021bb9e 100644
--- a/components/image.py
+++ b/components/image.py
@@ -7,12 +7,20 @@ class Component(__base__.Component):
'''Image'''
def widget(self, parent):
self.parent = parent
+ self.settings = parent.settings
page = uic.loadUi(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'image.ui'))
+ self.imagePath = ''
+ self.x = 0
+ self.y = 0
+
+ page.lineEdit_image.textChanged.connect(self.update)
+ page.pushButton_image.clicked.connect(self.pickImage)
+
self.page = page
return page
def update(self):
- # read widget values
+ self.imagePath = self.page.lineEdit_image.text()
self.parent.drawPreview()
def previewRender(self, previewWorker):
@@ -26,17 +34,33 @@ 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_image.setText(pr['image'])
def savePreset(self):
- return {}
+ return {
+ 'image' : self.imagePath,
+ }
def cancel(self):
self.canceled = True
def reset(self):
self.canceled = False
+
+ def pickImage(self):
+ imgDir = self.settings.value("backgroundDir", os.path.expanduser("~"))
+ filename = QtGui.QFileDialog.getOpenFileName(self.page,
+ "Choose Image", imgDir, "Image Files (*.jpg *.png)")
+ if filename:
+ self.settings.setValue("backgroundDir", os.path.dirname(filename))
+ self.page.lineEdit_image.setText(filename)
+ self.update()