saveable titleFont, xPosition glitches fixed

This commit is contained in:
tassaron 2017-06-01 13:17:36 -04:00
parent 11e5ec0439
commit f55d7d1206
2 changed files with 20 additions and 8 deletions

View File

@ -61,21 +61,29 @@ class Component(__base__.Component):
self.xPosition = self.page.spinBox_xTextAlign.value() self.xPosition = self.page.spinBox_xTextAlign.value()
self.yPosition = self.page.spinBox_yTextAlign.value() self.yPosition = self.page.spinBox_yTextAlign.value()
self.textColor = self.RGBFromString(self.page.lineEdit_textColor.text()) self.textColor = self.RGBFromString(self.page.lineEdit_textColor.text())
self.parent.drawPreview()
def getXY(self):
'''Returns true x, y after considering alignment settings'''
fm = QtGui.QFontMetrics(self.titleFont) fm = QtGui.QFontMetrics(self.titleFont)
if self.alignment == 0: #Left if self.alignment == 0: #Left
self.xPosition = self.xPosition x = self.xPosition
if self.alignment == 1: #Middle if self.alignment == 1: #Middle
self.xPosition = self.xPosition - fm.width(self.title)/2 x = self.xPosition - fm.width(self.title)/2
if self.alignment == 2: #Right if self.alignment == 2: #Right
self.xPosition = self.xPosition - fm.width(self.title) x = self.xPosition - fm.width(self.title)
self.parent.drawPreview() return x, self.yPosition
def loadPreset(self, pr): def loadPreset(self, pr):
self.page.lineEdit_title.setText(pr['title']) self.page.lineEdit_title.setText(pr['title'])
font = QFont(); font.fromString(pr['titleFont'])
self.page.fontComboBox_titleFont.setCurrentFont(font)
self.page.spinBox_fontSize.setValue(pr['fontSize']) self.page.spinBox_fontSize.setValue(pr['fontSize'])
self.page.comboBox_textAlign.setCurrentIndex(pr['alignment'])
self.page.spinBox_xTextAlign.setValue(pr['xPosition']) self.page.spinBox_xTextAlign.setValue(pr['xPosition'])
self.page.spinBox_yTextAlign.setValue(pr['yPosition']) self.page.spinBox_yTextAlign.setValue(pr['yPosition'])
self.page.comboBox_textAlign.setCurrentIndex(pr['alignment'])
self.page.lineEdit_textColor.setText('%s,%s,%s' % pr['textColor']) self.page.lineEdit_textColor.setText('%s,%s,%s' % pr['textColor'])
btnStyle = "QPushButton { background-color : %s; outline: none; }" % QColor(*pr['textColor']).name() btnStyle = "QPushButton { background-color : %s; outline: none; }" % QColor(*pr['textColor']).name()
self.page.pushButton_textColor.setStyleSheet(btnStyle) self.page.pushButton_textColor.setStyleSheet(btnStyle)
@ -83,6 +91,7 @@ class Component(__base__.Component):
def savePreset(self): def savePreset(self):
return { return {
'title' : self.title, 'title' : self.title,
'titleFont' : self.titleFont.toString(),
'alignment' : self.alignment, 'alignment' : self.alignment,
'fontSize' : self.fontSize, 'fontSize' : self.fontSize,
'xPosition' : self.xPosition, 'xPosition' : self.xPosition,
@ -105,6 +114,7 @@ class Component(__base__.Component):
return self.addText(width, height) return self.addText(width, height)
def addText(self, width, height): def addText(self, width, height):
x, y = self.getXY()
im = Image.new("RGBA", (width, height),(0,0,0,0)) im = Image.new("RGBA", (width, height),(0,0,0,0))
image = ImageQt(im) image = ImageQt(im)
@ -112,7 +122,7 @@ class Component(__base__.Component):
self.titleFont.setPixelSize(self.fontSize) self.titleFont.setPixelSize(self.fontSize)
painter.setFont(self.titleFont) painter.setFont(self.titleFont)
painter.setPen(QColor(*self.textColor)) painter.setPen(QColor(*self.textColor))
painter.drawText(self.xPosition, self.yPosition, self.title) painter.drawText(x, y, self.title)
painter.end() painter.end()
buffer = QtCore.QBuffer() buffer = QtCore.QBuffer()

View File

@ -388,12 +388,14 @@ class Main(QtCore.QObject):
if ch != 1024: # 1024 = OK if ch != 1024: # 1024 = OK
return return
# remove old copies of the preset # remove old copies of the preset
for i in range(0, self.windowcomboBox_openPreset.count()): presetLen = self.window.comboBox_openPreset.count()
for i in range(0, presetLen):
if self.window.comboBox_openPreset.itemText(i) == filename: if self.window.comboBox_openPreset.itemText(i) == filename:
self.window.comboBox_openPreset.removeItem(i) self.window.comboBox_openPreset.removeItem(i)
with open(filepath, 'w') as f: with open(filepath, 'w') as f:
f.write('%s' % repr(saveValueStore)) f.write('%s' % repr(saveValueStore))
self.window.comboBox_openPreset.addItem(filename) self.window.comboBox_openPreset.addItem(filename)
self.window.comboBox_openPreset.setCurrentIndex(presetLen-1)
def openPreset(self): def openPreset(self):
if self.window.comboBox_openPreset.currentIndex() < 1: if self.window.comboBox_openPreset.currentIndex() < 1: